From e864b24a854ac053b10d9ec95d3c12802a4e326a Mon Sep 17 00:00:00 2001 From: Ondrej Mirtes Date: Wed, 25 Jan 2023 17:18:34 +0100 Subject: [PATCH] InFunctionNode always contains PhpFunctionFromParserNodeReflection --- src/Analyser/NodeScopeResolver.php | 3 ++- src/Node/InFunctionNode.php | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Analyser/NodeScopeResolver.php b/src/Analyser/NodeScopeResolver.php index 34cce6373a..cebad53500 100644 --- a/src/Analyser/NodeScopeResolver.php +++ b/src/Analyser/NodeScopeResolver.php @@ -118,6 +118,7 @@ use PHPStan\Reflection\ParameterReflectionWithPhpDocs; use PHPStan\Reflection\ParametersAcceptor; use PHPStan\Reflection\ParametersAcceptorSelector; +use PHPStan\Reflection\Php\PhpFunctionFromParserNodeReflection; use PHPStan\Reflection\Php\PhpMethodFromParserNodeReflection; use PHPStan\Reflection\Php\PhpMethodReflection; use PHPStan\Reflection\ReflectionProvider; @@ -443,7 +444,7 @@ private function processStmtNode( $phpDocParameterOutTypes, ); $functionReflection = $functionScope->getFunction(); - if (!$functionReflection instanceof FunctionReflection) { + if (!$functionReflection instanceof PhpFunctionFromParserNodeReflection) { throw new ShouldNotHappenException(); } diff --git a/src/Node/InFunctionNode.php b/src/Node/InFunctionNode.php index 4e850a18b9..548c2ac422 100644 --- a/src/Node/InFunctionNode.php +++ b/src/Node/InFunctionNode.php @@ -3,21 +3,21 @@ namespace PHPStan\Node; use PhpParser\Node; -use PHPStan\Reflection\FunctionReflection; +use PHPStan\Reflection\Php\PhpFunctionFromParserNodeReflection; /** @api */ class InFunctionNode extends Node\Stmt implements VirtualNode { public function __construct( - private FunctionReflection $functionReflection, + private PhpFunctionFromParserNodeReflection $functionReflection, private Node\Stmt\Function_ $originalNode, ) { parent::__construct($originalNode->getAttributes()); } - public function getFunctionReflection(): FunctionReflection + public function getFunctionReflection(): PhpFunctionFromParserNodeReflection { return $this->functionReflection; }