/** * @return string */ public function getDocComment() { if (!$this->node->hasAttribute('comments')) { return ''; } /* @var \PhpParser\Comment\Doc $comment */ $comment = $this->node->getAttribute('comments')[0]; return $comment->getReformattedText(); }
public function getStartLine() { return $this->classLikeNode->getAttribute('startLine'); }
/** * Parses methods from the concrete class node * * @param ClassLike $classLikeNode Class-like node * @param ReflectionClass $reflectionClass Reflection of the class * * @return array|ReflectionMethod[] */ public static function collectFromClassNode(ClassLike $classLikeNode, ReflectionClass $reflectionClass) { $methods = []; foreach ($classLikeNode->stmts as $classLevelNode) { if ($classLevelNode instanceof ClassMethod) { $classLevelNode->setAttribute('fileName', $classLikeNode->getAttribute('fileName')); $methodName = $classLevelNode->name; $methods[$methodName] = new ReflectionMethod($reflectionClass->name, $methodName, $classLevelNode, $reflectionClass); } } return $methods; }