public function testHasConstant() { $hasConstant = $this->parsedRefFileNamespace->hasConstant('Unknown'); $this->assertFalse($hasConstant); $hasConstant = $this->parsedRefFileNamespace->hasConstant('NAMESPACE_NAME'); $this->assertTrue($hasConstant); }
protected function resolveExprConstFetch(Expr\ConstFetch $node) { $constantValue = null; $isResolved = false; /** @var ReflectionFileNamespace|null $fileNamespace */ $fileNamespace = null; $isFQNConstant = $node->name instanceof Node\Name\FullyQualified; $constantName = $node->name->toString(); if (!$isFQNConstant) { if (method_exists($this->context, 'getFileName')) { $fileName = $this->context->getFileName(); $namespaceName = $this->context->getNamespaceName(); $fileNamespace = new ReflectionFileNamespace($fileName, $namespaceName); if ($fileNamespace->hasConstant($constantName)) { $constantValue = $fileNamespace->getConstant($constantName); $constantName = $fileNamespace->getName() . '\\' . $constantName; $isResolved = true; } } } if (!$isResolved && defined($constantName)) { $constantValue = constant($constantName); } if ($this->nodeLevel === 1 && !isset(self::$notConstants[$constantName])) { $this->isConstant = true; $this->constantName = $constantName; } return $constantValue; }