hasGlobalConstantWithFQSEN() public method

public hasGlobalConstantWithFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedGlobalConstantName
return boolean True if an element with the given FQSEN exists
コード例 #1
0
ファイル: ContextNode.php プロジェクト: ablyler/phan
 /**
  * @return ClassConstant
  * Get the (non-class) constant associated with this node
  * in this context
  *
  * @throws NodeException
  * An exception is thrown if we can't understand the node
  *
  * @throws CodeBaseExtension
  * An exception is thrown if we can't find the given
  * class
  */
 public function getConst() : ClassConstant
 {
     assert($this->node->kind === \ast\AST_CONST, "Node must be of type \\ast\\AST_CONST");
     if ($this->node->children['name']->kind !== \ast\AST_NAME) {
         throw new NodeException($this->node, "Can't determine constant name");
     }
     $constant_name = $this->node->children['name']->children['name'];
     $fqsen = FullyQualifiedGlobalConstantName::fromStringInContext($constant_name, $this->context);
     if (!$this->code_base->hasGlobalConstantWithFQSEN($fqsen)) {
         throw new IssueException(Issue::fromType(Issue::UndeclaredConstant)($this->context->getFile(), $this->node->lineno ?? 0, [$constant_name]));
     }
     return $this->code_base->getGlobalConstantByFQSEN($fqsen);
 }