/**
  * @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;
 }