function NameContext::resolveAlias
2 calls to NameContext::resolveAlias()
- NameContext::getPossibleNames in vendor/
nikic/ php-parser/ lib/ PhpParser/ NameContext.php - Get possible ways of writing a fully qualified name (e.g., by making use of aliases).
- NameContext::getResolvedName in vendor/
nikic/ php-parser/ lib/ PhpParser/ NameContext.php - Get resolved name.
File
-
vendor/
nikic/ php-parser/ lib/ PhpParser/ NameContext.php, line 229
Class
Namespace
PhpParserCode
private function resolveAlias(Name $name, int $type) : ?FullyQualified {
$firstPart = $name->getFirst();
if ($name->isQualified()) {
// resolve aliases for qualified names, always against class alias table
$checkName = strtolower($firstPart);
if (isset($this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName])) {
$alias = $this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName];
return FullyQualified::concat($alias, $name->slice(1), $name->getAttributes());
}
}
elseif ($name->isUnqualified()) {
// constant aliases are case-sensitive, function aliases case-insensitive
$checkName = $type === Stmt\Use_::TYPE_CONSTANT ? $firstPart : strtolower($firstPart);
if (isset($this->aliases[$type][$checkName])) {
// resolve unqualified aliases
return new FullyQualified($this->aliases[$type][$checkName], $name->getAttributes());
}
}
// No applicable aliases
return null;
}