You are here

public function TokenParser::parseUseStatements in Service Container 7

Same name and namespace in other branches
  1. 7.2 modules/providers/service_container_annotation_discovery/lib/Doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php \Doctrine\Common\Annotations\TokenParser::parseUseStatements()

Gets all use statements.

Parameters

string $namespaceName The namespace name of the reflected class.:

Return value

array A list with all found use statements.

File

modules/providers/service_container_annotation_discovery/lib/Doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php, line 139

Class

TokenParser
Parses a file for namespaces/use/class declarations.

Namespace

Doctrine\Common\Annotations

Code

public function parseUseStatements($namespaceName) {
  $statements = array();
  while ($token = $this
    ->next()) {
    if ($token[0] === T_USE) {
      $statements = array_merge($statements, $this
        ->parseUseStatement());
      continue;
    }
    if ($token[0] !== T_NAMESPACE || $this
      ->parseNamespace() != $namespaceName) {
      continue;
    }

    // Get fresh array for new namespace. This is to prevent the parser to collect the use statements
    // for a previous namespace with the same name. This is the case if a namespace is defined twice
    // or if a namespace with the same name is commented out.
    $statements = array();
  }
  return $statements;
}