diff --git a/src/Dependency/DependencyResolver.php b/src/Dependency/DependencyResolver.php index 5507705a72..04612b1305 100644 --- a/src/Dependency/DependencyResolver.php +++ b/src/Dependency/DependencyResolver.php @@ -11,10 +11,11 @@ use PHPStan\File\FileHelper; use PHPStan\Node\InClassMethodNode; use PHPStan\Node\InFunctionNode; +use PHPStan\Reflection\ClassReflection; +use PHPStan\Reflection\FunctionReflection; use PHPStan\Reflection\ParametersAcceptorSelector; use PHPStan\Reflection\ParametersAcceptorWithPhpDocs; use PHPStan\Reflection\ReflectionProvider; -use PHPStan\Reflection\ReflectionWithFilename; use PHPStan\Type\ClosureType; use PHPStan\Type\Constant\ConstantStringType; use PHPStan\Type\Type; @@ -208,7 +209,7 @@ private function considerArrayForCallableTest(Scope $scope, Array_ $arrayNode): /** * @param string $className - * @param array $dependenciesReflections + * @param array $dependenciesReflections */ private function addClassToDependencies(string $className, array &$dependenciesReflections): void { @@ -233,19 +234,14 @@ private function addClassToDependencies(string $className, array &$dependenciesR } while ($classReflection !== null); } - private function getFunctionReflection(\PhpParser\Node\Name $nameNode, ?Scope $scope): ReflectionWithFilename + private function getFunctionReflection(\PhpParser\Node\Name $nameNode, ?Scope $scope): FunctionReflection { - $reflection = $this->reflectionProvider->getFunction($nameNode, $scope); - if (!$reflection instanceof ReflectionWithFilename) { - throw new \PHPStan\Broker\FunctionNotFoundException((string) $nameNode); - } - - return $reflection; + return $this->reflectionProvider->getFunction($nameNode, $scope); } /** * @param ParametersAcceptorWithPhpDocs $parametersAcceptor - * @param ReflectionWithFilename[] $dependenciesReflections + * @param array $dependenciesReflections */ private function extractFromParametersAcceptor( ParametersAcceptorWithPhpDocs $parametersAcceptor, @@ -274,7 +270,7 @@ private function extractFromParametersAcceptor( /** * @param Type|null $throwType - * @param ReflectionWithFilename[] $dependenciesReflections + * @param array $dependenciesReflections */ private function extractThrowType( ?Type $throwType, diff --git a/src/Dependency/NodeDependencies.php b/src/Dependency/NodeDependencies.php index b6fcb0ce51..cbc108bea8 100644 --- a/src/Dependency/NodeDependencies.php +++ b/src/Dependency/NodeDependencies.php @@ -3,21 +3,22 @@ namespace PHPStan\Dependency; use PHPStan\File\FileHelper; -use PHPStan\Reflection\ReflectionWithFilename; +use PHPStan\Reflection\ClassReflection; +use PHPStan\Reflection\FunctionReflection; class NodeDependencies { private FileHelper $fileHelper; - /** @var array */ + /** @var array */ private array $reflections; private ?ExportedNode $exportedNode; /** * @param FileHelper $fileHelper - * @param array $reflections + * @param array $reflections */ public function __construct( FileHelper $fileHelper, diff --git a/src/Reflection/ClassReflection.php b/src/Reflection/ClassReflection.php index 2d6a4e3576..fc4a1bc6f6 100644 --- a/src/Reflection/ClassReflection.php +++ b/src/Reflection/ClassReflection.php @@ -31,7 +31,7 @@ use ReflectionMethod; /** @api */ -class ClassReflection implements ReflectionWithFilename +class ClassReflection { private \PHPStan\Reflection\ReflectionProvider $reflectionProvider; diff --git a/src/Reflection/Php/PhpFunctionReflection.php b/src/Reflection/Php/PhpFunctionReflection.php index 5690fc2b54..0850ca922a 100644 --- a/src/Reflection/Php/PhpFunctionReflection.php +++ b/src/Reflection/Php/PhpFunctionReflection.php @@ -13,7 +13,6 @@ use PHPStan\Reflection\FunctionVariantWithPhpDocs; use PHPStan\Reflection\ParametersAcceptor; use PHPStan\Reflection\ParametersAcceptorWithPhpDocs; -use PHPStan\Reflection\ReflectionWithFilename; use PHPStan\TrinaryLogic; use PHPStan\Type\Generic\TemplateTypeMap; use PHPStan\Type\MixedType; @@ -21,7 +20,7 @@ use PHPStan\Type\TypehintHelper; use PHPStan\Type\VoidType; -class PhpFunctionReflection implements FunctionReflection, ReflectionWithFilename +class PhpFunctionReflection implements FunctionReflection { private \ReflectionFunction $reflection; diff --git a/src/Reflection/ReflectionProvider/ClassBlacklistReflectionProvider.php b/src/Reflection/ReflectionProvider/ClassBlacklistReflectionProvider.php index 5363194fa8..ce896640a0 100644 --- a/src/Reflection/ReflectionProvider/ClassBlacklistReflectionProvider.php +++ b/src/Reflection/ReflectionProvider/ClassBlacklistReflectionProvider.php @@ -9,7 +9,6 @@ use PHPStan\Reflection\FunctionReflection; use PHPStan\Reflection\GlobalConstantReflection; use PHPStan\Reflection\ReflectionProvider; -use PHPStan\Reflection\ReflectionWithFilename; class ClassBlacklistReflectionProvider implements ReflectionProvider { @@ -138,9 +137,6 @@ public function hasFunction(\PhpParser\Node\Name $nameNode, ?Scope $scope): bool } $functionReflection = $this->reflectionProvider->getFunction($nameNode, $scope); - if (!$functionReflection instanceof ReflectionWithFilename) { - return true; - } return $functionReflection->getFileName() !== $this->singleReflectionInsteadOfFile; } diff --git a/src/Reflection/ReflectionWithFilename.php b/src/Reflection/ReflectionWithFilename.php deleted file mode 100644 index c626dbb7cf..0000000000 --- a/src/Reflection/ReflectionWithFilename.php +++ /dev/null @@ -1,11 +0,0 @@ -