本文整理汇总了PHP中Phan\CodeBase::hasConstant方法的典型用法代码示例。如果您正苦于以下问题:PHP CodeBase::hasConstant方法的具体用法?PHP CodeBase::hasConstant怎么用?PHP CodeBase::hasConstant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Phan\CodeBase
的用法示例。
在下文中一共展示了CodeBase::hasConstant方法的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: hasConstantWithName
/**
* @return bool
* True if a constant with the given name is defined
* on this class.
*/
public function hasConstantWithName(CodeBase $code_base, string $name) : bool
{
return $code_base->hasConstant($this->getFQSEN(), $name);
}