summaryrefslogtreecommitdiff
path: root/vendor/nikic/php-parser/lib/PhpParser/Node/Expr
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2022-03-22 12:24:31 +0300
committerAndrew Dolgov <[email protected]>2022-03-22 12:24:31 +0300
commit1c4f7ab3b838b23afb2ee4dab14acbf75956e952 (patch)
tree0a19274107d717efe92d2c0376cd3105fead5a11 /vendor/nikic/php-parser/lib/PhpParser/Node/Expr
parent711662948768492e8d05b778a7d80eacaec368d2 (diff)
* add phpunit as a dev dependency
* add some basic tests for UrlHelper::rewrite_relative() * fix UrlHelper::rewrite_relative() to work better on non-absolute relative URL paths
Diffstat (limited to 'vendor/nikic/php-parser/lib/PhpParser/Node/Expr')
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php34
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php41
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php34
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php79
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php34
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php34
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php40
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php16
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php39
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php26
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php17
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php12
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php36
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php79
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php34
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php31
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php31
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php34
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php39
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php39
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php35
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php31
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php45
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php41
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php45
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php35
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php35
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php46
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php36
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php38
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php30
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php34
95 files changed, 2382 insertions, 0 deletions
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php
new file mode 100644
index 000000000..71694478e
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php
@@ -0,0 +1,34 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class ArrayDimFetch extends Expr
+{
+ /** @var Expr Variable */
+ public $var;
+ /** @var null|Expr Array index / dim */
+ public $dim;
+
+ /**
+ * Constructs an array index fetch node.
+ *
+ * @param Expr $var Variable
+ * @param null|Expr $dim Array index / dim
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, Expr $dim = null, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->dim = $dim;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'dim'];
+ }
+
+ public function getType() : string {
+ return 'Expr_ArrayDimFetch';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php
new file mode 100644
index 000000000..1b078f821
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php
@@ -0,0 +1,41 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class ArrayItem extends Expr
+{
+ /** @var null|Expr Key */
+ public $key;
+ /** @var Expr Value */
+ public $value;
+ /** @var bool Whether to assign by reference */
+ public $byRef;
+ /** @var bool Whether to unpack the argument */
+ public $unpack;
+
+ /**
+ * Constructs an array item node.
+ *
+ * @param Expr $value Value
+ * @param null|Expr $key Key
+ * @param bool $byRef Whether to assign by reference
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $value, Expr $key = null, bool $byRef = false, array $attributes = [], bool $unpack = false) {
+ $this->attributes = $attributes;
+ $this->key = $key;
+ $this->value = $value;
+ $this->byRef = $byRef;
+ $this->unpack = $unpack;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['key', 'value', 'byRef', 'unpack'];
+ }
+
+ public function getType() : string {
+ return 'Expr_ArrayItem';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php
new file mode 100644
index 000000000..e6eaa2834
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php
@@ -0,0 +1,34 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Array_ extends Expr
+{
+ // For use in "kind" attribute
+ const KIND_LONG = 1; // array() syntax
+ const KIND_SHORT = 2; // [] syntax
+
+ /** @var (ArrayItem|null)[] Items */
+ public $items;
+
+ /**
+ * Constructs an array node.
+ *
+ * @param (ArrayItem|null)[] $items Items of the array
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(array $items = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->items = $items;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['items'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Array';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php
new file mode 100644
index 000000000..c273fb7ee
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php
@@ -0,0 +1,79 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node;
+use PhpParser\Node\Expr;
+use PhpParser\Node\FunctionLike;
+
+class ArrowFunction extends Expr implements FunctionLike
+{
+ /** @var bool */
+ public $static;
+
+ /** @var bool */
+ public $byRef;
+
+ /** @var Node\Param[] */
+ public $params = [];
+
+ /** @var null|Node\Identifier|Node\Name|Node\ComplexType */
+ public $returnType;
+
+ /** @var Expr */
+ public $expr;
+ /** @var Node\AttributeGroup[] */
+ public $attrGroups;
+
+ /**
+ * @param array $subNodes Array of the following optional subnodes:
+ * 'static' => false : Whether the closure is static
+ * 'byRef' => false : Whether to return by reference
+ * 'params' => array() : Parameters
+ * 'returnType' => null : Return type
+ * 'expr' => Expr : Expression body
+ * 'attrGroups' => array() : PHP attribute groups
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(array $subNodes = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->static = $subNodes['static'] ?? false;
+ $this->byRef = $subNodes['byRef'] ?? false;
+ $this->params = $subNodes['params'] ?? [];
+ $returnType = $subNodes['returnType'] ?? null;
+ $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType;
+ $this->expr = $subNodes['expr'];
+ $this->attrGroups = $subNodes['attrGroups'] ?? [];
+ }
+
+ public function getSubNodeNames() : array {
+ return ['attrGroups', 'static', 'byRef', 'params', 'returnType', 'expr'];
+ }
+
+ public function returnsByRef() : bool {
+ return $this->byRef;
+ }
+
+ public function getParams() : array {
+ return $this->params;
+ }
+
+ public function getReturnType() {
+ return $this->returnType;
+ }
+
+ public function getAttrGroups() : array {
+ return $this->attrGroups;
+ }
+
+ /**
+ * @return Node\Stmt\Return_[]
+ */
+ public function getStmts() : array {
+ return [new Node\Stmt\Return_($this->expr)];
+ }
+
+ public function getType() : string {
+ return 'Expr_ArrowFunction';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php
new file mode 100644
index 000000000..cf9e6e82b
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php
@@ -0,0 +1,34 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Assign extends Expr
+{
+ /** @var Expr Variable */
+ public $var;
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs an assignment node.
+ *
+ * @param Expr $var Variable
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Assign';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php
new file mode 100644
index 000000000..bce8604f1
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+abstract class AssignOp extends Expr
+{
+ /** @var Expr Variable */
+ public $var;
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a compound assignment operation node.
+ *
+ * @param Expr $var Variable
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'expr'];
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php
new file mode 100644
index 000000000..420284cdc
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class BitwiseAnd extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_BitwiseAnd';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php
new file mode 100644
index 000000000..481ad3bbc
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class BitwiseOr extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_BitwiseOr';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php
new file mode 100644
index 000000000..f41d4c8e7
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class BitwiseXor extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_BitwiseXor';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php
new file mode 100644
index 000000000..c0e9b316c
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Coalesce extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Coalesce';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php
new file mode 100644
index 000000000..ac1682078
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Concat extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Concat';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php
new file mode 100644
index 000000000..f1fcfc09a
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Div extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Div';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php
new file mode 100644
index 000000000..82ef4517b
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Minus extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Minus';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php
new file mode 100644
index 000000000..be3b4a0ad
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Mod extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Mod';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php
new file mode 100644
index 000000000..5c196c3bc
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Mul extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Mul';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php
new file mode 100644
index 000000000..dd101c61c
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Plus extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Plus';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php
new file mode 100644
index 000000000..5e1307d1d
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class Pow extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_Pow';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php
new file mode 100644
index 000000000..b8f88269b
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class ShiftLeft extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_ShiftLeft';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php
new file mode 100644
index 000000000..e0cc67b7f
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\AssignOp;
+
+use PhpParser\Node\Expr\AssignOp;
+
+class ShiftRight extends AssignOp
+{
+ public function getType() : string {
+ return 'Expr_AssignOp_ShiftRight';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php
new file mode 100644
index 000000000..de3c644c3
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php
@@ -0,0 +1,34 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class AssignRef extends Expr
+{
+ /** @var Expr Variable reference is assigned to */
+ public $var;
+ /** @var Expr Variable which is referenced */
+ public $expr;
+
+ /**
+ * Constructs an assignment node.
+ *
+ * @param Expr $var Variable
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_AssignRef';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php
new file mode 100644
index 000000000..d9c582b0d
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php
@@ -0,0 +1,40 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+abstract class BinaryOp extends Expr
+{
+ /** @var Expr The left hand side expression */
+ public $left;
+ /** @var Expr The right hand side expression */
+ public $right;
+
+ /**
+ * Constructs a binary operator node.
+ *
+ * @param Expr $left The left hand side expression
+ * @param Expr $right The right hand side expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $left, Expr $right, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->left = $left;
+ $this->right = $right;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['left', 'right'];
+ }
+
+ /**
+ * Get the operator sigil for this binary operation.
+ *
+ * In the case there are multiple possible sigils for an operator, this method does not
+ * necessarily return the one used in the parsed code.
+ *
+ * @return string
+ */
+ abstract public function getOperatorSigil() : string;
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php
new file mode 100644
index 000000000..d907393bf
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class BitwiseAnd extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '&';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_BitwiseAnd';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php
new file mode 100644
index 000000000..d92069f32
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class BitwiseOr extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '|';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_BitwiseOr';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php
new file mode 100644
index 000000000..40fa94f88
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class BitwiseXor extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '^';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_BitwiseXor';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php
new file mode 100644
index 000000000..4c3c9e9b1
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class BooleanAnd extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '&&';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_BooleanAnd';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php
new file mode 100644
index 000000000..5ad417279
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class BooleanOr extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '||';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_BooleanOr';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php
new file mode 100644
index 000000000..b8cf6f459
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Coalesce extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '??';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Coalesce';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php
new file mode 100644
index 000000000..9a8d9873c
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Concat extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '.';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Concat';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php
new file mode 100644
index 000000000..d38df0db4
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Div extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '/';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Div';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php
new file mode 100644
index 000000000..e7b11dc82
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Equal extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '==';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Equal';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php
new file mode 100644
index 000000000..da01f7a10
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Greater extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '>';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Greater';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php
new file mode 100644
index 000000000..d677502cf
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class GreaterOrEqual extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '>=';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_GreaterOrEqual';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php
new file mode 100644
index 000000000..3d96285c6
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Identical extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '===';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Identical';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php
new file mode 100644
index 000000000..2a3afd548
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class LogicalAnd extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return 'and';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_LogicalAnd';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php
new file mode 100644
index 000000000..21507dba6
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class LogicalOr extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return 'or';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_LogicalOr';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php
new file mode 100644
index 000000000..261c6a910
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class LogicalXor extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return 'xor';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_LogicalXor';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php
new file mode 100644
index 000000000..54b3c6e90
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Minus extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '-';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Minus';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php
new file mode 100644
index 000000000..103404040
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Mod extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '%';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Mod';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php
new file mode 100644
index 000000000..b82d0b2fc
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Mul extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '*';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Mul';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php
new file mode 100644
index 000000000..51075da56
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class NotEqual extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '!=';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_NotEqual';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php
new file mode 100644
index 000000000..fa4050e05
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class NotIdentical extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '!==';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_NotIdentical';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php
new file mode 100644
index 000000000..62f022998
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Plus extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '+';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Plus';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php
new file mode 100644
index 000000000..572a1e8e4
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Pow extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '**';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Pow';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php
new file mode 100644
index 000000000..4e70b4ef0
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class ShiftLeft extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '<<';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_ShiftLeft';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php
new file mode 100644
index 000000000..45acbd046
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class ShiftRight extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '>>';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_ShiftRight';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php
new file mode 100644
index 000000000..3cb8e7e0d
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Smaller extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '<';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Smaller';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php
new file mode 100644
index 000000000..83e8e214d
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class SmallerOrEqual extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '<=';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_SmallerOrEqual';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php
new file mode 100644
index 000000000..8c6d787f6
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php
@@ -0,0 +1,16 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\BinaryOp;
+
+use PhpParser\Node\Expr\BinaryOp;
+
+class Spaceship extends BinaryOp
+{
+ public function getOperatorSigil() : string {
+ return '<=>';
+ }
+
+ public function getType() : string {
+ return 'Expr_BinaryOp_Spaceship';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php
new file mode 100644
index 000000000..ed44984be
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class BitwiseNot extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a bitwise not node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_BitwiseNot';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php
new file mode 100644
index 000000000..bf27e9f65
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class BooleanNot extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a boolean not node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_BooleanNot';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php
new file mode 100644
index 000000000..78e1cf349
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php
@@ -0,0 +1,39 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Arg;
+use PhpParser\Node\Expr;
+use PhpParser\Node\VariadicPlaceholder;
+
+abstract class CallLike extends Expr {
+ /**
+ * Return raw arguments, which may be actual Args, or VariadicPlaceholders for first-class
+ * callables.
+ *
+ * @return array<Arg|VariadicPlaceholder>
+ */
+ abstract public function getRawArgs(): array;
+
+ /**
+ * Returns whether this call expression is actually a first class callable.
+ */
+ public function isFirstClassCallable(): bool {
+ foreach ($this->getRawArgs() as $arg) {
+ if ($arg instanceof VariadicPlaceholder) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Assert that this is not a first-class callable and return only ordinary Args.
+ *
+ * @return Arg[]
+ */
+ public function getArgs(): array {
+ assert(!$this->isFirstClassCallable());
+ return $this->getRawArgs();
+ }
+} \ No newline at end of file
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php
new file mode 100644
index 000000000..36769d4fc
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php
@@ -0,0 +1,26 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+abstract class Cast extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a cast node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php
new file mode 100644
index 000000000..57cc473b6
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\Cast;
+
+use PhpParser\Node\Expr\Cast;
+
+class Array_ extends Cast
+{
+ public function getType() : string {
+ return 'Expr_Cast_Array';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php
new file mode 100644
index 000000000..04eb4af58
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\Cast;
+
+use PhpParser\Node\Expr\Cast;
+
+class Bool_ extends Cast
+{
+ public function getType() : string {
+ return 'Expr_Cast_Bool';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php
new file mode 100644
index 000000000..891ba5f87
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php
@@ -0,0 +1,17 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\Cast;
+
+use PhpParser\Node\Expr\Cast;
+
+class Double extends Cast
+{
+ // For use in "kind" attribute
+ const KIND_DOUBLE = 1; // "double" syntax
+ const KIND_FLOAT = 2; // "float" syntax
+ const KIND_REAL = 3; // "real" syntax
+
+ public function getType() : string {
+ return 'Expr_Cast_Double';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php
new file mode 100644
index 000000000..01ed594bd
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\Cast;
+
+use PhpParser\Node\Expr\Cast;
+
+class Int_ extends Cast
+{
+ public function getType() : string {
+ return 'Expr_Cast_Int';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php
new file mode 100644
index 000000000..163752be8
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\Cast;
+
+use PhpParser\Node\Expr\Cast;
+
+class Object_ extends Cast
+{
+ public function getType() : string {
+ return 'Expr_Cast_Object';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php
new file mode 100644
index 000000000..b3d99270a
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\Cast;
+
+use PhpParser\Node\Expr\Cast;
+
+class String_ extends Cast
+{
+ public function getType() : string {
+ return 'Expr_Cast_String';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php
new file mode 100644
index 000000000..accda3e4f
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php
@@ -0,0 +1,12 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr\Cast;
+
+use PhpParser\Node\Expr\Cast;
+
+class Unset_ extends Cast
+{
+ public function getType() : string {
+ return 'Expr_Cast_Unset';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php
new file mode 100644
index 000000000..faf832f93
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php
@@ -0,0 +1,36 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+use PhpParser\Node\Identifier;
+use PhpParser\Node\Name;
+
+class ClassConstFetch extends Expr
+{
+ /** @var Name|Expr Class name */
+ public $class;
+ /** @var Identifier|Error Constant name */
+ public $name;
+
+ /**
+ * Constructs a class const fetch node.
+ *
+ * @param Name|Expr $class Class name
+ * @param string|Identifier|Error $name Constant name
+ * @param array $attributes Additional attributes
+ */
+ public function __construct($class, $name, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->class = $class;
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['class', 'name'];
+ }
+
+ public function getType() : string {
+ return 'Expr_ClassConstFetch';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php
new file mode 100644
index 000000000..db216b8f8
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Clone_ extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a clone node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Clone';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php
new file mode 100644
index 000000000..56ddea6aa
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php
@@ -0,0 +1,79 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node;
+use PhpParser\Node\Expr;
+use PhpParser\Node\FunctionLike;
+
+class Closure extends Expr implements FunctionLike
+{
+ /** @var bool Whether the closure is static */
+ public $static;
+ /** @var bool Whether to return by reference */
+ public $byRef;
+ /** @var Node\Param[] Parameters */
+ public $params;
+ /** @var ClosureUse[] use()s */
+ public $uses;
+ /** @var null|Node\Identifier|Node\Name|Node\ComplexType Return type */
+ public $returnType;
+ /** @var Node\Stmt[] Statements */
+ public $stmts;
+ /** @var Node\AttributeGroup[] PHP attribute groups */
+ public $attrGroups;
+
+ /**
+ * Constructs a lambda function node.
+ *
+ * @param array $subNodes Array of the following optional subnodes:
+ * 'static' => false : Whether the closure is static
+ * 'byRef' => false : Whether to return by reference
+ * 'params' => array(): Parameters
+ * 'uses' => array(): use()s
+ * 'returnType' => null : Return type
+ * 'stmts' => array(): Statements
+ * 'attrGroups' => array(): PHP attributes groups
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(array $subNodes = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->static = $subNodes['static'] ?? false;
+ $this->byRef = $subNodes['byRef'] ?? false;
+ $this->params = $subNodes['params'] ?? [];
+ $this->uses = $subNodes['uses'] ?? [];
+ $returnType = $subNodes['returnType'] ?? null;
+ $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType;
+ $this->stmts = $subNodes['stmts'] ?? [];
+ $this->attrGroups = $subNodes['attrGroups'] ?? [];
+ }
+
+ public function getSubNodeNames() : array {
+ return ['attrGroups', 'static', 'byRef', 'params', 'uses', 'returnType', 'stmts'];
+ }
+
+ public function returnsByRef() : bool {
+ return $this->byRef;
+ }
+
+ public function getParams() : array {
+ return $this->params;
+ }
+
+ public function getReturnType() {
+ return $this->returnType;
+ }
+
+ /** @return Node\Stmt[] */
+ public function getStmts() : array {
+ return $this->stmts;
+ }
+
+ public function getAttrGroups() : array {
+ return $this->attrGroups;
+ }
+
+ public function getType() : string {
+ return 'Expr_Closure';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php
new file mode 100644
index 000000000..2b8a09666
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php
@@ -0,0 +1,34 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class ClosureUse extends Expr
+{
+ /** @var Expr\Variable Variable to use */
+ public $var;
+ /** @var bool Whether to use by reference */
+ public $byRef;
+
+ /**
+ * Constructs a closure use node.
+ *
+ * @param Expr\Variable $var Variable to use
+ * @param bool $byRef Whether to use by reference
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr\Variable $var, bool $byRef = false, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->byRef = $byRef;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'byRef'];
+ }
+
+ public function getType() : string {
+ return 'Expr_ClosureUse';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php
new file mode 100644
index 000000000..14ebd16bd
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php
@@ -0,0 +1,31 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+use PhpParser\Node\Name;
+
+class ConstFetch extends Expr
+{
+ /** @var Name Constant name */
+ public $name;
+
+ /**
+ * Constructs a const fetch node.
+ *
+ * @param Name $name Constant name
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Name $name, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->name = $name;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['name'];
+ }
+
+ public function getType() : string {
+ return 'Expr_ConstFetch';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php
new file mode 100644
index 000000000..4042ec93c
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Empty_ extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs an empty() node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Empty';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php
new file mode 100644
index 000000000..1637f3aea
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php
@@ -0,0 +1,31 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+/**
+ * Error node used during parsing with error recovery.
+ *
+ * An error node may be placed at a position where an expression is required, but an error occurred.
+ * Error nodes will not be present if the parser is run in throwOnError mode (the default).
+ */
+class Error extends Expr
+{
+ /**
+ * Constructs an error node.
+ *
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(array $attributes = []) {
+ $this->attributes = $attributes;
+ }
+
+ public function getSubNodeNames() : array {
+ return [];
+ }
+
+ public function getType() : string {
+ return 'Expr_Error';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php
new file mode 100644
index 000000000..c44ff6f93
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class ErrorSuppress extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs an error suppress node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_ErrorSuppress';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php
new file mode 100644
index 000000000..856854743
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Eval_ extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs an eval() node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Eval';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php
new file mode 100644
index 000000000..b88a8f7e6
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php
@@ -0,0 +1,34 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Exit_ extends Expr
+{
+ /* For use in "kind" attribute */
+ const KIND_EXIT = 1;
+ const KIND_DIE = 2;
+
+ /** @var null|Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs an exit() node.
+ *
+ * @param null|Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr = null, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Exit';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php
new file mode 100644
index 000000000..2de4d0dd5
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php
@@ -0,0 +1,39 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node;
+use PhpParser\Node\Expr;
+
+class FuncCall extends CallLike
+{
+ /** @var Node\Name|Expr Function name */
+ public $name;
+ /** @var array<Node\Arg|Node\VariadicPlaceholder> Arguments */
+ public $args;
+
+ /**
+ * Constructs a function call node.
+ *
+ * @param Node\Name|Expr $name Function name
+ * @param array<Node\Arg|Node\VariadicPlaceholder> $args Arguments
+ * @param array $attributes Additional attributes
+ */
+ public function __construct($name, array $args = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->name = $name;
+ $this->args = $args;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['name', 'args'];
+ }
+
+ public function getType() : string {
+ return 'Expr_FuncCall';
+ }
+
+ public function getRawArgs(): array {
+ return $this->args;
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php
new file mode 100644
index 000000000..07ce5968e
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php
@@ -0,0 +1,39 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Include_ extends Expr
+{
+ const TYPE_INCLUDE = 1;
+ const TYPE_INCLUDE_ONCE = 2;
+ const TYPE_REQUIRE = 3;
+ const TYPE_REQUIRE_ONCE = 4;
+
+ /** @var Expr Expression */
+ public $expr;
+ /** @var int Type of include */
+ public $type;
+
+ /**
+ * Constructs an include node.
+ *
+ * @param Expr $expr Expression
+ * @param int $type Type of include
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, int $type, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ $this->type = $type;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr', 'type'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Include';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php
new file mode 100644
index 000000000..9000d47bb
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php
@@ -0,0 +1,35 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+use PhpParser\Node\Name;
+
+class Instanceof_ extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+ /** @var Name|Expr Class name */
+ public $class;
+
+ /**
+ * Constructs an instanceof check node.
+ *
+ * @param Expr $expr Expression
+ * @param Name|Expr $class Class name
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, $class, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ $this->class = $class;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr', 'class'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Instanceof';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php
new file mode 100644
index 000000000..76b738758
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Isset_ extends Expr
+{
+ /** @var Expr[] Variables */
+ public $vars;
+
+ /**
+ * Constructs an array node.
+ *
+ * @param Expr[] $vars Variables
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(array $vars, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->vars = $vars;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['vars'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Isset';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php
new file mode 100644
index 000000000..c27a27b95
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class List_ extends Expr
+{
+ /** @var (ArrayItem|null)[] List of items to assign to */
+ public $items;
+
+ /**
+ * Constructs a list() destructuring node.
+ *
+ * @param (ArrayItem|null)[] $items List of items to assign to
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(array $items, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->items = $items;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['items'];
+ }
+
+ public function getType() : string {
+ return 'Expr_List';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php
new file mode 100644
index 000000000..2455a3026
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php
@@ -0,0 +1,31 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node;
+use PhpParser\Node\MatchArm;
+
+class Match_ extends Node\Expr
+{
+ /** @var Node\Expr */
+ public $cond;
+ /** @var MatchArm[] */
+ public $arms;
+
+ /**
+ * @param MatchArm[] $arms
+ */
+ public function __construct(Node\Expr $cond, array $arms = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->cond = $cond;
+ $this->arms = $arms;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['cond', 'arms'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Match';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php
new file mode 100644
index 000000000..49ca48356
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php
@@ -0,0 +1,45 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Arg;
+use PhpParser\Node\Expr;
+use PhpParser\Node\Identifier;
+use PhpParser\Node\VariadicPlaceholder;
+
+class MethodCall extends CallLike
+{
+ /** @var Expr Variable holding object */
+ public $var;
+ /** @var Identifier|Expr Method name */
+ public $name;
+ /** @var array<Arg|VariadicPlaceholder> Arguments */
+ public $args;
+
+ /**
+ * Constructs a function call node.
+ *
+ * @param Expr $var Variable holding object
+ * @param string|Identifier|Expr $name Method name
+ * @param array<Arg|VariadicPlaceholder> $args Arguments
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, $name, array $args = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
+ $this->args = $args;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'name', 'args'];
+ }
+
+ public function getType() : string {
+ return 'Expr_MethodCall';
+ }
+
+ public function getRawArgs(): array {
+ return $this->args;
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php
new file mode 100644
index 000000000..e2bb64928
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php
@@ -0,0 +1,41 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node;
+use PhpParser\Node\Arg;
+use PhpParser\Node\Expr;
+use PhpParser\Node\VariadicPlaceholder;
+
+class New_ extends CallLike
+{
+ /** @var Node\Name|Expr|Node\Stmt\Class_ Class name */
+ public $class;
+ /** @var array<Arg|VariadicPlaceholder> Arguments */
+ public $args;
+
+ /**
+ * Constructs a function call node.
+ *
+ * @param Node\Name|Expr|Node\Stmt\Class_ $class Class name (or class node for anonymous classes)
+ * @param array<Arg|VariadicPlaceholder> $args Arguments
+ * @param array $attributes Additional attributes
+ */
+ public function __construct($class, array $args = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->class = $class;
+ $this->args = $args;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['class', 'args'];
+ }
+
+ public function getType() : string {
+ return 'Expr_New';
+ }
+
+ public function getRawArgs(): array {
+ return $this->args;
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php
new file mode 100644
index 000000000..07a571fd8
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php
@@ -0,0 +1,45 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Arg;
+use PhpParser\Node\Expr;
+use PhpParser\Node\Identifier;
+use PhpParser\Node\VariadicPlaceholder;
+
+class NullsafeMethodCall extends CallLike
+{
+ /** @var Expr Variable holding object */
+ public $var;
+ /** @var Identifier|Expr Method name */
+ public $name;
+ /** @var array<Arg|VariadicPlaceholder> Arguments */
+ public $args;
+
+ /**
+ * Constructs a nullsafe method call node.
+ *
+ * @param Expr $var Variable holding object
+ * @param string|Identifier|Expr $name Method name
+ * @param array<Arg|VariadicPlaceholder> $args Arguments
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, $name, array $args = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
+ $this->args = $args;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'name', 'args'];
+ }
+
+ public function getType() : string {
+ return 'Expr_NullsafeMethodCall';
+ }
+
+ public function getRawArgs(): array {
+ return $this->args;
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php
new file mode 100644
index 000000000..9317eb3b9
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php
@@ -0,0 +1,35 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+use PhpParser\Node\Identifier;
+
+class NullsafePropertyFetch extends Expr
+{
+ /** @var Expr Variable holding object */
+ public $var;
+ /** @var Identifier|Expr Property name */
+ public $name;
+
+ /**
+ * Constructs a nullsafe property fetch node.
+ *
+ * @param Expr $var Variable holding object
+ * @param string|Identifier|Expr $name Property name
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, $name, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'name'];
+ }
+
+ public function getType() : string {
+ return 'Expr_NullsafePropertyFetch';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php
new file mode 100644
index 000000000..94d6c296d
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class PostDec extends Expr
+{
+ /** @var Expr Variable */
+ public $var;
+
+ /**
+ * Constructs a post decrement node.
+ *
+ * @param Expr $var Variable
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var'];
+ }
+
+ public function getType() : string {
+ return 'Expr_PostDec';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php
new file mode 100644
index 000000000..005c443a2
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class PostInc extends Expr
+{
+ /** @var Expr Variable */
+ public $var;
+
+ /**
+ * Constructs a post increment node.
+ *
+ * @param Expr $var Variable
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var'];
+ }
+
+ public function getType() : string {
+ return 'Expr_PostInc';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php
new file mode 100644
index 000000000..a5ca685a8
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class PreDec extends Expr
+{
+ /** @var Expr Variable */
+ public $var;
+
+ /**
+ * Constructs a pre decrement node.
+ *
+ * @param Expr $var Variable
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var'];
+ }
+
+ public function getType() : string {
+ return 'Expr_PreDec';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php
new file mode 100644
index 000000000..0986c4474
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class PreInc extends Expr
+{
+ /** @var Expr Variable */
+ public $var;
+
+ /**
+ * Constructs a pre increment node.
+ *
+ * @param Expr $var Variable
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var'];
+ }
+
+ public function getType() : string {
+ return 'Expr_PreInc';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php
new file mode 100644
index 000000000..2d43c2ac8
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Print_ extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs an print() node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Print';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php
new file mode 100644
index 000000000..4281f31cc
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php
@@ -0,0 +1,35 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+use PhpParser\Node\Identifier;
+
+class PropertyFetch extends Expr
+{
+ /** @var Expr Variable holding object */
+ public $var;
+ /** @var Identifier|Expr Property name */
+ public $name;
+
+ /**
+ * Constructs a function call node.
+ *
+ * @param Expr $var Variable holding object
+ * @param string|Identifier|Expr $name Property name
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $var, $name, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->var = $var;
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['var', 'name'];
+ }
+
+ public function getType() : string {
+ return 'Expr_PropertyFetch';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php
new file mode 100644
index 000000000..537a7cc80
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class ShellExec extends Expr
+{
+ /** @var array Encapsed string array */
+ public $parts;
+
+ /**
+ * Constructs a shell exec (backtick) node.
+ *
+ * @param array $parts Encapsed string array
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(array $parts, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->parts = $parts;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['parts'];
+ }
+
+ public function getType() : string {
+ return 'Expr_ShellExec';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php
new file mode 100644
index 000000000..d0d099c47
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php
@@ -0,0 +1,46 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node;
+use PhpParser\Node\Arg;
+use PhpParser\Node\Expr;
+use PhpParser\Node\Identifier;
+use PhpParser\Node\VariadicPlaceholder;
+
+class StaticCall extends CallLike
+{
+ /** @var Node\Name|Expr Class name */
+ public $class;
+ /** @var Identifier|Expr Method name */
+ public $name;
+ /** @var array<Arg|VariadicPlaceholder> Arguments */
+ public $args;
+
+ /**
+ * Constructs a static method call node.
+ *
+ * @param Node\Name|Expr $class Class name
+ * @param string|Identifier|Expr $name Method name
+ * @param array<Arg|VariadicPlaceholder> $args Arguments
+ * @param array $attributes Additional attributes
+ */
+ public function __construct($class, $name, array $args = [], array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->class = $class;
+ $this->name = \is_string($name) ? new Identifier($name) : $name;
+ $this->args = $args;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['class', 'name', 'args'];
+ }
+
+ public function getType() : string {
+ return 'Expr_StaticCall';
+ }
+
+ public function getRawArgs(): array {
+ return $this->args;
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php
new file mode 100644
index 000000000..1ee1a25e5
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php
@@ -0,0 +1,36 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+use PhpParser\Node\Name;
+use PhpParser\Node\VarLikeIdentifier;
+
+class StaticPropertyFetch extends Expr
+{
+ /** @var Name|Expr Class name */
+ public $class;
+ /** @var VarLikeIdentifier|Expr Property name */
+ public $name;
+
+ /**
+ * Constructs a static property fetch node.
+ *
+ * @param Name|Expr $class Class name
+ * @param string|VarLikeIdentifier|Expr $name Property name
+ * @param array $attributes Additional attributes
+ */
+ public function __construct($class, $name, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->class = $class;
+ $this->name = \is_string($name) ? new VarLikeIdentifier($name) : $name;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['class', 'name'];
+ }
+
+ public function getType() : string {
+ return 'Expr_StaticPropertyFetch';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php
new file mode 100644
index 000000000..9316f47d4
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php
@@ -0,0 +1,38 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Ternary extends Expr
+{
+ /** @var Expr Condition */
+ public $cond;
+ /** @var null|Expr Expression for true */
+ public $if;
+ /** @var Expr Expression for false */
+ public $else;
+
+ /**
+ * Constructs a ternary operator node.
+ *
+ * @param Expr $cond Condition
+ * @param null|Expr $if Expression for true
+ * @param Expr $else Expression for false
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $cond, $if, Expr $else, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->cond = $cond;
+ $this->if = $if;
+ $this->else = $else;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['cond', 'if', 'else'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Ternary';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php
new file mode 100644
index 000000000..5c97f0e2b
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node;
+
+class Throw_ extends Node\Expr
+{
+ /** @var Node\Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a throw expression node.
+ *
+ * @param Node\Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Node\Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Throw';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php
new file mode 100644
index 000000000..ce8808bc6
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class UnaryMinus extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a unary minus node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_UnaryMinus';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php
new file mode 100644
index 000000000..d23047e54
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class UnaryPlus extends Expr
+{
+ /** @var Expr Expression */
+ public $expr;
+
+ /**
+ * Constructs a unary plus node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_UnaryPlus';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php
new file mode 100644
index 000000000..b47d38e93
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Variable extends Expr
+{
+ /** @var string|Expr Name */
+ public $name;
+
+ /**
+ * Constructs a variable node.
+ *
+ * @param string|Expr $name Name
+ * @param array $attributes Additional attributes
+ */
+ public function __construct($name, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->name = $name;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['name'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Variable';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php
new file mode 100644
index 000000000..a3efce618
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php
@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class YieldFrom extends Expr
+{
+ /** @var Expr Expression to yield from */
+ public $expr;
+
+ /**
+ * Constructs an "yield from" node.
+ *
+ * @param Expr $expr Expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $expr, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->expr = $expr;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['expr'];
+ }
+
+ public function getType() : string {
+ return 'Expr_YieldFrom';
+ }
+}
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php
new file mode 100644
index 000000000..aef8fc333
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php
@@ -0,0 +1,34 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser\Node\Expr;
+
+use PhpParser\Node\Expr;
+
+class Yield_ extends Expr
+{
+ /** @var null|Expr Key expression */
+ public $key;
+ /** @var null|Expr Value expression */
+ public $value;
+
+ /**
+ * Constructs a yield expression node.
+ *
+ * @param null|Expr $value Value expression
+ * @param null|Expr $key Key expression
+ * @param array $attributes Additional attributes
+ */
+ public function __construct(Expr $value = null, Expr $key = null, array $attributes = []) {
+ $this->attributes = $attributes;
+ $this->key = $key;
+ $this->value = $value;
+ }
+
+ public function getSubNodeNames() : array {
+ return ['key', 'value'];
+ }
+
+ public function getType() : string {
+ return 'Expr_Yield';
+ }
+}