/** * @param \PHPStan\Reflection\ClassReflection $classReflection * @return string|boolean */ private function getParentConstructorClass(ClassReflection $classReflection) { while ($classReflection->getParentClass() !== false) { if ($classReflection->getParentClass()->hasMethod('__construct') && $classReflection->getParentClass()->getMethod('__construct')->getDeclaringClass()->getName() === $classReflection->getParentClass()->getName() || $classReflection->getParentClass()->hasMethod($classReflection->getParentClass()->getName()) && $classReflection->getParentClass()->getMethod($classReflection->getParentClass()->getName())->getDeclaringClass()->getName() === $classReflection->getParentClass()->getName()) { return $classReflection->getParentClass(); } $classReflection = $classReflection->getParentClass(); } return false; }