summaryrefslogtreecommitdiff
path: root/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php')
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php75
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php
new file mode 100644
index 000000000..2f262db0a
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php
@@ -0,0 +1,75 @@
+<?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';
+ }
+}