You are here

private function DocParser::Identifier in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php \Drupal\Component\Annotation\Doctrine\DocParser::Identifier()

Identifier ::= string

Return value

string

2 calls to DocParser::Identifier()
DocParser::Annotation in core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php
Annotation ::= "@" AnnotationName MethodCall AnnotationName ::= QualifiedName | SimpleName QualifiedName ::= NameSpacePart "\" {NameSpacePart "\"}* SimpleName NameSpacePart ::= identifier | null | false |…
DocParser::Constant in core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php
Constant ::= integer | string | float | boolean

File

core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php, line 958
This class is a near-copy of Doctrine\Common\Annotations\DocParser, which is part of the Doctrine project: <http://www.doctrine-project.org>. It was copied from version 1.2.7.

Class

DocParser
A parser for docblock annotations.

Namespace

Drupal\Component\Annotation\Doctrine

Code

private function Identifier() {

  // check if we have an annotation
  if (!$this->lexer
    ->isNextTokenAny(self::$classIdentifiers)) {
    $this
      ->syntaxError('namespace separator or identifier');
  }
  $this->lexer
    ->moveNext();
  $className = $this->lexer->token['value'];
  while (null !== $this->lexer->lookahead && $this->lexer->lookahead['position'] === $this->lexer->token['position'] + strlen($this->lexer->token['value']) && $this->lexer
    ->isNextToken(DocLexer::T_NAMESPACE_SEPARATOR)) {
    $this
      ->match(DocLexer::T_NAMESPACE_SEPARATOR);
    $this
      ->matchAny(self::$classIdentifiers);
    $className .= '\\' . $this->lexer->token['value'];
  }
  return $className;
}