Skip to content

Commit 9dce5c1

Browse files
committed
Rules use RuleErrorBuilder
1 parent edb0ad3 commit 9dce5c1

8 files changed

+17
-29
lines changed

src/Reflection/ReflectionParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function __construct(
3131
private readonly TypeAwareNodeFinder $typeAwareNodeFinder
3232
) {
3333
$parserFactory = new ParserFactory();
34-
$this->parser = $parserFactory->create(ParserFactory::PREFER_PHP7);
34+
$this->parser = $parserFactory->createForNewestSupportedVersion();
3535
}
3636

3737
public function parseMethodReflection(ReflectionMethod|MethodReflection $reflectionMethod): ?ClassMethod

src/ReturnTypeExtension/NodeGetAttributeTypeExtension.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
use PhpParser\Node\Scalar\String_;
1414
use PHPStan\Analyser\Scope;
1515
use PHPStan\Reflection\MethodReflection;
16-
use PHPStan\Reflection\ParametersAcceptorSelector;
1716
use PHPStan\Type\DynamicMethodReturnTypeExtension;
1817
use PHPStan\Type\NullType;
1918
use PHPStan\Type\ObjectType;

src/Rules/AnnotateRegexClassConstWithRegexLinkRule.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
use PhpParser\Node\Stmt\ClassConst;
1212
use PHPStan\Analyser\Scope;
1313
use PHPStan\Rules\Rule;
14+
use PHPStan\Rules\RuleErrorBuilder;
1415
use Symplify\RuleDocGenerator\Contract\DocumentedRuleInterface;
1516
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
1617
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
1718

1819
/**
20+
* @implements Rule<ClassConst>
1921
* @see \Symplify\PHPStanRules\Tests\Rules\AnnotateRegexClassConstWithRegexLinkRule\AnnotateRegexClassConstWithRegexLinkRuleTest
2022
*/
2123
final class AnnotateRegexClassConstWithRegexLinkRule implements Rule, DocumentedRuleInterface
@@ -39,10 +41,6 @@ public function getNodeType(): string
3941
return ClassConst::class;
4042
}
4143

42-
/**
43-
* @param ClassConst $node
44-
* @return string[]
45-
*/
4644
public function processNode(Node $node, Scope $scope): array
4745
{
4846
if (count($node->consts) !== 1) {
@@ -69,7 +67,7 @@ public function processNode(Node $node, Scope $scope): array
6967
return [];
7068
}
7169

72-
return [self::ERROR_MESSAGE];
70+
return [RuleErrorBuilder::message(self::ERROR_MESSAGE)->build()];
7371
}
7472

7573
public function getRuleDefinition(): RuleDefinition

src/Rules/CheckClassNamespaceFollowPsr4Rule.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use PhpParser\Node\Stmt\ClassLike;
1010
use PHPStan\Analyser\Scope;
1111
use PHPStan\Rules\Rule;
12+
use PHPStan\Rules\RuleErrorBuilder;
1213
use Symplify\PHPStanRules\Composer\ClassNamespaceMatcher;
1314
use Symplify\PHPStanRules\Composer\ComposerAutoloadResolver;
1415
use Symplify\PHPStanRules\Composer\Psr4PathValidator;
@@ -17,6 +18,7 @@
1718
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
1819

1920
/**
21+
* @implements Rule<ClassLike>
2022
* @see \Symplify\PHPStanRules\Tests\Rules\CheckClassNamespaceFollowPsr4Rule\CheckClassNamespaceFollowPsr4RuleTest
2123
*/
2224
final class CheckClassNamespaceFollowPsr4Rule implements Rule, DocumentedRuleInterface
@@ -47,10 +49,6 @@ public function getNodeType(): string
4749
return ClassLike::class;
4850
}
4951

50-
/**
51-
* @param ClassLike $node
52-
* @return string[]
53-
*/
5452
public function processNode(Node $node, Scope $scope): array
5553
{
5654
if ($this->autoloadPsr4Paths === []) {
@@ -87,7 +85,7 @@ public function processNode(Node $node, Scope $scope): array
8785
$namespacePart = substr($namespaceBeforeClass, 0, -1);
8886
$errorMessage = sprintf(self::ERROR_MESSAGE, $namespacePart);
8987

90-
return [$errorMessage];
88+
return [RuleErrorBuilder::message($errorMessage)->build()];
9189
}
9290

9391
public function getRuleDefinition(): RuleDefinition

src/Rules/CheckRequiredInterfaceInContractNamespaceRule.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use PhpParser\Node\Stmt\Interface_;
1010
use PHPStan\Analyser\Scope;
1111
use PHPStan\Rules\Rule;
12+
use PHPStan\Rules\RuleErrorBuilder;
1213
use Symplify\RuleDocGenerator\Contract\DocumentedRuleInterface;
1314
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
1415
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
@@ -38,10 +39,6 @@ public function getNodeType(): string
3839
return Interface_::class;
3940
}
4041

41-
/**
42-
* @param Interface_ $node
43-
* @return string[]
44-
*/
4542
public function processNode(Node $node, Scope $scope): array
4643
{
4744
$namespace = $scope->getNamespace();
@@ -53,7 +50,7 @@ public function processNode(Node $node, Scope $scope): array
5350
return [];
5451
}
5552

56-
return [self::ERROR_MESSAGE];
53+
return [RuleErrorBuilder::message(self::ERROR_MESSAGE)->build()];
5754
}
5855

5956
public function getRuleDefinition(): RuleDefinition

src/Rules/ClassNameRespectsParentSuffixRule.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
use PHPStan\Node\InClassNode;
1313
use PHPStan\Reflection\ClassReflection;
1414
use PHPStan\Rules\Rule;
15+
use PHPStan\Rules\RuleError;
16+
use PHPStan\Rules\RuleErrorBuilder;
1517
use PHPUnit\Framework\TestCase;
1618
use Rector\Rector\AbstractRector;
1719
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -72,7 +74,6 @@ public function getNodeType(): string
7274

7375
/**
7476
* @param InClassNode $node
75-
* @return string[]
7677
*/
7778
public function processNode(Node $node, Scope $scope): array
7879
{
@@ -117,7 +118,7 @@ class SomeCommand extends Command
117118
}
118119

119120
/**
120-
* @return array<int, string>
121+
* @return list<RuleError>
121122
*/
122123
private function processClassNameAndShort(ClassReflection $classReflection): array
123124
{
@@ -132,7 +133,7 @@ private function processClassNameAndShort(ClassReflection $classReflection): arr
132133
}
133134

134135
$errorMessage = sprintf(self::ERROR_MESSAGE, $expectedSuffix);
135-
return [$errorMessage];
136+
return [RuleErrorBuilder::message($errorMessage)->build()];
136137
}
137138

138139
return [];

src/Rules/ForbiddenExtendOfNonAbstractClassRule.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
1515

1616
/**
17+
* @implements Rule<InClassNode>
1718
* @see \Symplify\PHPStanRules\Tests\Rules\ForbiddenExtendOfNonAbstractClassRule\ForbiddenExtendOfNonAbstractClassRuleTest
1819
*/
1920
final class ForbiddenExtendOfNonAbstractClassRule implements Rule, DocumentedRuleInterface
@@ -31,10 +32,6 @@ public function getNodeType(): string
3132
return InClassNode::class;
3233
}
3334

34-
/**
35-
* @param InClassNode $node
36-
* @return string[]
37-
*/
3835
public function processNode(Node $node, Scope $scope): array
3936
{
4037
$classReflection = $node->getClassReflection();
@@ -63,7 +60,7 @@ public function processNode(Node $node, Scope $scope): array
6360
return [];
6461
}
6562

66-
return [self::ERROR_MESSAGE];
63+
return [RuleNodeBuilder::message(self::ERROR_MESSAGE)->build()];
6764
}
6865

6966
public function getRuleDefinition(): RuleDefinition

src/Rules/NoGlobalConstRule.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use PhpParser\Node\Stmt\Const_;
99
use PHPStan\Analyser\Scope;
1010
use PHPStan\Rules\Rule;
11+
use PHPStan\Rules\RuleErrorBuilder;
1112
use Symplify\RuleDocGenerator\Contract\DocumentedRuleInterface;
1213
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
1314
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
@@ -28,12 +29,9 @@ public function getNodeType(): string
2829
return Const_::class;
2930
}
3031

31-
/**
32-
* @param Const_ $node
33-
*/
3432
public function processNode(Node $node, Scope $scope): array
3533
{
36-
return [self::ERROR_MESSAGE];
34+
return [RuleErrorBuilder::message(self::ERROR_MESSAGE)->build()];
3735
}
3836

3937
public function getRuleDefinition(): RuleDefinition

0 commit comments

Comments
 (0)