From 479370b6c976ac67a7e9433acc95393c163ed3e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20Hansl=C3=ADk?= Date: Sat, 11 Jan 2020 20:25:30 +0100 Subject: [PATCH] Fixed deprecated warning in ReflectionSourceStubber --- .../SourceStubber/ReflectionSourceStubber.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/SourceLocator/SourceStubber/ReflectionSourceStubber.php b/src/SourceLocator/SourceStubber/ReflectionSourceStubber.php index 968a6bac7..290a7529b 100644 --- a/src/SourceLocator/SourceStubber/ReflectionSourceStubber.php +++ b/src/SourceLocator/SourceStubber/ReflectionSourceStubber.php @@ -33,12 +33,13 @@ use ReflectionFunction as CoreReflectionFunction; use ReflectionFunctionAbstract as CoreReflectionFunctionAbstract; use ReflectionMethod as CoreReflectionMethod; +use ReflectionNamedType as CoreReflectionNamedType; use ReflectionParameter; use ReflectionProperty as CoreReflectionProperty; -use ReflectionType as CoreReflectionType; use Reflector as CoreReflector; use function array_diff; use function array_key_exists; +use function assert; use function class_exists; use function explode; use function function_exists; @@ -358,6 +359,7 @@ private function addMethods(Declaration $classNode, CoreReflectionClass $classRe $this->addParameters($methodNode, $methodReflection); $returnType = $methodReflection->getReturnType(); + assert($returnType instanceof CoreReflectionNamedType || $returnType === null); if ($methodReflection->getReturnType() !== null) { $methodNode->setReturnType($this->formatType($returnType)); @@ -445,6 +447,7 @@ private function addParameterModifiers(ReflectionParameter $parameterReflection, } $parameterType = $parameterReflection->getType(); + assert($parameterType instanceof CoreReflectionNamedType || $parameterType === null); if ($parameterReflection->getType() !== null) { $parameterNode->setType($this->formatType($parameterType)); @@ -470,9 +473,9 @@ private function parameterDefaultValue( /** * @return Name|FullyQualified|NullableType */ - private function formatType(CoreReflectionType $type) : NodeAbstract + private function formatType(CoreReflectionNamedType $type) : NodeAbstract { - $name = (string) $type; + $name = $type->getName(); $nameNode = $type->isBuiltin() || in_array($name, ['self', 'parent'], true) ? new Name($name) : new FullyQualified($name); return $type->allowsNull() ? new NullableType($nameNode) : $nameNode;