// make sure the @ is followed by either a namespace separator, or
// an identifier token
if ((null ===
$peek =
$this->lexer->
glimpse()) || (DocLexer::T_NAMESPACE_SEPARATOR !==
$peek['type'
] && !
in_array($peek['type'
], self::
$classIdentifiers, true
)) ||
$peek['position'
] !==
$this->lexer->lookahead
['position'
] + 1
) { $this->lexer->
moveNext();
continue;
} $this->isNestedAnnotation = false;
if (false !==
$annot =
$this->
Annotation()) { $annotations[] =
$annot;
} } return $annotations;
} /**
* Annotation ::= "@" AnnotationName MethodCall
* AnnotationName ::= QualifiedName | SimpleName
* QualifiedName ::= NameSpacePart "\" {NameSpacePart "\"}* SimpleName
* NameSpacePart ::= identifier | null | false | true
* SimpleName ::= identifier | null | false | true
*
* @return mixed False if it is not a valid annotation.
*
* @throws AnnotationException
*/