private function addNamespaceInformation(Collection $tokens) { $previousNamespaceToken = null; foreach ($tokens as $i => $token) { if ($token instanceof NamespaceToken) { $nameOrBracket = $tokens->getNextNonWhitespace($token); if (!$nameOrBracket->is('{')) { $token->setNameToken($nameOrBracket); $nameOrBracket->setDetailedType('namespace-name'); $nameOrBracket = $tokens->getNextNonWhitespace($nameOrBracket); } $token->setHasBrackets($nameOrBracket->is('{')); if ($token->hasBrackets()) { $token->setLastToken($nameOrBracket->getCorrespondingBracket()); } if (null !== $previousNamespaceToken && null === $previousNamespaceToken->getLastToken()) { $previousNamespaceToken->setLastToken($tokens[$i - 1]); } $previousNamespaceToken = $token; } $token->setNamespaceToken($previousNamespaceToken); } if (null !== $previousNamespaceToken && null === $previousNamespaceToken->getLastToken()) { $previousNamespaceToken->setLastToken($tokens[$tokens->count() - 1]); } return $tokens; }