function NameResolver::resolveName
Resolve name, according to name resolver options.
Parameters
Name $name Function or constant name to resolve:
Stmt\Use_::TYPE_* $type One of Stmt\Use_::TYPE_*:
Return value
Name Resolved name, or original name with attribute
2 calls to NameResolver::resolveName()
- NameResolver::enterNode in vendor/
nikic/ php-parser/ lib/ PhpParser/ NodeVisitor/ NameResolver.php - Called when entering a node.
- NameResolver::resolveClassName in vendor/
nikic/ php-parser/ lib/ PhpParser/ NodeVisitor/ NameResolver.php
File
-
vendor/
nikic/ php-parser/ lib/ PhpParser/ NodeVisitor/ NameResolver.php, line 221
Class
Namespace
PhpParser\NodeVisitorCode
protected function resolveName(Name $name, int $type) : Name {
if (!$this->replaceNodes) {
$resolvedName = $this->nameContext
->getResolvedName($name, $type);
if (null !== $resolvedName) {
$name->setAttribute('resolvedName', $resolvedName);
}
else {
$name->setAttribute('namespacedName', FullyQualified::concat($this->nameContext
->getNamespace(), $name, $name->getAttributes()));
}
return $name;
}
if ($this->preserveOriginalNames) {
// Save the original name
$originalName = $name;
$name = clone $originalName;
$name->setAttribute('originalName', $originalName);
}
$resolvedName = $this->nameContext
->getResolvedName($name, $type);
if (null !== $resolvedName) {
return $resolvedName;
}
// unqualified names inside a namespace cannot be resolved at compile-time
// add the namespaced version of the name as an attribute
$name->setAttribute('namespacedName', FullyQualified::concat($this->nameContext
->getNamespace(), $name, $name->getAttributes()));
return $name;
}