Skip to content

Commit e247850

Browse files
Violation can now contain a reference to the file path (#478)
* violation can now contain a reference to the file path * updates all rules
1 parent e94fb42 commit e247850

32 files changed

+266
-189
lines changed

src/Analyzer/FileParser.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ class FileParser implements Parser
1919

2020
private FileVisitor $fileVisitor;
2121

22-
/** @var array */
23-
private $parsingErrors;
22+
/** @var ParsingError[] */
23+
private array $parsingErrors;
2424

2525
public function __construct(
2626
NodeTraverser $traverser,

src/Analyzer/FileVisitor.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ class FileVisitor extends NodeVisitorAbstract
1313
{
1414
private ClassDescriptionBuilder $classDescriptionBuilder;
1515

16-
/** @var array<ClassDescription> */
16+
/** @var ClassDescription[] */
1717
private array $classDescriptions = [];
1818

1919
public function __construct(ClassDescriptionBuilder $classDescriptionBuilder)
2020
{
2121
$this->classDescriptionBuilder = $classDescriptionBuilder;
2222
}
2323

24-
public function setFilePath(string $filePath): void
24+
public function setFilePath(?string $filePath): void
2525
{
2626
$this->classDescriptionBuilder->setFilePath($filePath);
2727
}

src/Expression/ForClasses/ContainDocBlockLike.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
3131
if (!$theClass->containsDocBlock($this->docBlock)) {
3232
$violation = Violation::create(
3333
$theClass->getFQCN(),
34-
ViolationMessage::selfExplanatory($this->describe($theClass, $because))
34+
ViolationMessage::selfExplanatory($this->describe($theClass, $because)),
35+
$theClass->getFilePath()
3536
);
3637
$violations->add($violation);
3738
}

src/Expression/ForClasses/DependsOnlyOnTheseNamespaces.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
class DependsOnlyOnTheseNamespaces implements Expression
1616
{
1717
/** @var string[] */
18-
private $namespaces;
18+
private array $namespaces;
1919

2020
public function __construct(string ...$namespace)
2121
{
@@ -49,7 +49,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
4949
$this->describe($theClass, $because),
5050
"depends on {$dependency->getFQCN()->toString()}"
5151
),
52-
$dependency->getLine()
52+
$dependency->getLine(),
53+
$theClass->getFilePath()
5354
);
5455

5556
$violations->add($violation);

src/Expression/ForClasses/Extend.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
4343

4444
$violation = Violation::create(
4545
$theClass->getFQCN(),
46-
ViolationMessage::selfExplanatory($this->describe($theClass, $because))
46+
ViolationMessage::selfExplanatory($this->describe($theClass, $because)),
47+
$theClass->getFilePath()
4748
);
4849

4950
$violations->add($violation);

src/Expression/ForClasses/HaveAttribute.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
3434
$violations->add(
3535
Violation::create(
3636
$theClass->getFQCN(),
37-
ViolationMessage::selfExplanatory($this->describe($theClass, $because))
37+
ViolationMessage::selfExplanatory($this->describe($theClass, $because)),
38+
$theClass->getFilePath()
3839
)
3940
);
4041
}

src/Expression/ForClasses/HaveNameMatching.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
3333
if (!$fqcn->classMatches($this->name)) {
3434
$violation = Violation::create(
3535
$theClass->getFQCN(),
36-
ViolationMessage::selfExplanatory($this->describe($theClass, $because))
36+
ViolationMessage::selfExplanatory($this->describe($theClass, $because)),
37+
$theClass->getFilePath()
3738
);
3839
$violations->add($violation);
3940
}

src/Expression/ForClasses/Implement.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
4747
if (0 === \count(array_filter($interfaces, $implements))) {
4848
$violation = Violation::create(
4949
$theClass->getFQCN(),
50-
ViolationMessage::selfExplanatory($this->describe($theClass, $because))
50+
ViolationMessage::selfExplanatory($this->describe($theClass, $because)),
51+
$theClass->getFilePath()
5152
);
5253
$violations->add($violation);
5354
}

src/Expression/ForClasses/IsAbstract.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
3131

3232
$violation = Violation::create(
3333
$theClass->getFQCN(),
34-
ViolationMessage::selfExplanatory($this->describe($theClass, $because))
34+
ViolationMessage::selfExplanatory($this->describe($theClass, $because)),
35+
$theClass->getFilePath()
3536
);
3637

3738
$violations->add($violation);

src/Expression/ForClasses/IsEnum.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ public function evaluate(ClassDescription $theClass, Violations $violations, str
2626

2727
$violation = Violation::create(
2828
$theClass->getFQCN(),
29-
ViolationMessage::selfExplanatory($this->describe($theClass, $because))
29+
ViolationMessage::selfExplanatory($this->describe($theClass, $because)),
30+
$theClass->getFilePath()
3031
);
3132

3233
$violations->add($violation);

0 commit comments

Comments
 (0)