Files
iTop/lib/nikic/php-parser/lib/PhpParser/Node/Identifier.php
Pierre Goiffon a7e7e62245 ⬆️ Upgrade lib : nikic/php-parser
We were on v3 that is no longer maintained and compatibility is annonced for PHP 7.2.
v4 is active and supports PHP up to 8.0
No problem to update as this is only used in the config editor (\Combodo\iTop\Config\Validator\iTopConfigAstValidator)
2021-03-29 16:35:30 +02:00

76 lines
1.7 KiB
PHP

<?php declare(strict_types=1);
namespace PhpParser\Node;
use PhpParser\NodeAbstract;
/**
* Represents a non-namespaced name. Namespaced names are represented using Name nodes.
*/
class Identifier extends NodeAbstract
{
/** @var string Identifier as string */
public $name;
private static $specialClassNames = [
'self' => true,
'parent' => true,
'static' => true,
];
/**
* Constructs an identifier node.
*
* @param string $name Identifier as string
* @param array $attributes Additional attributes
*/
public function __construct(string $name, array $attributes = []) {
$this->attributes = $attributes;
$this->name = $name;
}
public function getSubNodeNames() : array {
return ['name'];
}
/**
* Get identifier as string.
*
* @return string Identifier as string.
*/
public function toString() : string {
return $this->name;
}
/**
* Get lowercased identifier as string.
*
* @return string Lowercased identifier as string
*/
public function toLowerString() : string {
return strtolower($this->name);
}
/**
* Checks whether the identifier is a special class name (self, parent or static).
*
* @return bool Whether identifier is a special class name
*/
public function isSpecialClassName() : bool {
return isset(self::$specialClassNames[strtolower($this->name)]);
}
/**
* Get identifier as string.
*
* @return string Identifier as string
*/
public function __toString() : string {
return $this->name;
}
public function getType() : string {
return 'Identifier';
}
}