1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-23 06:11:25 +01:00

Merge pull request #8364 from kkmuffme/add-but-to-differentiate-errors-invalidargument

add ", but" for InvalidArgument error message where a type is provided
This commit is contained in:
orklah 2022-08-03 20:33:29 +02:00 committed by GitHub
commit 1ef3851580
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 21 additions and 19 deletions

View File

@ -181,7 +181,7 @@ class ArgumentAnalyzer
IssueBuffer::maybeAdd(
new InvalidLiteralArgument(
'Argument ' . ($argument_offset + 1) . ' of ' . $cased_method_id
. ' expects a non-literal value, ' . $arg_value_type->getId() . ' provided',
. ' expects a non-literal value, but ' . $arg_value_type->getId() . ' provided',
new CodeLocation($statements_analyzer->getSource(), $arg->value),
$cased_method_id
),
@ -976,7 +976,7 @@ class ArgumentAnalyzer
IssueBuffer::maybeAdd(
new MixedArgumentTypeCoercion(
'Argument ' . ($argument_offset + 1) . $method_identifier . ' expects ' . $param_type->getId() .
', parent type ' . $input_type->getId() . ' provided',
', but parent type ' . $input_type->getId() . ' provided',
$arg_location,
$cased_method_id,
$origin_location
@ -987,7 +987,7 @@ class ArgumentAnalyzer
IssueBuffer::maybeAdd(
new ArgumentTypeCoercion(
'Argument ' . ($argument_offset + 1) . $method_identifier . ' expects ' . $param_type->getId() .
', parent type ' . $input_type->getId() . ' provided',
', but parent type ' . $input_type->getId() . ' provided',
$arg_location,
$cased_method_id
),
@ -1000,7 +1000,7 @@ class ArgumentAnalyzer
IssueBuffer::maybeAdd(
new ImplicitToStringCast(
'Argument ' . ($argument_offset + 1) . $method_identifier . ' expects ' .
$param_type->getId() . ', ' . $input_type->getId() . ' provided with a __toString method',
$param_type->getId() . ', but ' . $input_type->getId() . ' provided with a __toString method',
$arg_location
),
$statements_analyzer->getSuppressedIssues()
@ -1022,7 +1022,7 @@ class ArgumentAnalyzer
IssueBuffer::maybeAdd(
new InvalidScalarArgument(
'Argument ' . ($argument_offset + 1) . $method_identifier . ' expects ' .
$param_type->getId() . ', ' . $type . ' provided',
$param_type->getId() . ', but ' . $type . ' provided',
$arg_location,
$cased_method_id
),
@ -1033,7 +1033,7 @@ class ArgumentAnalyzer
IssueBuffer::maybeAdd(
new PossiblyInvalidArgument(
'Argument ' . ($argument_offset + 1) . $method_identifier . ' expects ' . $param_type->getId() .
', possibly different type ' . $type . ' provided',
', but possibly different type ' . $type . ' provided',
$arg_location,
$cased_method_id
),
@ -1043,7 +1043,7 @@ class ArgumentAnalyzer
IssueBuffer::maybeAdd(
new InvalidArgument(
'Argument ' . ($argument_offset + 1) . $method_identifier . ' expects ' . $param_type->getId() .
', ' . $type . ' provided',
', but ' . $type . ' provided',
$arg_location,
$cased_method_id
),

View File

@ -893,7 +893,8 @@ class ArrayFunctionArgumentsAnalyzer
IssueBuffer::maybeAdd(
new MixedArgumentTypeCoercion(
'Parameter ' . ($i + 1) . ' of closure passed to function ' . $method_id . ' expects ' .
$closure_param_type->getId() . ', parent type ' . $input_type->getId() . ' provided',
$closure_param_type->getId() .
', but parent type ' . $input_type->getId() . ' provided',
new CodeLocation($statements_analyzer->getSource(), $closure_arg),
$method_id
),
@ -903,7 +904,8 @@ class ArrayFunctionArgumentsAnalyzer
IssueBuffer::maybeAdd(
new ArgumentTypeCoercion(
'Parameter ' . ($i + 1) . ' of closure passed to function ' . $method_id . ' expects ' .
$closure_param_type->getId() . ', parent type ' . $input_type->getId() . ' provided',
$closure_param_type->getId() .
', but parent type ' . $input_type->getId() . ' provided',
new CodeLocation($statements_analyzer->getSource(), $closure_arg),
$method_id
),
@ -923,7 +925,7 @@ class ArrayFunctionArgumentsAnalyzer
IssueBuffer::maybeAdd(
new InvalidScalarArgument(
'Parameter ' . ($i + 1) . ' of closure passed to function ' . $method_id . ' expects ' .
$closure_param_type->getId() . ', ' . $input_type->getId() . ' provided',
$closure_param_type->getId() . ', but ' . $input_type->getId() . ' provided',
new CodeLocation($statements_analyzer->getSource(), $closure_arg),
$method_id
),
@ -933,7 +935,7 @@ class ArrayFunctionArgumentsAnalyzer
IssueBuffer::maybeAdd(
new PossiblyInvalidArgument(
'Parameter ' . ($i + 1) . ' of closure passed to function ' . $method_id . ' expects '
. $closure_param_type->getId() . ', possibly different type '
. $closure_param_type->getId() . ', but possibly different type '
. $input_type->getId() . ' provided',
new CodeLocation($statements_analyzer->getSource(), $closure_arg),
$method_id
@ -943,7 +945,7 @@ class ArrayFunctionArgumentsAnalyzer
} elseif (IssueBuffer::accepts(
new InvalidArgument(
'Parameter ' . ($i + 1) . ' of closure passed to function ' . $method_id . ' expects ' .
$closure_param_type->getId() . ', ' . $input_type->getId() . ' provided',
$closure_param_type->getId() . ', but ' . $input_type->getId() . ' provided',
new CodeLocation($statements_analyzer->getSource(), $closure_arg),
$method_id
),

View File

@ -1149,7 +1149,7 @@ class ClosureTest extends TestCase
takesA($getAButReallyB());
takesB($getAButReallyB());',
'error_message' => 'ArgumentTypeCoercion - src' . DIRECTORY_SEPARATOR . 'somefile.php:13:28 - Argument 1 of takesB expects B, parent type A provided',
'error_message' => 'ArgumentTypeCoercion - src' . DIRECTORY_SEPARATOR . 'somefile.php:13:28 - Argument 1 of takesB expects B, but parent type A provided',
],
'closureByRefUseToMixed' => [
'<?php

View File

@ -1500,7 +1500,7 @@ class ReturnTypeTest extends TestCase
$res = map(function(int $i): string { return (string) $i; })([1,2,3]);
',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:13:54 - Argument 1 expects T:fn-map as mixed, int provided',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:13:54 - Argument 1 expects T:fn-map as mixed, but int provided',
],
'cannotInferReturnClosureWithDifferentReturnTypes' => [
'<?php

View File

@ -3936,7 +3936,7 @@ class ClassTemplateTest extends TestCase
type($closure);
}
}',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:20:34 - Argument 1 of type expects string, callable(State):(T:AlmostFooMap as mixed)&Foo provided',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:20:34 - Argument 1 of type expects string, but callable(State):(T:AlmostFooMap as mixed)&Foo provided',
],
'templateWithNoReturn' => [
'<?php
@ -4118,7 +4118,7 @@ class ClassTemplateTest extends TestCase
$mario = new CharacterRow(["id" => 5, "name" => "Mario", "height" => 3.5]);
$mario->ame = "Luigi";',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:47:29 - Argument 1 of CharacterRow::__set expects "height"|"id"|"name", "ame" provided',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:47:29 - Argument 1 of CharacterRow::__set expects "height"|"id"|"name", but "ame" provided',
],
'specialiseTypeBeforeReturning' => [
'<?php

View File

@ -1519,7 +1519,7 @@ class TypeTest extends TestCase
function takesB(B $i): void {}',
'error_message' => 'ArgumentTypeCoercion - src' . DIRECTORY_SEPARATOR . 'somefile.php:14:32 - Argument 1 of takesB expects B,'
. ' parent type A&static provided',
. ' but parent type A&static provided',
],
'intersectionTypeInterfaceCheckAfterInstanceof' => [
'<?php
@ -1540,7 +1540,7 @@ class TypeTest extends TestCase
interface I {}
function takesI(I $i): void {}',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:12:32 - Argument 1 of takesI expects I, A&static provided',
'error_message' => 'InvalidArgument - src' . DIRECTORY_SEPARATOR . 'somefile.php:12:32 - Argument 1 of takesI expects I, but A&static provided',
],
];
}

View File

@ -3451,7 +3451,7 @@ class UnusedVariableTest extends TestCase
$arr = [$a];
takesArrayOfString($arr);
}',
'error_message' => 'MixedArgumentTypeCoercion - src' . DIRECTORY_SEPARATOR . 'somefile.php:12:44 - Argument 1 of takesArrayOfString expects array<array-key, string>, parent type array{mixed} provided. Consider improving the type at src' . DIRECTORY_SEPARATOR . 'somefile.php:10:41'
'error_message' => 'MixedArgumentTypeCoercion - src' . DIRECTORY_SEPARATOR . 'somefile.php:12:44 - Argument 1 of takesArrayOfString expects array<array-key, string>, but parent type array{mixed} provided. Consider improving the type at src' . DIRECTORY_SEPARATOR . 'somefile.php:10:41'
],
'warnAboutUnusedVariableInTryReassignedInCatch' => [
'<?php