Skip to content

Commit 04e5009

Browse files
committed
Fix @phpstan-self-out error message
1 parent 6838669 commit 04e5009

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

Diff for: src/Rules/FunctionDefinitionCheck.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ public function checkClassMethod(
241241
string $templateTypeMissingInParameterMessage,
242242
string $unresolvableParameterTypeMessage,
243243
string $unresolvableReturnTypeMessage,
244+
string $selfOutMessage,
244245
): array
245246
{
246247
/** @var ParametersAcceptorWithPhpDocs $parametersAcceptor */
@@ -263,7 +264,7 @@ public function checkClassMethod(
263264

264265
foreach ($selfOutTypeReferencedClasses as $class) {
265266
if (!$this->reflectionProvider->hasClass($class)) {
266-
$errors[] = RuleErrorBuilder::message(sprintf($returnMessage, $class))
267+
$errors[] = RuleErrorBuilder::message(sprintf($selfOutMessage, $class))
267268
->line($methodNode->getStartLine())
268269
->identifier('class.notFound')
269270
->build();
@@ -273,7 +274,7 @@ public function checkClassMethod(
273274
continue;
274275
}
275276

276-
$errors[] = RuleErrorBuilder::message(sprintf($returnMessage, $class))
277+
$errors[] = RuleErrorBuilder::message(sprintf($selfOutMessage, $class))
277278
->line($methodNode->getStartLine())
278279
->identifier('selfOut.trait')
279280
->build();

Diff for: src/Rules/Methods/ExistingClassesInTypehintsRule.php

+5
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ public function processNode(Node $node, Scope $scope): array
5656
$className,
5757
$methodName,
5858
),
59+
sprintf(
60+
'Method %s::%s() has invalid @phpstan-self-out type %%s.',
61+
$className,
62+
$methodName,
63+
),
5964
);
6065
}
6166

Diff for: tests/PHPStan/Rules/Methods/ExistingClassesInTypehintsRuleTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -512,11 +512,11 @@ public function testSelfOut(): void
512512
{
513513
$this->analyse([__DIR__ . '/data/self-out.php'], [
514514
[
515-
'Method SelfOutClasses\Foo::doFoo() has invalid return type SelfOutClasses\Nonexistent.',
515+
'Method SelfOutClasses\Foo::doFoo() has invalid @phpstan-self-out type SelfOutClasses\Nonexistent.',
516516
16,
517517
],
518518
[
519-
'Method SelfOutClasses\Foo::doBar() has invalid return type SelfOutClasses\FooTrait.',
519+
'Method SelfOutClasses\Foo::doBar() has invalid @phpstan-self-out type SelfOutClasses\FooTrait.',
520520
24,
521521
],
522522
[

0 commit comments

Comments
 (0)