mirror of
https://github.com/barryvdh/ReflectionDocBlock.git
synced 2026-08-18 18:13:13 +00:00
Restores future support for annotations
In #89 the regex to parse tags was to strict. The first character after a tag had to be a single string. Annotations typically start with a parentheses. Only character not allowed after a tag is a [.
This commit is contained in:
committed by
Jaap van Otterdijk
parent
48d3720bf4
commit
183824db76
@@ -113,6 +113,12 @@ final class StandardTagFactory implements TagFactory
|
||||
|
||||
list($tagName, $tagBody) = $this->extractTagParts($tagLine);
|
||||
|
||||
if ($tagBody[0] === '[') {
|
||||
throw new \InvalidArgumentException(
|
||||
'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors'
|
||||
);
|
||||
}
|
||||
|
||||
return $this->createTag($tagBody, $tagName, $context);
|
||||
}
|
||||
|
||||
@@ -161,7 +167,7 @@ final class StandardTagFactory implements TagFactory
|
||||
private function extractTagParts($tagLine)
|
||||
{
|
||||
$matches = array();
|
||||
if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s+([^\s].*)|$)/us', $tagLine, $matches)) {
|
||||
if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)/us', $tagLine, $matches)) {
|
||||
throw new \InvalidArgumentException(
|
||||
'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors'
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user