mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-26 21:54:13 +01:00
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)
76 lines
1.7 KiB
PHP
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';
|
|
}
|
|
}
|