mirror of
https://github.com/barryvdh/ReflectionDocBlock.git
synced 2026-08-18 01:57:13 +00:00
Added Tag::getParsedDescription();
Minor performance tweak at LongDescription.
This commit is contained in:
@@ -38,14 +38,16 @@ class LongDescription implements \Reflector
|
||||
*/
|
||||
public function __construct($content)
|
||||
{
|
||||
$this->parsedContents = preg_split('/{\@(.+?)\}/uS', $content, null, PREG_SPLIT_DELIM_CAPTURE);
|
||||
$this->parsedContents = preg_split(
|
||||
'/\{(\@.*)\}/uS',
|
||||
$this->contents = trim($content),
|
||||
null, PREG_SPLIT_DELIM_CAPTURE
|
||||
);
|
||||
for ($i=1, $l = count($this->parsedContents); $i<$l; $i += 2) {
|
||||
$this->parsedContents[$i] = $this->tags[] = Tag::createInstance(
|
||||
'@' . $this->parsedContents[$i]
|
||||
$this->parsedContents[$i]
|
||||
);
|
||||
}
|
||||
|
||||
$this->contents = trim($content);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,13 +24,16 @@ class Tag implements \Reflector
|
||||
/** @var string Name of the tag */
|
||||
protected $tag = '';
|
||||
|
||||
/** @var string content of the tag */
|
||||
/** @var string Content of the tag */
|
||||
protected $content = '';
|
||||
|
||||
/** @var string description of the content of this tag */
|
||||
/** @var string Description of the content of this tag */
|
||||
protected $description = '';
|
||||
|
||||
/** @var array The description, as an array of strings and Tag objects. */
|
||||
protected $parsedDescription = null;
|
||||
|
||||
/** @var int line number of the tag */
|
||||
/** @var int Line number of the tag */
|
||||
protected $line_number = 0;
|
||||
|
||||
/** @var \phpDocumentor\Reflection\DocBlock docblock class */
|
||||
@@ -108,6 +111,21 @@ class Tag implements \Reflector
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the parsed text of this description.
|
||||
*
|
||||
* @return array An array of strings and tag objects, in the order they
|
||||
* occur within the description.
|
||||
*/
|
||||
public function getParsedDescription()
|
||||
{
|
||||
if (null === $this->parsedDescription) {
|
||||
$description = new LongDescription($this->description);
|
||||
$this->parsedDescription = $description->getParsedContents();
|
||||
}
|
||||
return $this->parsedDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the tag line number
|
||||
|
||||
Reference in New Issue
Block a user