summaryrefslogtreecommitdiff
path: root/vendor/nikic/php-parser/lib/PhpParser/Node
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/nikic/php-parser/lib/PhpParser/Node')
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php4
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php13
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php4
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php2
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php25
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php2
7 files changed, 60 insertions, 6 deletions
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php
index b69eb16fa..07a74df80 100644
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php
@@ -11,7 +11,7 @@ class Const_ extends NodeAbstract
/** @var Expr Value */
public $value;
- /** @var Name Namespaced name (if using NameResolver) */
+ /** @var Name|null Namespaced name (if using NameResolver) */
public $namespacedName;
/**
@@ -30,7 +30,7 @@ class Const_ extends NodeAbstract
public function getSubNodeNames() : array {
return ['name', 'value'];
}
-
+
public function getType() : string {
return 'Const';
}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php
index 29ce0dd40..d4796d65b 100644
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php
@@ -25,6 +25,17 @@ class DNumber extends Scalar
}
/**
+ * @param mixed[] $attributes
+ */
+ public static function fromString(string $str, array $attributes = []): DNumber
+ {
+ $attributes['rawValue'] = $str;
+ $float = self::parse($str);
+
+ return new DNumber($float, $attributes);
+ }
+
+ /**
* @internal
*
* Parses a DNUMBER token like PHP would.
@@ -63,7 +74,7 @@ class DNumber extends Scalar
// dec
return (float) $str;
}
-
+
public function getType() : string {
return 'Scalar_DNumber';
}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php
index f17dd1f8a..2cc2b22c8 100644
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php
@@ -41,6 +41,8 @@ class LNumber extends Scalar
* @return LNumber The constructed LNumber, including kind attribute
*/
public static function fromString(string $str, array $attributes = [], bool $allowInvalidOctal = false) : LNumber {
+ $attributes['rawValue'] = $str;
+
$str = str_replace('_', '', $str);
if ('0' !== $str[0] || '0' === $str) {
@@ -71,7 +73,7 @@ class LNumber extends Scalar
$attributes['kind'] = LNumber::KIND_OCT;
return new LNumber(intval($str, 8), $attributes);
}
-
+
public function getType() : string {
return 'Scalar_LNumber';
}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php
index 8a6d93a47..6690a16bf 100644
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php
@@ -43,6 +43,22 @@ class String_ extends Scalar
}
/**
+ * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes
+ */
+ public static function fromString(string $str, array $attributes = [], bool $parseUnicodeEscape = true): self
+ {
+ $attributes['kind'] = ($str[0] === "'" || ($str[1] === "'" && ($str[0] === 'b' || $str[0] === 'B')))
+ ? Scalar\String_::KIND_SINGLE_QUOTED
+ : Scalar\String_::KIND_DOUBLE_QUOTED;
+
+ $attributes['rawValue'] = $str;
+
+ $string = self::parse($str, $parseUnicodeEscape);
+
+ return new self($string, $attributes);
+ }
+
+ /**
* @internal
*
* Parses a string token.
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php
index 6c3369172..2fa4e861b 100644
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php
@@ -13,7 +13,7 @@ abstract class ClassLike extends Node\Stmt
/** @var Node\AttributeGroup[] PHP attribute groups */
public $attrGroups;
- /** @var Node\Name Namespaced name (if using NameResolver) */
+ /** @var Node\Name|null Namespaced name (if using NameResolver) */
public $namespacedName;
/**
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php
index b290aaf6d..52ed6c6cd 100644
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php
@@ -68,6 +68,10 @@ class Class_ extends ClassLike
return (bool) ($this->flags & self::MODIFIER_FINAL);
}
+ public function isReadonly() : bool {
+ return (bool) ($this->flags & self::MODIFIER_READONLY);
+ }
+
/**
* Whether the class is anonymous.
*
@@ -80,6 +84,27 @@ class Class_ extends ClassLike
/**
* @internal
*/
+ public static function verifyClassModifier($a, $b) {
+ if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) {
+ throw new Error('Multiple abstract modifiers are not allowed');
+ }
+
+ if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) {
+ throw new Error('Multiple final modifiers are not allowed');
+ }
+
+ if ($a & self::MODIFIER_READONLY && $b & self::MODIFIER_READONLY) {
+ throw new Error('Multiple readonly modifiers are not allowed');
+ }
+
+ if ($a & 48 && $b & 48) {
+ throw new Error('Cannot use the final modifier on an abstract class');
+ }
+ }
+
+ /**
+ * @internal
+ */
public static function verifyModifier($a, $b) {
if ($a & self::VISIBILITY_MODIFIER_MASK && $b & self::VISIBILITY_MODIFIER_MASK) {
throw new Error('Multiple access type modifiers are not allowed');
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php
index abb7ee5c8..c2ccae24e 100644
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php
@@ -20,7 +20,7 @@ class Function_ extends Node\Stmt implements FunctionLike
/** @var Node\AttributeGroup[] PHP attribute groups */
public $attrGroups;
- /** @var Node\Name Namespaced name (if using NameResolver) */
+ /** @var Node\Name|null Namespaced name (if using NameResolver) */
public $namespacedName;
/**