summaryrefslogtreecommitdiff
path: root/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/nikic/php-parser/lib/PhpParser/Node/Scalar')
-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
3 files changed, 31 insertions, 2 deletions
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.