/** * Returns the parsed DocBlock. * * @return \phpDocumentor\Reflection\DocBlock|null */ public function getDocBlock() { $doc_block = null; if ($comment = $this->property->getDocComment()) { try { $doc_block = new \phpDocumentor\Reflection\DocBlock((string) $comment, $this->getNamespace(), $this->getNamespaceAliases()); $doc_block->line_number = $comment->getLine(); } catch (\Exception $e) { $this->log($e->getMessage(), 2); } } \phpDocumentor\Plugin\EventDispatcher::getInstance()->dispatch('reflection.docblock-extraction.post', \phpDocumentor\Reflection\Events\PostDocBlockExtractionEvent::createInstance($this)->setDocblock($doc_block)); return $doc_block; }
protected function addProperty(\PHPParser_Node_Stmt_Property $node) { foreach ($node->props as $prop) { $property = new PropertyReflection($prop->name, $prop->getLine()); $property->setModifiers($node->type); if ($this->context->getFilter()->acceptProperty($property)) { $this->context->getClass()->addProperty($property); $property->setDefault($prop->default); $comment = $this->context->getDocBlockParser()->parse($node->getDocComment(), $this->context, $property); $property->setDocComment($node->getDocComment()); $property->setShortDesc($comment->getShortDesc()); $property->setLongDesc($comment->getLongDesc()); if ($errors = $comment->getErrors()) { $this->context->addErrors((string) $property, $prop->getLine(), $errors); } else { if ($tag = $comment->getTag('var')) { $property->setHint($this->resolveHint($tag[0][0])); $property->setHintDesc($tag[0][1]); } $property->setTags($comment->getOtherTags()); } } } }
private function processProperty(\PHPParser_Node_Stmt_Property $node) { $property = $node->props[0]; $member = $this->unit->addMember($property->name); $this->setVariableType($member, $property->type); $this->setVariableDefaultValue($member, $property->default); $visibility = 'public'; if ($node->isPrivate()) { $visibility = 'private'; } elseif ($node->isProtected()) { $visibility = 'protected'; } $member->setVisibility($visibility); $docComment = $node->getDocComment(); if ($docComment !== NULL) { $block = $this->dockblocParser->parse($docComment, $this->aliasMap); $member->setDocBlock($block); } $member->setLine($node->getLine()); }