/** * @param Reflector $reflector * @param MethodNode $node * @param ReflectionClass $declaringClass * @return ReflectionMethod */ public static function createFromNode(Reflector $reflector, MethodNode $node, ReflectionClass $declaringClass) { $method = new self(); $method->declaringClass = $declaringClass; // Compat with core reflection means we should NOT pass namespace info // for ReflectionMethod $method->populateFunctionAbstract($reflector, $node, $declaringClass->getLocatedSource(), null); return $method; }
/** * @param MethodNode $node * @param ReflectionClass $declaringClass * @return ReflectionMethod */ public static function createFromNode(MethodNode $node, ReflectionClass $declaringClass) { $method = new self($node); $method->declaringClass = $declaringClass; // Compat with core reflection means we should NOT pass namespace info // for ReflectionMethod $method->populateFunctionAbstract($node, $declaringClass->getLocatedSource(), null); $method->flags |= $node->isAbstract() ? self::IS_ABSTRACT : 0; $method->flags |= $node->isFinal() ? self::IS_FINAL : 0; $method->flags |= $node->isPrivate() ? self::IS_PRIVATE : 0; $method->flags |= $node->isProtected() ? self::IS_PROTECTED : 0; $method->flags |= $node->isPublic() ? self::IS_PUBLIC : 0; $method->flags |= $node->isStatic() ? self::IS_STATIC : 0; return $method; }
/** * @param FunctionNode $node * @param NamespaceNode|null $namespaceNode * @param LocatedSource $locatedSource * @return ReflectionFunction */ public static function createFromNode(FunctionNode $node, LocatedSource $locatedSource, NamespaceNode $namespaceNode = null) { $function = new self(); $function->populateFunctionAbstract($node, $locatedSource, $namespaceNode); return $function; }