PHPStan\Reflection\ClassMemberReflection::getDeclaringClass PHP Method

getDeclaringClass() public method

public getDeclaringClass ( ) : ClassReflection
return ClassReflection
    public function getDeclaringClass() : ClassReflection;

Usage Example

Example #1
0
 private function canAccessClassMember(ClassMemberReflection $classMemberReflection) : bool
 {
     if ($classMemberReflection->isPublic()) {
         return true;
     }
     $class = $this->inClosureBindScopeClass !== null ? $this->inClosureBindScopeClass : $this->getClass();
     if ($class === null) {
         return false;
     }
     if (!$this->broker->hasClass($class)) {
         return false;
     }
     $classReflectionName = $classMemberReflection->getDeclaringClass()->getName();
     if ($classMemberReflection->isPrivate()) {
         return $class === $classReflectionName;
     }
     $currentClassReflection = $this->broker->getClass($class);
     // protected
     if ($currentClassReflection->getName() === $classReflectionName || $currentClassReflection->isSubclassOf($classReflectionName)) {
         return true;
     }
     return $classMemberReflection->getDeclaringClass()->isSubclassOf($class);
 }