Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. NameResolver.php

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

NameResolver

Namespace

PhpParser\NodeVisitor

Code

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;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal