本文整理匯總了PHP中Phan\CodeBase::getConstant方法的典型用法代碼示例。如果您正苦於以下問題:PHP CodeBase::getConstant方法的具體用法?PHP CodeBase::getConstant怎麽用?PHP CodeBase::getConstant使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Phan\CodeBase
的用法示例。
在下文中一共展示了CodeBase::getConstant方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: getConst
/**
* @return Constant
* 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() : Constant
{
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");
}
// Get an FQSEN for the root namespace
$fqsen = null;
$constant_name = $this->node->children['name']->children['name'];
if (!$this->code_base->hasConstant($fqsen, $constant_name)) {
throw new CodeBaseException($fqsen, "Cannot find constant with name {$constant_name}");
}
return $this->code_base->getConstant($fqsen, $constant_name);
}
示例2: getConst
/**
* @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");
}
// Get an FQSEN for the root namespace
$fqsen = null;
$constant_name = $this->node->children['name']->children['name'];
if (!$this->code_base->hasConstant($fqsen, $constant_name)) {
throw new IssueException(Issue::fromType(Issue::UndeclaredConstant)($this->context->getFile(), $this->node->lineno ?? 0, [$constant_name]));
}
return $this->code_base->getConstant($fqsen, $constant_name);
}
示例3: getConstantWithName
/**
* @return Constant
* The class constant with the given name.
*/
public function getConstantWithName(CodeBase $code_base, string $name) : Constant
{
return $code_base->getConstant($this->getFQSEN(), $name);
}