function Php7::initReduceCallbacks
Overrides ParserAbstract::initReduceCallbacks
File
-
vendor/
nikic/ php-parser/ lib/ PhpParser/ Parser/ Php7.php, line 1175
Class
Namespace
PhpParser\ParserCode
protected function initReduceCallbacks() : void {
$this->reduceCallbacks = [
0 => null,
1 => static function ($self, $stackPos) {
$self->semValue = $self->handleNamespaces($self->semStack[$stackPos - (1 - 1)]);
},
2 => static function ($self, $stackPos) {
if ($self->semStack[$stackPos - (2 - 2)] !== null) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
}
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
3 => static function ($self, $stackPos) {
$self->semValue = array();
},
4 => static function ($self, $stackPos) {
$nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
if ($nop !== null) {
$self->semStack[$stackPos - (1 - 1)][] = $nop;
}
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
},
5 => null,
6 => null,
7 => null,
8 => null,
9 => null,
10 => null,
11 => null,
12 => null,
13 => null,
14 => null,
15 => null,
16 => null,
17 => null,
18 => null,
19 => null,
20 => null,
21 => null,
22 => null,
23 => null,
24 => null,
25 => null,
26 => null,
27 => null,
28 => null,
29 => null,
30 => null,
31 => null,
32 => null,
33 => null,
34 => null,
35 => null,
36 => null,
37 => null,
38 => null,
39 => null,
40 => null,
41 => null,
42 => null,
43 => null,
44 => null,
45 => null,
46 => null,
47 => null,
48 => null,
49 => null,
50 => null,
51 => null,
52 => null,
53 => null,
54 => null,
55 => null,
56 => null,
57 => null,
58 => null,
59 => null,
60 => null,
61 => null,
62 => null,
63 => null,
64 => null,
65 => null,
66 => null,
67 => null,
68 => null,
69 => null,
70 => null,
71 => null,
72 => null,
73 => null,
74 => null,
75 => null,
76 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
if ($self->semValue === "<?=") {
$self->emitError(new Error('Cannot use "<?=" as an identifier', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])));
}
},
77 => null,
78 => null,
79 => null,
80 => null,
81 => null,
82 => null,
83 => null,
84 => null,
85 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
86 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
87 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
88 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
89 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
90 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
91 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
92 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
93 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
94 => null,
95 => static function ($self, $stackPos) {
$self->semValue = new Name(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
96 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
97 => static function ($self, $stackPos) {
/* nothing */
},
98 => static function ($self, $stackPos) {
/* nothing */
},
99 => static function ($self, $stackPos) {
/* nothing */
},
100 => static function ($self, $stackPos) {
$self->emitError(new Error('A trailing comma is not allowed here', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])));
},
101 => null,
102 => null,
103 => static function ($self, $stackPos) {
$self->semValue = new Node\Attribute($self->semStack[$stackPos - (1 - 1)], [], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
104 => static function ($self, $stackPos) {
$self->semValue = new Node\Attribute($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
105 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
106 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
107 => static function ($self, $stackPos) {
$self->semValue = new Node\AttributeGroup($self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
108 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
109 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
110 => static function ($self, $stackPos) {
$self->semValue = [];
},
111 => null,
112 => null,
113 => null,
114 => null,
115 => static function ($self, $stackPos) {
$self->semValue = new Stmt\HaltCompiler($self->handleHaltCompiler(), $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
116 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Namespace_($self->semStack[$stackPos - (3 - 2)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
$self->semValue
->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
$self->checkNamespace($self->semValue);
},
117 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Namespace_($self->semStack[$stackPos - (5 - 2)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
$self->semValue
->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
$self->checkNamespace($self->semValue);
},
118 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Namespace_(null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
$self->semValue
->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
$self->checkNamespace($self->semValue);
},
119 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Use_($self->semStack[$stackPos - (3 - 2)], Stmt\Use_::TYPE_NORMAL, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
120 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Use_($self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
121 => null,
122 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Const_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
123 => static function ($self, $stackPos) {
$self->semValue = Stmt\Use_::TYPE_FUNCTION;
},
124 => static function ($self, $stackPos) {
$self->semValue = Stmt\Use_::TYPE_CONSTANT;
},
125 => static function ($self, $stackPos) {
$self->semValue = new Stmt\GroupUse($self->semStack[$stackPos - (8 - 3)], $self->semStack[$stackPos - (8 - 6)], $self->semStack[$stackPos - (8 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
},
126 => static function ($self, $stackPos) {
$self->semValue = new Stmt\GroupUse($self->semStack[$stackPos - (7 - 2)], $self->semStack[$stackPos - (7 - 5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
},
127 => null,
128 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
129 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
130 => null,
131 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
132 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
133 => null,
134 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
135 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
136 => static function ($self, $stackPos) {
$self->semValue = new Node\UseItem($self->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkUseUse($self->semValue, $stackPos - (1 - 1));
},
137 => static function ($self, $stackPos) {
$self->semValue = new Node\UseItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkUseUse($self->semValue, $stackPos - (3 - 3));
},
138 => static function ($self, $stackPos) {
$self->semValue = new Node\UseItem($self->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkUseUse($self->semValue, $stackPos - (1 - 1));
},
139 => static function ($self, $stackPos) {
$self->semValue = new Node\UseItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkUseUse($self->semValue, $stackPos - (3 - 3));
},
140 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
$self->semValue->type = Stmt\Use_::TYPE_NORMAL;
},
141 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (2 - 2)];
$self->semValue->type = $self->semStack[$stackPos - (2 - 1)];
},
142 => null,
143 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
144 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
145 => static function ($self, $stackPos) {
$self->semValue = new Node\Const_($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
146 => null,
147 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
148 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
149 => static function ($self, $stackPos) {
$self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos - (3 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos - (3 - 1)])), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
150 => static function ($self, $stackPos) {
$self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos - (3 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos - (3 - 1)])), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
151 => static function ($self, $stackPos) {
if ($self->semStack[$stackPos - (2 - 2)] !== null) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
}
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
152 => static function ($self, $stackPos) {
$self->semValue = array();
},
153 => static function ($self, $stackPos) {
$nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
if ($nop !== null) {
$self->semStack[$stackPos - (1 - 1)][] = $nop;
}
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
},
154 => null,
155 => null,
156 => null,
157 => static function ($self, $stackPos) {
throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
158 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Block($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
159 => static function ($self, $stackPos) {
$self->semValue = new Stmt\If_($self->semStack[$stackPos - (7 - 3)], [
'stmts' => $self->semStack[$stackPos - (7 - 5)],
'elseifs' => $self->semStack[$stackPos - (7 - 6)],
'else' => $self->semStack[$stackPos - (7 - 7)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
},
160 => static function ($self, $stackPos) {
$self->semValue = new Stmt\If_($self->semStack[$stackPos - (10 - 3)], [
'stmts' => $self->semStack[$stackPos - (10 - 6)],
'elseifs' => $self->semStack[$stackPos - (10 - 7)],
'else' => $self->semStack[$stackPos - (10 - 8)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
},
161 => static function ($self, $stackPos) {
$self->semValue = new Stmt\While_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
162 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Do_($self->semStack[$stackPos - (7 - 5)], $self->semStack[$stackPos - (7 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
},
163 => static function ($self, $stackPos) {
$self->semValue = new Stmt\For_([
'init' => $self->semStack[$stackPos - (9 - 3)],
'cond' => $self->semStack[$stackPos - (9 - 5)],
'loop' => $self->semStack[$stackPos - (9 - 7)],
'stmts' => $self->semStack[$stackPos - (9 - 9)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
},
164 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Switch_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
165 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Break_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
166 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Continue_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
167 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Return_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
168 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Global_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
169 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Static_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
170 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Echo_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
171 => static function ($self, $stackPos) {
$self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
$self->semValue
->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos - (1 - 1)));
},
172 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Expression($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
173 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Unset_($self->semStack[$stackPos - (5 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
174 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 5)][0], [
'keyVar' => null,
'byRef' => $self->semStack[$stackPos - (7 - 5)][1],
'stmts' => $self->semStack[$stackPos - (7 - 7)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
},
175 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (9 - 3)], $self->semStack[$stackPos - (9 - 7)][0], [
'keyVar' => $self->semStack[$stackPos - (9 - 5)],
'byRef' => $self->semStack[$stackPos - (9 - 7)][1],
'stmts' => $self->semStack[$stackPos - (9 - 9)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
},
176 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (6 - 3)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (6 - 4)], $self->tokenEndStack[$stackPos - (6 - 4)])), [
'stmts' => $self->semStack[$stackPos - (6 - 6)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
},
177 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Declare_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
178 => static function ($self, $stackPos) {
$self->semValue = new Stmt\TryCatch($self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 5)], $self->semStack[$stackPos - (6 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkTryCatch($self->semValue);
},
179 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Goto_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
180 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Label($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
181 => static function ($self, $stackPos) {
$self->semValue = null;
/* means: no statement */
},
182 => null,
183 => static function ($self, $stackPos) {
$self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]);
},
184 => static function ($self, $stackPos) {
if ($self->semStack[$stackPos - (1 - 1)] instanceof Stmt\Block) {
$self->semValue = $self->semStack[$stackPos - (1 - 1)]->stmts;
}
else {
if ($self->semStack[$stackPos - (1 - 1)] === null) {
$self->semValue = [];
}
else {
$self->semValue = [
$self->semStack[$stackPos - (1 - 1)],
];
}
}
},
185 => static function ($self, $stackPos) {
$self->semValue = array();
},
186 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
187 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
188 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
189 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Catch_($self->semStack[$stackPos - (8 - 3)], $self->semStack[$stackPos - (8 - 4)], $self->semStack[$stackPos - (8 - 7)], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
},
190 => static function ($self, $stackPos) {
$self->semValue = null;
},
191 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Finally_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
192 => null,
193 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
194 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
195 => static function ($self, $stackPos) {
$self->semValue = false;
},
196 => static function ($self, $stackPos) {
$self->semValue = true;
},
197 => static function ($self, $stackPos) {
$self->semValue = false;
},
198 => static function ($self, $stackPos) {
$self->semValue = true;
},
199 => static function ($self, $stackPos) {
$self->semValue = false;
},
200 => static function ($self, $stackPos) {
$self->semValue = true;
},
201 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
202 => static function ($self, $stackPos) {
$self->semValue = [];
},
203 => null,
204 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
205 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
206 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Function_($self->semStack[$stackPos - (8 - 3)], [
'byRef' => $self->semStack[$stackPos - (8 - 2)],
'params' => $self->semStack[$stackPos - (8 - 5)],
'returnType' => $self->semStack[$stackPos - (8 - 7)],
'stmts' => $self->semStack[$stackPos - (8 - 8)],
'attrGroups' => [],
], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
},
207 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Function_($self->semStack[$stackPos - (9 - 4)], [
'byRef' => $self->semStack[$stackPos - (9 - 3)],
'params' => $self->semStack[$stackPos - (9 - 6)],
'returnType' => $self->semStack[$stackPos - (9 - 8)],
'stmts' => $self->semStack[$stackPos - (9 - 9)],
'attrGroups' => $self->semStack[$stackPos - (9 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
},
208 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Class_($self->semStack[$stackPos - (7 - 2)], [
'type' => $self->semStack[$stackPos - (7 - 1)],
'extends' => $self->semStack[$stackPos - (7 - 3)],
'implements' => $self->semStack[$stackPos - (7 - 4)],
'stmts' => $self->semStack[$stackPos - (7 - 6)],
'attrGroups' => [],
], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkClass($self->semValue, $stackPos - (7 - 2));
},
209 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Class_($self->semStack[$stackPos - (8 - 3)], [
'type' => $self->semStack[$stackPos - (8 - 2)],
'extends' => $self->semStack[$stackPos - (8 - 4)],
'implements' => $self->semStack[$stackPos - (8 - 5)],
'stmts' => $self->semStack[$stackPos - (8 - 7)],
'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkClass($self->semValue, $stackPos - (8 - 3));
},
210 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Interface_($self->semStack[$stackPos - (7 - 3)], [
'extends' => $self->semStack[$stackPos - (7 - 4)],
'stmts' => $self->semStack[$stackPos - (7 - 6)],
'attrGroups' => $self->semStack[$stackPos - (7 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkInterface($self->semValue, $stackPos - (7 - 3));
},
211 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Trait_($self->semStack[$stackPos - (6 - 3)], [
'stmts' => $self->semStack[$stackPos - (6 - 5)],
'attrGroups' => $self->semStack[$stackPos - (6 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
},
212 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Enum_($self->semStack[$stackPos - (8 - 3)], [
'scalarType' => $self->semStack[$stackPos - (8 - 4)],
'implements' => $self->semStack[$stackPos - (8 - 5)],
'stmts' => $self->semStack[$stackPos - (8 - 7)],
'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkEnum($self->semValue, $stackPos - (8 - 3));
},
213 => static function ($self, $stackPos) {
$self->semValue = null;
},
214 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (2 - 2)];
},
215 => static function ($self, $stackPos) {
$self->semValue = null;
},
216 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (2 - 2)];
},
217 => static function ($self, $stackPos) {
$self->semValue = 0;
},
218 => null,
219 => null,
220 => static function ($self, $stackPos) {
$self->checkClassModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
$self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
},
221 => static function ($self, $stackPos) {
$self->semValue = Modifiers::ABSTRACT;
},
222 => static function ($self, $stackPos) {
$self->semValue = Modifiers::FINAL;
},
223 => static function ($self, $stackPos) {
$self->semValue = Modifiers::READONLY;
},
224 => static function ($self, $stackPos) {
$self->semValue = null;
},
225 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (2 - 2)];
},
226 => static function ($self, $stackPos) {
$self->semValue = array();
},
227 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (2 - 2)];
},
228 => static function ($self, $stackPos) {
$self->semValue = array();
},
229 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (2 - 2)];
},
230 => null,
231 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
232 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
233 => null,
234 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 2)];
},
235 => null,
236 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 2)];
},
237 => static function ($self, $stackPos) {
if ($self->semStack[$stackPos - (1 - 1)] instanceof Stmt\Block) {
$self->semValue = $self->semStack[$stackPos - (1 - 1)]->stmts;
}
else {
if ($self->semStack[$stackPos - (1 - 1)] === null) {
$self->semValue = [];
}
else {
$self->semValue = [
$self->semStack[$stackPos - (1 - 1)],
];
}
}
},
238 => static function ($self, $stackPos) {
$self->semValue = null;
},
239 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 2)];
},
240 => null,
241 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
242 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
243 => static function ($self, $stackPos) {
$self->semValue = new Node\DeclareItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
244 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
245 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 3)];
},
246 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 2)];
},
247 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (5 - 3)];
},
248 => static function ($self, $stackPos) {
$self->semValue = array();
},
249 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
250 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Case_($self->semStack[$stackPos - (4 - 2)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
251 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
252 => null,
253 => null,
254 => static function ($self, $stackPos) {
$self->semValue = new Expr\Match_($self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
},
255 => static function ($self, $stackPos) {
$self->semValue = [];
},
256 => null,
257 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
258 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
259 => static function ($self, $stackPos) {
$self->semValue = new Node\MatchArm($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
260 => static function ($self, $stackPos) {
$self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
261 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
},
262 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 2)];
},
263 => static function ($self, $stackPos) {
$self->semValue = array();
},
264 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
265 => static function ($self, $stackPos) {
$self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
266 => static function ($self, $stackPos) {
$self->semValue = array();
},
267 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
268 => static function ($self, $stackPos) {
$self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
$self->fixupAlternativeElse($self->semValue);
},
269 => static function ($self, $stackPos) {
$self->semValue = null;
},
270 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Else_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
271 => static function ($self, $stackPos) {
$self->semValue = null;
},
272 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Else_($self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
$self->fixupAlternativeElse($self->semValue);
},
273 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
false,
);
},
274 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (2 - 2)],
true,
);
},
275 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
false,
);
},
276 => static function ($self, $stackPos) {
$self->semValue = array(
$self->fixupArrayDestructuring($self->semStack[$stackPos - (1 - 1)]),
false,
);
},
277 => null,
278 => static function ($self, $stackPos) {
$self->semValue = array();
},
279 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
280 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
281 => static function ($self, $stackPos) {
$self->semValue = 0;
},
282 => static function ($self, $stackPos) {
$self->checkModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
$self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
},
283 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PUBLIC;
},
284 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PROTECTED;
},
285 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PRIVATE;
},
286 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PUBLIC_SET;
},
287 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PROTECTED_SET;
},
288 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PRIVATE_SET;
},
289 => static function ($self, $stackPos) {
$self->semValue = Modifiers::READONLY;
},
290 => static function ($self, $stackPos) {
$self->semValue = new Node\Param($self->semStack[$stackPos - (7 - 6)], null, $self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 4)], $self->semStack[$stackPos - (7 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (7 - 2)], $self->semStack[$stackPos - (7 - 1)], $self->semStack[$stackPos - (7 - 7)]);
$self->checkParam($self->semValue);
},
291 => static function ($self, $stackPos) {
$self->semValue = new Node\Param($self->semStack[$stackPos - (9 - 6)], $self->semStack[$stackPos - (9 - 8)], $self->semStack[$stackPos - (9 - 3)], $self->semStack[$stackPos - (9 - 4)], $self->semStack[$stackPos - (9 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (9 - 2)], $self->semStack[$stackPos - (9 - 1)], $self->semStack[$stackPos - (9 - 9)]);
$self->checkParam($self->semValue);
},
292 => static function ($self, $stackPos) {
$self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 4)], $self->semStack[$stackPos - (6 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (6 - 2)], $self->semStack[$stackPos - (6 - 1)]);
},
293 => null,
294 => static function ($self, $stackPos) {
$self->semValue = new Node\NullableType($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
295 => static function ($self, $stackPos) {
$self->semValue = new Node\UnionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
296 => null,
297 => null,
298 => static function ($self, $stackPos) {
$self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
299 => static function ($self, $stackPos) {
$self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos - (1 - 1)]);
},
300 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
301 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
302 => null,
303 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
304 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (3 - 1)],
$self->semStack[$stackPos - (3 - 3)],
);
},
305 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
306 => null,
307 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
308 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (3 - 1)],
$self->semStack[$stackPos - (3 - 3)],
);
},
309 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
310 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (3 - 1)],
$self->semStack[$stackPos - (3 - 3)],
);
},
311 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
312 => static function ($self, $stackPos) {
$self->semValue = new Node\IntersectionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
313 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (3 - 1)],
$self->semStack[$stackPos - (3 - 3)],
);
},
314 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
315 => static function ($self, $stackPos) {
$self->semValue = new Node\IntersectionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
316 => null,
317 => static function ($self, $stackPos) {
$self->semValue = new Node\NullableType($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
318 => static function ($self, $stackPos) {
$self->semValue = new Node\UnionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
319 => null,
320 => static function ($self, $stackPos) {
$self->semValue = null;
},
321 => null,
322 => static function ($self, $stackPos) {
$self->semValue = null;
},
323 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (2 - 2)];
},
324 => static function ($self, $stackPos) {
$self->semValue = null;
},
325 => static function ($self, $stackPos) {
$self->semValue = array();
},
326 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 2)];
},
327 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (3 - 2)],
);
},
328 => static function ($self, $stackPos) {
$self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
329 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
330 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
331 => static function ($self, $stackPos) {
$self->semValue = new Node\Arg($self->semStack[$stackPos - (1 - 1)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
332 => static function ($self, $stackPos) {
$self->semValue = new Node\Arg($self->semStack[$stackPos - (2 - 2)], true, false, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
333 => static function ($self, $stackPos) {
$self->semValue = new Node\Arg($self->semStack[$stackPos - (2 - 2)], false, true, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
334 => static function ($self, $stackPos) {
$self->semValue = new Node\Arg($self->semStack[$stackPos - (3 - 3)], false, false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (3 - 1)]);
},
335 => null,
336 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
337 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
338 => null,
339 => null,
340 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
341 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
342 => static function ($self, $stackPos) {
$self->semValue = new Node\StaticVar($self->semStack[$stackPos - (1 - 1)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
343 => static function ($self, $stackPos) {
$self->semValue = new Node\StaticVar($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
344 => static function ($self, $stackPos) {
if ($self->semStack[$stackPos - (2 - 2)] !== null) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
}
else {
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
}
},
345 => static function ($self, $stackPos) {
$self->semValue = array();
},
346 => static function ($self, $stackPos) {
$nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
if ($nop !== null) {
$self->semStack[$stackPos - (1 - 1)][] = $nop;
}
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
},
347 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Property($self->semStack[$stackPos - (5 - 2)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 1)]);
},
348 => static function ($self, $stackPos) {
$self->semValue = new Stmt\ClassConst($self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (5 - 1)]);
$self->checkClassConst($self->semValue, $stackPos - (5 - 2));
},
349 => static function ($self, $stackPos) {
$self->semValue = new Stmt\ClassConst($self->semStack[$stackPos - (6 - 5)], $self->semStack[$stackPos - (6 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (6 - 1)], $self->semStack[$stackPos - (6 - 4)]);
$self->checkClassConst($self->semValue, $stackPos - (6 - 2));
},
350 => static function ($self, $stackPos) {
$self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos - (10 - 5)], [
'type' => $self->semStack[$stackPos - (10 - 2)],
'byRef' => $self->semStack[$stackPos - (10 - 4)],
'params' => $self->semStack[$stackPos - (10 - 7)],
'returnType' => $self->semStack[$stackPos - (10 - 9)],
'stmts' => $self->semStack[$stackPos - (10 - 10)],
'attrGroups' => $self->semStack[$stackPos - (10 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkClassMethod($self->semValue, $stackPos - (10 - 2));
},
351 => static function ($self, $stackPos) {
$self->semValue = new Stmt\TraitUse($self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
352 => static function ($self, $stackPos) {
$self->semValue = new Stmt\EnumCase($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
353 => static function ($self, $stackPos) {
$self->semValue = null;
/* will be skipped */
},
354 => static function ($self, $stackPos) {
$self->semValue = array();
},
355 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
356 => static function ($self, $stackPos) {
$self->semValue = array();
},
357 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
358 => static function ($self, $stackPos) {
$self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
359 => static function ($self, $stackPos) {
$self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (5 - 1)][0], $self->semStack[$stackPos - (5 - 1)][1], $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
360 => static function ($self, $stackPos) {
$self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], $self->semStack[$stackPos - (4 - 3)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
361 => static function ($self, $stackPos) {
$self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
362 => static function ($self, $stackPos) {
$self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
363 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (3 - 1)],
$self->semStack[$stackPos - (3 - 3)],
);
},
364 => null,
365 => static function ($self, $stackPos) {
$self->semValue = array(
null,
$self->semStack[$stackPos - (1 - 1)],
);
},
366 => static function ($self, $stackPos) {
$self->semValue = null;
},
367 => null,
368 => null,
369 => static function ($self, $stackPos) {
$self->semValue = 0;
},
370 => static function ($self, $stackPos) {
$self->semValue = 0;
},
371 => null,
372 => null,
373 => static function ($self, $stackPos) {
$self->checkModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
$self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
},
374 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PUBLIC;
},
375 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PROTECTED;
},
376 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PRIVATE;
},
377 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PUBLIC_SET;
},
378 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PROTECTED_SET;
},
379 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PRIVATE_SET;
},
380 => static function ($self, $stackPos) {
$self->semValue = Modifiers::STATIC;
},
381 => static function ($self, $stackPos) {
$self->semValue = Modifiers::ABSTRACT;
},
382 => static function ($self, $stackPos) {
$self->semValue = Modifiers::FINAL;
},
383 => static function ($self, $stackPos) {
$self->semValue = Modifiers::READONLY;
},
384 => null,
385 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
386 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
387 => static function ($self, $stackPos) {
$self->semValue = new Node\VarLikeIdentifier(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
388 => static function ($self, $stackPos) {
$self->semValue = new Node\PropertyItem($self->semStack[$stackPos - (1 - 1)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
389 => static function ($self, $stackPos) {
$self->semValue = new Node\PropertyItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
390 => static function ($self, $stackPos) {
$self->semValue = [];
},
391 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
392 => static function ($self, $stackPos) {
$self->semValue = [];
},
393 => static function ($self, $stackPos) {
$self->semValue = new Node\PropertyHook($self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 5)], [
'flags' => $self->semStack[$stackPos - (5 - 2)],
'byRef' => $self->semStack[$stackPos - (5 - 3)],
'params' => [],
'attrGroups' => $self->semStack[$stackPos - (5 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkPropertyHook($self->semValue, null);
},
394 => static function ($self, $stackPos) {
$self->semValue = new Node\PropertyHook($self->semStack[$stackPos - (8 - 4)], $self->semStack[$stackPos - (8 - 8)], [
'flags' => $self->semStack[$stackPos - (8 - 2)],
'byRef' => $self->semStack[$stackPos - (8 - 3)],
'params' => $self->semStack[$stackPos - (8 - 6)],
'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
$self->checkPropertyHook($self->semValue, $stackPos - (8 - 5));
},
395 => static function ($self, $stackPos) {
$self->semValue = null;
},
396 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
397 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
398 => static function ($self, $stackPos) {
$self->semValue = 0;
},
399 => static function ($self, $stackPos) {
$self->checkPropertyHookModifiers($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
$self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
},
400 => null,
401 => null,
402 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
403 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
404 => static function ($self, $stackPos) {
$self->semValue = array();
},
405 => null,
406 => null,
407 => static function ($self, $stackPos) {
$self->semValue = new Expr\Assign($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
408 => static function ($self, $stackPos) {
$self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos - (3 - 1)]), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
409 => static function ($self, $stackPos) {
$self->semValue = new Expr\Assign($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
410 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignRef($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
411 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignRef($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
if (!$self->phpVersion
->allowsAssignNewByReference()) {
$self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos])));
}
},
412 => null,
413 => null,
414 => static function ($self, $stackPos) {
$self->semValue = new Expr\Clone_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
415 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
416 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
417 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
418 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
419 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
420 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
421 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
422 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
423 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
424 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
425 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
426 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
427 => static function ($self, $stackPos) {
$self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
428 => static function ($self, $stackPos) {
$self->semValue = new Expr\PostInc($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
429 => static function ($self, $stackPos) {
$self->semValue = new Expr\PreInc($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
430 => static function ($self, $stackPos) {
$self->semValue = new Expr\PostDec($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
431 => static function ($self, $stackPos) {
$self->semValue = new Expr\PreDec($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
432 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
433 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
434 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
435 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
436 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
437 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
438 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
439 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
440 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
441 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
442 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
443 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
444 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
445 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
446 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
447 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
448 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
449 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
450 => static function ($self, $stackPos) {
$self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
451 => static function ($self, $stackPos) {
$self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
452 => static function ($self, $stackPos) {
$self->semValue = new Expr\BooleanNot($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
453 => static function ($self, $stackPos) {
$self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
454 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
455 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
456 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
457 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
458 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
459 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
460 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
461 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
462 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
463 => static function ($self, $stackPos) {
$self->semValue = new Expr\Instanceof_($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
464 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
465 => static function ($self, $stackPos) {
$self->semValue = new Expr\Ternary($self->semStack[$stackPos - (5 - 1)], $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
466 => static function ($self, $stackPos) {
$self->semValue = new Expr\Ternary($self->semStack[$stackPos - (4 - 1)], null, $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
467 => static function ($self, $stackPos) {
$self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
468 => static function ($self, $stackPos) {
$self->semValue = new Expr\Isset_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
469 => static function ($self, $stackPos) {
$self->semValue = new Expr\Empty_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
470 => static function ($self, $stackPos) {
$self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
471 => static function ($self, $stackPos) {
$self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
472 => static function ($self, $stackPos) {
$self->semValue = new Expr\Eval_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
473 => static function ($self, $stackPos) {
$self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
474 => static function ($self, $stackPos) {
$self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
475 => static function ($self, $stackPos) {
$self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
476 => static function ($self, $stackPos) {
$attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]);
$attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos - (2 - 1)]);
$self->semValue = new Expr\Cast\Double($self->semStack[$stackPos - (2 - 2)], $attrs);
},
477 => static function ($self, $stackPos) {
$self->semValue = new Expr\Cast\String_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
478 => static function ($self, $stackPos) {
$self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
479 => static function ($self, $stackPos) {
$self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
480 => static function ($self, $stackPos) {
$self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
481 => static function ($self, $stackPos) {
$self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
482 => static function ($self, $stackPos) {
$self->semValue = $self->createExitExpr($self->semStack[$stackPos - (2 - 1)], $stackPos - (2 - 1), $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
483 => static function ($self, $stackPos) {
$self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
484 => null,
485 => static function ($self, $stackPos) {
$self->semValue = new Expr\ShellExec($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
486 => static function ($self, $stackPos) {
$self->semValue = new Expr\Print_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
487 => static function ($self, $stackPos) {
$self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
488 => static function ($self, $stackPos) {
$self->semValue = new Expr\Yield_($self->semStack[$stackPos - (2 - 2)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
489 => static function ($self, $stackPos) {
$self->semValue = new Expr\Yield_($self->semStack[$stackPos - (4 - 4)], $self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
490 => static function ($self, $stackPos) {
$self->semValue = new Expr\YieldFrom($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
491 => static function ($self, $stackPos) {
$self->semValue = new Expr\Throw_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
492 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrowFunction([
'static' => false,
'byRef' => $self->semStack[$stackPos - (8 - 2)],
'params' => $self->semStack[$stackPos - (8 - 4)],
'returnType' => $self->semStack[$stackPos - (8 - 6)],
'expr' => $self->semStack[$stackPos - (8 - 8)],
'attrGroups' => [],
], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
},
493 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrowFunction([
'static' => true,
'byRef' => $self->semStack[$stackPos - (9 - 3)],
'params' => $self->semStack[$stackPos - (9 - 5)],
'returnType' => $self->semStack[$stackPos - (9 - 7)],
'expr' => $self->semStack[$stackPos - (9 - 9)],
'attrGroups' => [],
], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
},
494 => static function ($self, $stackPos) {
$self->semValue = new Expr\Closure([
'static' => false,
'byRef' => $self->semStack[$stackPos - (8 - 2)],
'params' => $self->semStack[$stackPos - (8 - 4)],
'uses' => $self->semStack[$stackPos - (8 - 6)],
'returnType' => $self->semStack[$stackPos - (8 - 7)],
'stmts' => $self->semStack[$stackPos - (8 - 8)],
'attrGroups' => [],
], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
},
495 => static function ($self, $stackPos) {
$self->semValue = new Expr\Closure([
'static' => true,
'byRef' => $self->semStack[$stackPos - (9 - 3)],
'params' => $self->semStack[$stackPos - (9 - 5)],
'uses' => $self->semStack[$stackPos - (9 - 7)],
'returnType' => $self->semStack[$stackPos - (9 - 8)],
'stmts' => $self->semStack[$stackPos - (9 - 9)],
'attrGroups' => [],
], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
},
496 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrowFunction([
'static' => false,
'byRef' => $self->semStack[$stackPos - (9 - 3)],
'params' => $self->semStack[$stackPos - (9 - 5)],
'returnType' => $self->semStack[$stackPos - (9 - 7)],
'expr' => $self->semStack[$stackPos - (9 - 9)],
'attrGroups' => $self->semStack[$stackPos - (9 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
},
497 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrowFunction([
'static' => true,
'byRef' => $self->semStack[$stackPos - (10 - 4)],
'params' => $self->semStack[$stackPos - (10 - 6)],
'returnType' => $self->semStack[$stackPos - (10 - 8)],
'expr' => $self->semStack[$stackPos - (10 - 10)],
'attrGroups' => $self->semStack[$stackPos - (10 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
},
498 => static function ($self, $stackPos) {
$self->semValue = new Expr\Closure([
'static' => false,
'byRef' => $self->semStack[$stackPos - (9 - 3)],
'params' => $self->semStack[$stackPos - (9 - 5)],
'uses' => $self->semStack[$stackPos - (9 - 7)],
'returnType' => $self->semStack[$stackPos - (9 - 8)],
'stmts' => $self->semStack[$stackPos - (9 - 9)],
'attrGroups' => $self->semStack[$stackPos - (9 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
},
499 => static function ($self, $stackPos) {
$self->semValue = new Expr\Closure([
'static' => true,
'byRef' => $self->semStack[$stackPos - (10 - 4)],
'params' => $self->semStack[$stackPos - (10 - 6)],
'uses' => $self->semStack[$stackPos - (10 - 8)],
'returnType' => $self->semStack[$stackPos - (10 - 9)],
'stmts' => $self->semStack[$stackPos - (10 - 10)],
'attrGroups' => $self->semStack[$stackPos - (10 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
},
500 => static function ($self, $stackPos) {
$self->semValue = array(
new Stmt\Class_(null, [
'type' => $self->semStack[$stackPos - (8 - 2)],
'extends' => $self->semStack[$stackPos - (8 - 4)],
'implements' => $self->semStack[$stackPos - (8 - 5)],
'stmts' => $self->semStack[$stackPos - (8 - 7)],
'attrGroups' => $self->semStack[$stackPos - (8 - 1)],
], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos])),
$self->semStack[$stackPos - (8 - 3)],
);
$self->checkClass($self->semValue[0], -1);
},
501 => static function ($self, $stackPos) {
$self->semValue = new Expr\New_($self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
502 => static function ($self, $stackPos) {
list($class, $ctorArgs) = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
503 => static function ($self, $stackPos) {
$self->semValue = new Expr\New_($self->semStack[$stackPos - (2 - 2)], [], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
504 => null,
505 => null,
506 => static function ($self, $stackPos) {
$self->semValue = array();
},
507 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (4 - 3)];
},
508 => null,
509 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
510 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
511 => static function ($self, $stackPos) {
$self->semValue = new Node\ClosureUse($self->semStack[$stackPos - (2 - 2)], $self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
512 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
513 => static function ($self, $stackPos) {
$self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
514 => static function ($self, $stackPos) {
$self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
515 => static function ($self, $stackPos) {
$self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
516 => static function ($self, $stackPos) {
$self->semValue = new Expr\StaticCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
517 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
518 => null,
519 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
520 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
521 => static function ($self, $stackPos) {
$self->semValue = new Name\FullyQualified(substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
522 => static function ($self, $stackPos) {
$self->semValue = new Name\Relative(substr($self->semStack[$stackPos - (1 - 1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
523 => null,
524 => null,
525 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
526 => static function ($self, $stackPos) {
$self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
$self->errorState = 2;
},
527 => null,
528 => null,
529 => static function ($self, $stackPos) {
$self->semValue = array();
},
530 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
foreach ($self->semValue as $s) {
if ($s instanceof Node\InterpolatedStringPart) {
$s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion
->supportsUnicodeEscapes());
}
}
},
531 => static function ($self, $stackPos) {
foreach ($self->semStack[$stackPos - (1 - 1)] as $s) {
if ($s instanceof Node\InterpolatedStringPart) {
$s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion
->supportsUnicodeEscapes());
}
}
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
},
532 => static function ($self, $stackPos) {
$self->semValue = array();
},
533 => null,
534 => static function ($self, $stackPos) {
$self->semValue = new Expr\ConstFetch($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
535 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
536 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
537 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
538 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
539 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
540 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
541 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
542 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
543 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
544 => static function ($self, $stackPos) {
$self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
545 => static function ($self, $stackPos) {
$self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (5 - 1)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
},
546 => static function ($self, $stackPos) {
$self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (3 - 1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)])), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
$self->errorState = 2;
},
547 => static function ($self, $stackPos) {
$attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]);
$attrs['kind'] = Expr\Array_::KIND_SHORT;
$self->semValue = new Expr\Array_($self->semStack[$stackPos - (3 - 2)], $attrs);
},
548 => static function ($self, $stackPos) {
$attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]);
$attrs['kind'] = Expr\Array_::KIND_LONG;
$self->semValue = new Expr\Array_($self->semStack[$stackPos - (4 - 3)], $attrs);
$self->createdArrays
->attach($self->semValue);
},
549 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
$self->createdArrays
->attach($self->semValue);
},
550 => static function ($self, $stackPos) {
$self->semValue = Scalar\String_::fromString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]), $self->phpVersion
->supportsUnicodeEscapes());
},
551 => static function ($self, $stackPos) {
$attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]);
$attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
foreach ($self->semStack[$stackPos - (3 - 2)] as $s) {
if ($s instanceof Node\InterpolatedStringPart) {
$s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion
->supportsUnicodeEscapes());
}
}
$self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos - (3 - 2)], $attrs);
},
552 => static function ($self, $stackPos) {
$self->semValue = $self->parseLNumber($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]), $self->phpVersion
->allowsInvalidOctals());
},
553 => static function ($self, $stackPos) {
$self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
554 => null,
555 => null,
556 => null,
557 => static function ($self, $stackPos) {
$self->semValue = $self->parseDocString($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)]), true);
},
558 => static function ($self, $stackPos) {
$self->semValue = $self->parseDocString($self->semStack[$stackPos - (2 - 1)], '', $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 2)], $self->tokenEndStack[$stackPos - (2 - 2)]), true);
},
559 => static function ($self, $stackPos) {
$self->semValue = $self->parseDocString($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)]), true);
},
560 => static function ($self, $stackPos) {
$self->semValue = null;
},
561 => null,
562 => null,
563 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
564 => null,
565 => null,
566 => null,
567 => null,
568 => null,
569 => null,
570 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
571 => null,
572 => null,
573 => null,
574 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
575 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
576 => null,
577 => static function ($self, $stackPos) {
$self->semValue = new Expr\MethodCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
578 => static function ($self, $stackPos) {
$self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
579 => static function ($self, $stackPos) {
$self->semValue = null;
},
580 => null,
581 => null,
582 => null,
583 => static function ($self, $stackPos) {
$self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
584 => static function ($self, $stackPos) {
$self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
585 => null,
586 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
587 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
588 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
$self->errorState = 2;
},
589 => static function ($self, $stackPos) {
$var = $self->semStack[$stackPos - (1 - 1)]->name;
$self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])) : $var;
},
590 => static function ($self, $stackPos) {
$self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
591 => null,
592 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
593 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
594 => static function ($self, $stackPos) {
$self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
595 => static function ($self, $stackPos) {
$self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
596 => static function ($self, $stackPos) {
$self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
597 => static function ($self, $stackPos) {
$self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
598 => null,
599 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
600 => null,
601 => null,
602 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
603 => null,
604 => static function ($self, $stackPos) {
$self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
$self->errorState = 2;
},
605 => static function ($self, $stackPos) {
$self->semValue = new Expr\List_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
$self->semValue
->setAttribute('kind', Expr\List_::KIND_LIST);
$self->postprocessList($self->semValue);
},
606 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (1 - 1)];
$end = count($self->semValue) - 1;
if ($self->semValue[$end]->value instanceof Expr\Error) {
array_pop($self->semValue);
}
},
607 => null,
608 => static function ($self, $stackPos) {
/* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */
},
609 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
$self->semValue = $self->semStack[$stackPos - (3 - 1)];
},
610 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
611 => static function ($self, $stackPos) {
$self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (1 - 1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
612 => static function ($self, $stackPos) {
$self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (2 - 2)], null, true, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
613 => static function ($self, $stackPos) {
$self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (1 - 1)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
614 => static function ($self, $stackPos) {
$self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (3 - 3)], $self->semStack[$stackPos - (3 - 1)], false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
615 => static function ($self, $stackPos) {
$self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (4 - 4)], $self->semStack[$stackPos - (4 - 1)], true, $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
616 => static function ($self, $stackPos) {
$self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (3 - 3)], $self->semStack[$stackPos - (3 - 1)], false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
617 => static function ($self, $stackPos) {
$self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (2 - 2)], null, false, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]), true);
},
618 => static function ($self, $stackPos) {
/* Create an Error node now to remember the position. We'll later either report an error,
or convert this into a null element, depending on whether this is a creation or destructuring context. */
$attrs = $self->createEmptyElemAttributes($self->tokenPos);
$self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, false, $attrs);
},
619 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
620 => static function ($self, $stackPos) {
$self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
$self->semValue = $self->semStack[$stackPos - (2 - 1)];
},
621 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (1 - 1)],
);
},
622 => static function ($self, $stackPos) {
$self->semValue = array(
$self->semStack[$stackPos - (2 - 1)],
$self->semStack[$stackPos - (2 - 2)],
);
},
623 => static function ($self, $stackPos) {
$attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]);
$attrs['rawValue'] = $self->semStack[$stackPos - (1 - 1)];
$self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos - (1 - 1)], $attrs);
},
624 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
625 => null,
626 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
},
627 => static function ($self, $stackPos) {
$self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
628 => static function ($self, $stackPos) {
$self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
629 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
630 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
},
631 => static function ($self, $stackPos) {
$self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (6 - 2)], $self->semStack[$stackPos - (6 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
},
632 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos - (3 - 2)];
},
633 => static function ($self, $stackPos) {
$self->semValue = new Scalar\String_($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
634 => static function ($self, $stackPos) {
$self->semValue = $self->parseNumString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
},
635 => static function ($self, $stackPos) {
$self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
},
636 => null,
];
}