You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?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'; } }
|