@@ -9,8 +9,6 @@ |
||
9 | 9 | use Psalm\CodeLocation; |
10 | 10 | use Psalm\Context; |
11 | 11 | use Psalm\Internal\Analyzer\Statements\Expression\CallAnalyzer; |
12 | -use Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer; |
|
13 | -use Psalm\Internal\Codebase\InternalCallMapHandler; |
|
14 | 12 | use Psalm\Internal\Type\ArrayType; |
15 | 13 | use Psalm\StatementsSource; |
16 | 14 | use Psalm\Type; |
@@ -439,6 +439,7 @@ |
||
439 | 439 | |
440 | 440 | /** |
441 | 441 | * @param non-empty-list<Type\Union> $union_types |
442 | + * @param Codebase|null $codebase |
|
442 | 443 | */ |
443 | 444 | public static function combineUnionTypeArray(array $union_types, ?Codebase $codebase) : Type\Union |
444 | 445 | { |
@@ -3,10 +3,6 @@ discard block |
||
3 | 3 | namespace Psalm\Internal\Codebase; |
4 | 4 | |
5 | 5 | use Psalm\CodeLocation; |
6 | -use Psalm\Internal\Analyzer\StatementsAnalyzer; |
|
7 | -use Psalm\Internal\Provider\ClassLikeStorageProvider; |
|
8 | -use Psalm\Internal\Provider\FileReferenceProvider; |
|
9 | -use Psalm\Internal\Provider\FileStorageProvider; |
|
10 | 6 | use Psalm\Internal\Taint\Path; |
11 | 7 | use Psalm\Internal\Taint\Sink; |
12 | 8 | use Psalm\Internal\Taint\Source; |
@@ -17,7 +13,6 @@ discard block |
||
17 | 13 | use function array_merge; |
18 | 14 | use function array_merge_recursive; |
19 | 15 | use function strtolower; |
20 | -use UnexpectedValueException; |
|
21 | 16 | use function count; |
22 | 17 | use function implode; |
23 | 18 | use function substr; |
@@ -69,6 +69,7 @@ discard block |
||
69 | 69 | |
70 | 70 | /** |
71 | 71 | * |
72 | + * @param PhpParser\Node\Expr|null $assign_value |
|
72 | 73 | * @return false|null |
73 | 74 | */ |
74 | 75 | public static function updateArrayType( |
@@ -777,6 +778,7 @@ discard block |
||
777 | 778 | |
778 | 779 | /** |
779 | 780 | * @param list<int|string> $key_values |
781 | + * @param string|null $array_var_id |
|
780 | 782 | */ |
781 | 783 | private static function taintArrayAssignment( |
782 | 784 | StatementsAnalyzer $statements_analyzer, |
@@ -2,11 +2,9 @@ |
||
2 | 2 | namespace Psalm\Type\Atomic; |
3 | 3 | |
4 | 4 | use Psalm\Codebase; |
5 | -use Psalm\CodeLocation; |
|
6 | 5 | use Psalm\Internal\Analyzer\StatementsAnalyzer; |
7 | 6 | use Psalm\Internal\Type\TemplateResult; |
8 | 7 | use Psalm\Internal\Type\UnionTemplateHandler; |
9 | -use Psalm\StatementsSource; |
|
10 | 8 | use Psalm\Type\Atomic; |
11 | 9 | use function preg_quote; |
12 | 10 | use function preg_replace; |
@@ -224,6 +224,7 @@ discard block |
||
224 | 224 | * @param Context $context |
225 | 225 | * @param CodeLocation $code_location |
226 | 226 | * @param StatementsAnalyzer $statements_analyzer |
227 | + * @param TemplateResult|null $class_template_result |
|
227 | 228 | */ |
228 | 229 | protected static function checkMethodArgs( |
229 | 230 | ?\Psalm\Internal\MethodIdentifier $method_id, |
@@ -328,6 +329,8 @@ discard block |
||
328 | 329 | /** |
329 | 330 | * @return array<string, array<string, array{Type\Union}>> |
330 | 331 | * @param array<string, non-empty-array<string, array{Type\Union}>> $existing_template_types |
332 | + * @param ClassLikeStorage|null $declaring_class_storage |
|
333 | + * @param ClassLikeStorage|null $calling_class_storage |
|
331 | 334 | */ |
332 | 335 | public static function getTemplateTypesForCall( |
333 | 336 | \Psalm\Codebase $codebase, |
@@ -2,51 +2,27 @@ |
||
2 | 2 | namespace Psalm\Internal\Analyzer\Statements\Expression\Assignment; |
3 | 3 | |
4 | 4 | use PhpParser; |
5 | -use PhpParser\Node\Expr\PropertyFetch; |
|
6 | -use PhpParser\Node\Stmt\PropertyProperty; |
|
7 | 5 | use Psalm\Internal\Analyzer\ClassAnalyzer; |
8 | 6 | use Psalm\Internal\Analyzer\ClassLikeAnalyzer; |
9 | -use Psalm\Internal\Analyzer\NamespaceAnalyzer; |
|
10 | 7 | use Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer; |
11 | 8 | use Psalm\Internal\Analyzer\Statements\Expression\ExpressionIdentifier; |
12 | -use Psalm\Internal\Analyzer\Statements\Expression\Fetch\InstancePropertyFetchAnalyzer; |
|
13 | 9 | use Psalm\Internal\Analyzer\StatementsAnalyzer; |
14 | 10 | use Psalm\Internal\Analyzer\TypeAnalyzer; |
15 | 11 | use Psalm\Internal\FileManipulation\FileManipulationBuffer; |
16 | 12 | use Psalm\CodeLocation; |
17 | 13 | use Psalm\Context; |
18 | -use Psalm\Issue\DeprecatedProperty; |
|
19 | 14 | use Psalm\Issue\ImplicitToStringCast; |
20 | -use Psalm\Issue\InaccessibleProperty; |
|
21 | -use Psalm\Issue\InternalProperty; |
|
22 | -use Psalm\Issue\InvalidPropertyAssignment; |
|
23 | 15 | use Psalm\Issue\InvalidPropertyAssignmentValue; |
24 | -use Psalm\Issue\LoopInvalidation; |
|
25 | -use Psalm\Issue\MixedAssignment; |
|
26 | -use Psalm\Issue\MixedPropertyAssignment; |
|
27 | 16 | use Psalm\Issue\MixedPropertyTypeCoercion; |
28 | -use Psalm\Issue\NoInterfaceProperties; |
|
29 | -use Psalm\Issue\NullPropertyAssignment; |
|
30 | -use Psalm\Issue\PossiblyFalsePropertyAssignmentValue; |
|
31 | -use Psalm\Issue\PossiblyInvalidPropertyAssignment; |
|
32 | 17 | use Psalm\Issue\PossiblyInvalidPropertyAssignmentValue; |
33 | -use Psalm\Issue\PossiblyNullPropertyAssignment; |
|
34 | -use Psalm\Issue\PossiblyNullPropertyAssignmentValue; |
|
35 | 18 | use Psalm\Issue\PropertyTypeCoercion; |
36 | -use Psalm\Issue\UndefinedClass; |
|
37 | 19 | use Psalm\Issue\UndefinedPropertyAssignment; |
38 | -use Psalm\Issue\UndefinedMagicPropertyAssignment; |
|
39 | -use Psalm\Issue\UndefinedThisPropertyAssignment; |
|
40 | 20 | use Psalm\IssueBuffer; |
41 | 21 | use Psalm\Type; |
42 | -use Psalm\Type\Atomic\TNamedObject; |
|
43 | -use Psalm\Type\Atomic\TNull; |
|
44 | -use Psalm\Type\Atomic\TObject; |
|
45 | 22 | use function count; |
46 | 23 | use function in_array; |
47 | 24 | use function strtolower; |
48 | 25 | use function explode; |
49 | -use Psalm\Internal\Taint\TaintNode; |
|
50 | 26 | |
51 | 27 | /** |
52 | 28 | * @internal |
@@ -1,7 +1,6 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | namespace Psalm\Internal\FileManipulation; |
3 | 3 | |
4 | -use PhpParser; |
|
5 | 4 | use function array_shift; |
6 | 5 | use function count; |
7 | 6 | use function ltrim; |
@@ -9,7 +8,6 @@ discard block |
||
9 | 8 | use function preg_match; |
10 | 9 | use Psalm\DocComment; |
11 | 10 | use Psalm\FileManipulation; |
12 | -use Psalm\Internal\Analyzer\CommentAnalyzer; |
|
13 | 11 | use Psalm\Internal\Analyzer\ProjectAnalyzer; |
14 | 12 | use function str_replace; |
15 | 13 | use function str_split; |