|
14 | 14 | use PHPStan\DependencyInjection\AutowiredService; |
15 | 15 | use PHPStan\File\FileHelper; |
16 | 16 | use PHPStan\Node\ClassPropertyNode; |
| 17 | +use PHPStan\Node\FunctionCallableNode; |
17 | 18 | use PHPStan\Node\InClassMethodNode; |
18 | 19 | use PHPStan\Node\InClassNode; |
19 | 20 | use PHPStan\Node\InFunctionNode; |
20 | 21 | use PHPStan\Node\InPropertyHookNode; |
| 22 | +use PHPStan\Node\InstantiationCallableNode; |
| 23 | +use PHPStan\Node\MethodCallableNode; |
| 24 | +use PHPStan\Node\StaticMethodCallableNode; |
21 | 25 | use PHPStan\Reflection\ClassReflection; |
22 | 26 | use PHPStan\Reflection\ExtendedParameterReflection; |
23 | 27 | use PHPStan\Reflection\ExtendedParametersAcceptor; |
@@ -470,6 +474,22 @@ public function resolveDependencies(Node $node, Scope $scope): NodeDependencies |
470 | 474 | } |
471 | 475 | } |
472 | 476 | } |
| 477 | + } elseif ($node instanceof StaticMethodCallableNode) { |
| 478 | + foreach ($this->resolveDependencies(new Node\Expr\StaticCall($node->getClass(), $node->getName()), $scope)->getReflections() as $dependency) { |
| 479 | + $dependenciesReflections[] = $dependency; |
| 480 | + } |
| 481 | + } elseif ($node instanceof MethodCallableNode) { |
| 482 | + foreach ($this->resolveDependencies(new Node\Expr\MethodCall($node->getVar(), $node->getName()), $scope)->getReflections() as $dependency) { |
| 483 | + $dependenciesReflections[] = $dependency; |
| 484 | + } |
| 485 | + } elseif ($node instanceof FunctionCallableNode) { |
| 486 | + foreach ($this->resolveDependencies(new Node\Expr\FuncCall($node->getName()), $scope)->getReflections() as $dependency) { |
| 487 | + $dependenciesReflections[] = $dependency; |
| 488 | + } |
| 489 | + } elseif ($node instanceof InstantiationCallableNode) { |
| 490 | + foreach ($this->resolveDependencies(new Node\Expr\New_($node->getClass()), $scope)->getReflections() as $dependency) { |
| 491 | + $dependenciesReflections[] = $dependency; |
| 492 | + } |
473 | 493 | } |
474 | 494 |
|
475 | 495 | return new NodeDependencies($this->fileHelper, $dependenciesReflections, $this->exportedNodeResolver->resolve($scope->getFile(), $node)); |
|
0 commit comments