Skip to content
This repository was archived by the owner on Oct 15, 2025. It is now read-only.

Commit 72e1f72

Browse files
committed
Make the Expression $because be empty by default
This will make it easier to use in cases where we can not provide a reason, namely in automatically built rules. The system is already prepared to receive an empty reason, and will not write the "because" word in the output.
1 parent d4017f0 commit 72e1f72

34 files changed

+72
-72
lines changed

src/Expression/Boolean/Andx.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public function __construct(Expression ...$expressions)
2121
$this->expressions = $expressions;
2222
}
2323

24-
public function describe(ClassDescription $theClass, string $because): Description
24+
public function describe(ClassDescription $theClass, string $because = ''): Description
2525
{
2626
$expressionsDescriptions = [];
2727
foreach ($this->expressions as $expression) {
@@ -34,7 +34,7 @@ public function describe(ClassDescription $theClass, string $because): Descripti
3434
return new Description($expressionsDescriptionsString, $because);
3535
}
3636

37-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
37+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
3838
{
3939
foreach ($this->expressions as $expression) {
4040
$newViolations = new Violations();

src/Expression/Boolean/Not.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ public function __construct(Expression $expression)
2121
$this->expression = $expression;
2222
}
2323

24-
public function describe(ClassDescription $theClass, string $because): Description
24+
public function describe(ClassDescription $theClass, string $because = ''): Description
2525
{
2626
return new Description('must NOT ('.$this->expression->describe($theClass, '')->toString().')', $because);
2727
}
2828

29-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
29+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
3030
{
3131
$newViolations = new Violations();
3232
$this->expression->evaluate($theClass, $newViolations, $because);

src/Expression/Boolean/Orx.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function __construct(Expression ...$expressions)
2020
$this->expressions = $expressions;
2121
}
2222

23-
public function describe(ClassDescription $theClass, string $because): Description
23+
public function describe(ClassDescription $theClass, string $because = ''): Description
2424
{
2525
$expressionsDescriptions = [];
2626
foreach ($this->expressions as $expression) {
@@ -31,7 +31,7 @@ public function describe(ClassDescription $theClass, string $because): Descripti
3131
return new Description($expressionsDescriptionsString, $because);
3232
}
3333

34-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
34+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
3535
{
3636
if (0 === \count($this->expressions)) {
3737
return;

src/Expression/Expression.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
interface Expression
1616
{
1717
/**
18-
* Returns a human readable description of the expression
18+
* Returns a human-readable description of the expression
1919
* $theClass can be used to add contextual information.
2020
*/
21-
public function describe(ClassDescription $theClass, string $because): Description;
21+
public function describe(ClassDescription $theClass, string $because = ''): Description;
2222

2323
/**
2424
* Evaluates the expression for the class passed as parameter.
25-
* It should adds violations if rule is violated.
25+
* It should add violations if rule is violated.
2626
*/
27-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void;
27+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void;
2828
}

src/Expression/ForClasses/ContainDocBlockLike.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ public function __construct(string $docBlock)
2121
$this->docBlock = $docBlock;
2222
}
2323

24-
public function describe(ClassDescription $theClass, string $because): Description
24+
public function describe(ClassDescription $theClass, string $because = ''): Description
2525
{
2626
return new Description("should have a doc block that contains {$this->docBlock}", $because);
2727
}
2828

29-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
29+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
3030
{
3131
if (!$theClass->containsDocBlock($this->docBlock)) {
3232
$violation = Violation::create(

src/Expression/ForClasses/DependsOnlyOnTheseExpressions.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function __construct(Expression ...$expressions)
3131
}
3232
}
3333

34-
public function describe(ClassDescription $theClass, string $because): Description
34+
public function describe(ClassDescription $theClass, string $because = ''): Description
3535
{
3636
$expressionsDescriptions = '';
3737
foreach ($this->expressions as $expression) {
@@ -45,7 +45,7 @@ public function describe(ClassDescription $theClass, string $because): Descripti
4545
);
4646
}
4747

48-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
48+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
4949
{
5050
$dependencies = $this->removeDuplicateDependencies($theClass->getDependencies());
5151

src/Expression/ForClasses/DependsOnlyOnTheseNamespaces.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ public function __construct(string ...$namespace)
2222
$this->namespaces = $namespace;
2323
}
2424

25-
public function describe(ClassDescription $theClass, string $because): Description
25+
public function describe(ClassDescription $theClass, string $because = ''): Description
2626
{
2727
$desc = implode(', ', $this->namespaces);
2828

2929
return new Description("should depend only on classes in one of these namespaces: $desc", $because);
3030
}
3131

32-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
32+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
3333
{
3434
$dependencies = $theClass->getDependencies();
3535

src/Expression/ForClasses/Extend.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ public function __construct(string $className)
2121
$this->className = $className;
2222
}
2323

24-
public function describe(ClassDescription $theClass, string $because): Description
24+
public function describe(ClassDescription $theClass, string $because = ''): Description
2525
{
2626
return new Description("should extend {$this->className}", $because);
2727
}
2828

29-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
29+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
3030
{
3131
$extends = $theClass->getExtends();
3232

src/Expression/ForClasses/HaveAttribute.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ public function __construct(string $attribute)
2020
$this->attribute = $attribute;
2121
}
2222

23-
public function describe(ClassDescription $theClass, string $because): Description
23+
public function describe(ClassDescription $theClass, string $because = ''): Description
2424
{
2525
return new Description("should have the attribute {$this->attribute}", $because);
2626
}
2727

28-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
28+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
2929
{
3030
if ($theClass->hasAttribute($this->attribute)) {
3131
return;

src/Expression/ForClasses/HaveCorrespondingUnit.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ public function __construct(\Closure $inferFqnFunction)
2020
$this->inferFqnFunction = $inferFqnFunction;
2121
}
2222

23-
public function describe(ClassDescription $theClass, string $because): Description
23+
public function describe(ClassDescription $theClass, string $because = ''): Description
2424
{
2525
$correspondingFqn = $this->inferCorrespondingFqn($theClass);
2626

2727
return new Description("should have a matching unit named: '$correspondingFqn'", $because);
2828
}
2929

30-
public function evaluate(ClassDescription $theClass, Violations $violations, string $because): void
30+
public function evaluate(ClassDescription $theClass, Violations $violations, string $because = ''): void
3131
{
3232
$correspondingFqn = $this->inferCorrespondingFqn($theClass);
3333

0 commit comments

Comments
 (0)