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

Breadcrumb

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

function NameContext::getResolvedName

Get resolved name.

Parameters

Name $name Name to resolve:

Stmt\Use_::TYPE_* $type One of Stmt\Use_::TYPE_{FUNCTION|CONSTANT}:

Return value

null|Name Resolved name, or null if static resolution is not possible

1 call to NameContext::getResolvedName()
NameContext::getResolvedClassName in vendor/nikic/php-parser/lib/PhpParser/NameContext.php
Get resolved class name.

File

vendor/nikic/php-parser/lib/PhpParser/NameContext.php, line 101

Class

NameContext

Namespace

PhpParser

Code

public function getResolvedName(Name $name, int $type) : ?Name {
    // don't resolve special class names
    if ($type === Stmt\Use_::TYPE_NORMAL && $name->isSpecialClassName()) {
        if (!$name->isUnqualified()) {
            $this->errorHandler
                ->handleError(new Error(sprintf("'\\%s' is an invalid class name", $name->toString()), $name->getAttributes()));
        }
        return $name;
    }
    // fully qualified names are already resolved
    if ($name->isFullyQualified()) {
        return $name;
    }
    // Try to resolve aliases
    if (null !== ($resolvedName = $this->resolveAlias($name, $type))) {
        return $resolvedName;
    }
    if ($type !== Stmt\Use_::TYPE_NORMAL && $name->isUnqualified()) {
        if (null === $this->namespace) {
            // outside of a namespace unaliased unqualified is same as fully qualified
            return new FullyQualified($name, $name->getAttributes());
        }
        // Cannot resolve statically
        return null;
    }
    // if no alias exists prepend current namespace
    return FullyQualified::concat($this->namespace, $name, $name->getAttributes());
}

API Navigation

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