php7 test coverage
This commit is contained in:
parent
a9d06733bc
commit
55316625e8
420
diff
420
diff
@ -1,420 +0,0 @@
|
|||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
17
|
|
||||||
18
|
|
||||||
19
|
|
||||||
20
|
|
||||||
21
|
|
||||||
22
|
|
||||||
23
|
|
||||||
24
|
|
||||||
25
|
|
||||||
26
|
|
||||||
27
|
|
||||||
28
|
|
||||||
29
|
|
||||||
30
|
|
||||||
31
|
|
||||||
32
|
|
||||||
33
|
|
||||||
34
|
|
||||||
35
|
|
||||||
36
|
|
||||||
37
|
|
||||||
38
|
|
||||||
39
|
|
||||||
40
|
|
||||||
41
|
|
||||||
42
|
|
||||||
43
|
|
||||||
44
|
|
||||||
45
|
|
||||||
46
|
|
||||||
47
|
|
||||||
48
|
|
||||||
49
|
|
||||||
50
|
|
||||||
51
|
|
||||||
52
|
|
||||||
53
|
|
||||||
54
|
|
||||||
55
|
|
||||||
56
|
|
||||||
57
|
|
||||||
58
|
|
||||||
59
|
|
||||||
60
|
|
||||||
61
|
|
||||||
62
|
|
||||||
63
|
|
||||||
64
|
|
||||||
65
|
|
||||||
66
|
|
||||||
67
|
|
||||||
68
|
|
||||||
69
|
|
||||||
70
|
|
||||||
71
|
|
||||||
72
|
|
||||||
73
|
|
||||||
74
|
|
||||||
75
|
|
||||||
76
|
|
||||||
77
|
|
||||||
78
|
|
||||||
79
|
|
||||||
80
|
|
||||||
81
|
|
||||||
82
|
|
||||||
83
|
|
||||||
84
|
|
||||||
85
|
|
||||||
86
|
|
||||||
87
|
|
||||||
88
|
|
||||||
89
|
|
||||||
90
|
|
||||||
91
|
|
||||||
92
|
|
||||||
93
|
|
||||||
94
|
|
||||||
95
|
|
||||||
96
|
|
||||||
97
|
|
||||||
98
|
|
||||||
99
|
|
||||||
100
|
|
||||||
101
|
|
||||||
102
|
|
||||||
103
|
|
||||||
104
|
|
||||||
105
|
|
||||||
106
|
|
||||||
107
|
|
||||||
108
|
|
||||||
109
|
|
||||||
110
|
|
||||||
111
|
|
||||||
112
|
|
||||||
113
|
|
||||||
114
|
|
||||||
115
|
|
||||||
116
|
|
||||||
117
|
|
||||||
118
|
|
||||||
119
|
|
||||||
120
|
|
||||||
121
|
|
||||||
122
|
|
||||||
123
|
|
||||||
124
|
|
||||||
125
|
|
||||||
126
|
|
||||||
127
|
|
||||||
128
|
|
||||||
129
|
|
||||||
130
|
|
||||||
131
|
|
||||||
132
|
|
||||||
133
|
|
||||||
134
|
|
||||||
135
|
|
||||||
136
|
|
||||||
137
|
|
||||||
138
|
|
||||||
139
|
|
||||||
140
|
|
||||||
- 141
|
|
||||||
- 142
|
|
||||||
- 143
|
|
||||||
144
|
|
||||||
145
|
|
||||||
146
|
|
||||||
147
|
|
||||||
- 148
|
|
||||||
- 149
|
|
||||||
150
|
|
||||||
151
|
|
||||||
152
|
|
||||||
153
|
|
||||||
154
|
|
||||||
155
|
|
||||||
156
|
|
||||||
157
|
|
||||||
158
|
|
||||||
159
|
|
||||||
160
|
|
||||||
161
|
|
||||||
162
|
|
||||||
163
|
|
||||||
164
|
|
||||||
165
|
|
||||||
166
|
|
||||||
167
|
|
||||||
168
|
|
||||||
169
|
|
||||||
170
|
|
||||||
171
|
|
||||||
172
|
|
||||||
173
|
|
||||||
174
|
|
||||||
- 175
|
|
||||||
176
|
|
||||||
177
|
|
||||||
178
|
|
||||||
179
|
|
||||||
180
|
|
||||||
181
|
|
||||||
182
|
|
||||||
- 183
|
|
||||||
- 184
|
|
||||||
- 185
|
|
||||||
- 186
|
|
||||||
187
|
|
||||||
188
|
|
||||||
- 189
|
|
||||||
190
|
|
||||||
191
|
|
||||||
192
|
|
||||||
193
|
|
||||||
194
|
|
||||||
195
|
|
||||||
196
|
|
||||||
197
|
|
||||||
- 198
|
|
||||||
- 199
|
|
||||||
200
|
|
||||||
- 201
|
|
||||||
- 202
|
|
||||||
203
|
|
||||||
204
|
|
||||||
205
|
|
||||||
206
|
|
||||||
207
|
|
||||||
208
|
|
||||||
209
|
|
||||||
210
|
|
||||||
211
|
|
||||||
212
|
|
||||||
213
|
|
||||||
- 214
|
|
||||||
215
|
|
||||||
216
|
|
||||||
217
|
|
||||||
218
|
|
||||||
- 219
|
|
||||||
220
|
|
||||||
- 221
|
|
||||||
222
|
|
||||||
223
|
|
||||||
224
|
|
||||||
225
|
|
||||||
226
|
|
||||||
227
|
|
||||||
228
|
|
||||||
229
|
|
||||||
230
|
|
||||||
231
|
|
||||||
232
|
|
||||||
233
|
|
||||||
234
|
|
||||||
235
|
|
||||||
236
|
|
||||||
237
|
|
||||||
238
|
|
||||||
239
|
|
||||||
240
|
|
||||||
241
|
|
||||||
242
|
|
||||||
243
|
|
||||||
244
|
|
||||||
245
|
|
||||||
246
|
|
||||||
247
|
|
||||||
248
|
|
||||||
249
|
|
||||||
250
|
|
||||||
251
|
|
||||||
252
|
|
||||||
253
|
|
||||||
254
|
|
||||||
255
|
|
||||||
256
|
|
||||||
257
|
|
||||||
258
|
|
||||||
259
|
|
||||||
260
|
|
||||||
261
|
|
||||||
262
|
|
||||||
263
|
|
||||||
264
|
|
||||||
265
|
|
||||||
266
|
|
||||||
267
|
|
||||||
268
|
|
||||||
269
|
|
||||||
270
|
|
||||||
271
|
|
||||||
272
|
|
||||||
273
|
|
||||||
274
|
|
||||||
275
|
|
||||||
276
|
|
||||||
277
|
|
||||||
278
|
|
||||||
279
|
|
||||||
280
|
|
||||||
281
|
|
||||||
282
|
|
||||||
283
|
|
||||||
284
|
|
||||||
285
|
|
||||||
286
|
|
||||||
287
|
|
||||||
288
|
|
||||||
289
|
|
||||||
290
|
|
||||||
291
|
|
||||||
292
|
|
||||||
293
|
|
||||||
294
|
|
||||||
295
|
|
||||||
296
|
|
||||||
297
|
|
||||||
298
|
|
||||||
299
|
|
||||||
300
|
|
||||||
301
|
|
||||||
302
|
|
||||||
303
|
|
||||||
304
|
|
||||||
305
|
|
||||||
306
|
|
||||||
307
|
|
||||||
308
|
|
||||||
309
|
|
||||||
310
|
|
||||||
311
|
|
||||||
- 312
|
|
||||||
313
|
|
||||||
314
|
|
||||||
- 315
|
|
||||||
316
|
|
||||||
317
|
|
||||||
- 318
|
|
||||||
- 319
|
|
||||||
320
|
|
||||||
- 321
|
|
||||||
322
|
|
||||||
323
|
|
||||||
324
|
|
||||||
325
|
|
||||||
326
|
|
||||||
327
|
|
||||||
328
|
|
||||||
329
|
|
||||||
330
|
|
||||||
331
|
|
||||||
332
|
|
||||||
333
|
|
||||||
334
|
|
||||||
335
|
|
||||||
336
|
|
||||||
337
|
|
||||||
338
|
|
||||||
339
|
|
||||||
340
|
|
||||||
341
|
|
||||||
342
|
|
||||||
343
|
|
||||||
- 344
|
|
||||||
345
|
|
||||||
346
|
|
||||||
347
|
|
||||||
348
|
|
||||||
349
|
|
||||||
350
|
|
||||||
- 351
|
|
||||||
- 352
|
|
||||||
353
|
|
||||||
- 354
|
|
||||||
- 355
|
|
||||||
356
|
|
||||||
357
|
|
||||||
- 358
|
|
||||||
- 359
|
|
||||||
360
|
|
||||||
361
|
|
||||||
362
|
|
||||||
363
|
|
||||||
364
|
|
||||||
365
|
|
||||||
- 366
|
|
||||||
367
|
|
||||||
368
|
|
||||||
- 369
|
|
||||||
- 370
|
|
||||||
- 371
|
|
||||||
- 372
|
|
||||||
- 373
|
|
||||||
- 374
|
|
||||||
- 375
|
|
||||||
376
|
|
||||||
- 377
|
|
||||||
- 378
|
|
||||||
379
|
|
||||||
- 380
|
|
||||||
- 381
|
|
||||||
382
|
|
||||||
383
|
|
||||||
384
|
|
||||||
385
|
|
||||||
386
|
|
||||||
387
|
|
||||||
388
|
|
||||||
389
|
|
||||||
- 390
|
|
||||||
391
|
|
||||||
- 392
|
|
||||||
393
|
|
||||||
- 394
|
|
||||||
395
|
|
||||||
- 396
|
|
||||||
397
|
|
||||||
398
|
|
||||||
- 399
|
|
||||||
400
|
|
||||||
- 401
|
|
||||||
402
|
|
||||||
403
|
|
||||||
404
|
|
||||||
- 405
|
|
||||||
- 406
|
|
||||||
- 407
|
|
||||||
- 408
|
|
||||||
- 409
|
|
||||||
- 410
|
|
||||||
411
|
|
||||||
412
|
|
||||||
413
|
|
||||||
414
|
|
||||||
415
|
|
||||||
416
|
|
||||||
417
|
|
||||||
418
|
|
||||||
419
|
|
||||||
420
|
|
1391
php7/php7.go
1391
php7/php7.go
File diff suppressed because it is too large
Load Diff
841
php7/php7.y
841
php7/php7.y
File diff suppressed because it is too large
Load Diff
@ -41,6 +41,13 @@ func TestPhp7(t *testing.T) {
|
|||||||
new foo($a, ...$b);
|
new foo($a, ...$b);
|
||||||
/** anonymous class */
|
/** anonymous class */
|
||||||
new class ($a, ...$b) {};
|
new class ($a, ...$b) {};
|
||||||
|
new class {};
|
||||||
|
new $foo;
|
||||||
|
new $foo[1];
|
||||||
|
new $foo{$bar};
|
||||||
|
new $foo->bar;
|
||||||
|
new $foo::$bar;
|
||||||
|
new static::$bar;
|
||||||
|
|
||||||
function foo(?bar $bar=null, baz &...$baz) {}
|
function foo(?bar $bar=null, baz &...$baz) {}
|
||||||
class foo {public function foo(?bar $bar=null, baz &...$baz) {}}
|
class foo {public function foo(?bar $bar=null, baz &...$baz) {}}
|
||||||
@ -89,13 +96,16 @@ CAD;
|
|||||||
|
|
||||||
"test $var";
|
"test $var";
|
||||||
"test $var[1]";
|
"test $var[1]";
|
||||||
|
"test $var[-1]";
|
||||||
"test $var[1234567890123456789012345678901234567890]";
|
"test $var[1234567890123456789012345678901234567890]";
|
||||||
|
"test $var[-1234567890123456789012345678901234567890]";
|
||||||
"test $var[bar]";
|
"test $var[bar]";
|
||||||
"test $var[$bar]";
|
"test $var[$bar]";
|
||||||
"$foo $bar";
|
"$foo $bar";
|
||||||
"test $foo->bar()";
|
"test $foo->bar()";
|
||||||
"test ${foo}";
|
"test ${foo}";
|
||||||
"test ${foo[0]}";
|
"test ${foo[0]}";
|
||||||
|
"test ${$foo}";
|
||||||
"test {$foo->bar()}";
|
"test {$foo->bar()}";
|
||||||
|
|
||||||
if ($a) :
|
if ($a) :
|
||||||
@ -190,9 +200,13 @@ CAD;
|
|||||||
}
|
}
|
||||||
|
|
||||||
throw $e;
|
throw $e;
|
||||||
|
|
||||||
trait Foo {}
|
trait Foo {}
|
||||||
class Foo { use Bar; }
|
class Foo { use Bar; }
|
||||||
class Foo { use Bar, Baz; }
|
class Foo { use Bar, Baz {} }
|
||||||
|
class Foo { use Bar, Baz { one as include; } }
|
||||||
|
class Foo { use Bar, Baz { one as public; } }
|
||||||
|
class Foo { use Bar, Baz { one as public two; } }
|
||||||
class Foo { use Bar, Baz { Bar::one insteadof Baz, Quux; Baz::one as two; } }
|
class Foo { use Bar, Baz { Bar::one insteadof Baz, Quux; Baz::one as two; } }
|
||||||
|
|
||||||
try {}
|
try {}
|
||||||
@ -228,6 +242,7 @@ CAD;
|
|||||||
!$a;
|
!$a;
|
||||||
|
|
||||||
Foo::Bar;
|
Foo::Bar;
|
||||||
|
$foo::Bar;
|
||||||
clone($a);
|
clone($a);
|
||||||
clone $a;
|
clone $a;
|
||||||
function(){};
|
function(){};
|
||||||
@ -275,7 +290,9 @@ CAD;
|
|||||||
new class ($a, ...$b) {};
|
new class ($a, ...$b) {};
|
||||||
print($a);
|
print($a);
|
||||||
$a->foo;
|
$a->foo;
|
||||||
` + "`cmd $a`;" + `
|
` + "`cmd $a`;" + `
|
||||||
|
` + "`cmd`;" + `
|
||||||
|
` + "``;" + `
|
||||||
[];
|
[];
|
||||||
[1];
|
[1];
|
||||||
[1=>1, &$b,];
|
[1=>1, &$b,];
|
||||||
@ -287,6 +304,7 @@ CAD;
|
|||||||
namespace\Foo::bar();
|
namespace\Foo::bar();
|
||||||
\Foo::bar();
|
\Foo::bar();
|
||||||
Foo::$bar;
|
Foo::$bar;
|
||||||
|
$foo::$bar;
|
||||||
namespace\Foo::$bar;
|
namespace\Foo::$bar;
|
||||||
\Foo::$bar;
|
\Foo::$bar;
|
||||||
$a ? $b : $c;
|
$a ? $b : $c;
|
||||||
@ -365,6 +383,26 @@ CAD;
|
|||||||
trait Quux{}
|
trait Quux{}
|
||||||
interface Quuux {}
|
interface Quuux {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function foo(&$a = 1, ...$b = 1, $c = 1) {}
|
||||||
|
function foo(array $a, callable $b) {}
|
||||||
|
abstract final class foo { abstract protected static function bar(); final private function baz() {} }
|
||||||
|
|
||||||
|
(new Foo)->bar;
|
||||||
|
(new Foo)();
|
||||||
|
[$foo][0]();
|
||||||
|
foo[1]();
|
||||||
|
"foo"();
|
||||||
|
[1]{$foo}();
|
||||||
|
${foo()};
|
||||||
|
|
||||||
|
Foo::$bar();
|
||||||
|
Foo::{$bar[0]}();
|
||||||
|
|
||||||
|
$foo->$bar;
|
||||||
|
$foo->{$bar[0]};
|
||||||
|
|
||||||
|
[1=>&$a, 2=>list($b)];
|
||||||
`
|
`
|
||||||
|
|
||||||
expectedParams := []node.Node{
|
expectedParams := []node.Node{
|
||||||
@ -454,6 +492,59 @@ CAD;
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.New{
|
||||||
|
Class: &stmt.Class{
|
||||||
|
PhpDocComment: "",
|
||||||
|
Stmts: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.New{
|
||||||
|
Class: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.New{
|
||||||
|
Class: &expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
Dim: &scalar.Lnumber{Value: "1"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.New{
|
||||||
|
Class: &expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
Dim: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.New{
|
||||||
|
Class: &expr.PropertyFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
Property: &node.Identifier{Value: "bar"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.New{
|
||||||
|
Class: &expr.StaticPropertyFetch{
|
||||||
|
Class: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
Property: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.New{
|
||||||
|
Class: &expr.StaticPropertyFetch{
|
||||||
|
Class: &node.Identifier{Value: "static"},
|
||||||
|
Property: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Function{
|
&stmt.Function{
|
||||||
ReturnsRef: false,
|
ReturnsRef: false,
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
@ -589,6 +680,19 @@ CAD;
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &scalar.Encapsed{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&scalar.EncapsedStringPart{Value: "test "},
|
||||||
|
&expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$var"}},
|
||||||
|
Dim: &expr.UnaryMinus{
|
||||||
|
Expr: &scalar.Lnumber{Value: "1"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Expression{
|
&stmt.Expression{
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -600,6 +704,17 @@ CAD;
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &scalar.Encapsed{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&scalar.EncapsedStringPart{Value: "test "},
|
||||||
|
&expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$var"}},
|
||||||
|
Dim: &scalar.String{Value: "-1234567890123456789012345678901234567890"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Expression{
|
&stmt.Expression{
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -662,6 +777,14 @@ CAD;
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &scalar.Encapsed{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&scalar.EncapsedStringPart{Value: "test "},
|
||||||
|
&expr.Variable{VarName: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Expression{
|
&stmt.Expression{
|
||||||
Expr: &scalar.Encapsed{
|
Expr: &scalar.Encapsed{
|
||||||
Parts: []node.Node{
|
Parts: []node.Node{
|
||||||
@ -1406,6 +1529,91 @@ CAD;
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Class{
|
||||||
|
PhpDocComment: "",
|
||||||
|
ClassName: &node.Identifier{Value: "Foo"},
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.TraitUse{
|
||||||
|
Traits: []node.Node{
|
||||||
|
&name.Name{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&name.NamePart{Value: "Bar"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&name.Name{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&name.NamePart{Value: "Baz"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Adaptations: []node.Node{
|
||||||
|
&stmt.TraitUseAlias{
|
||||||
|
Ref: &stmt.TraitMethodRef{
|
||||||
|
Method: &node.Identifier{Value: "one"},
|
||||||
|
},
|
||||||
|
Alias: &node.Identifier{Value: "include"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Class{
|
||||||
|
PhpDocComment: "",
|
||||||
|
ClassName: &node.Identifier{Value: "Foo"},
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.TraitUse{
|
||||||
|
Traits: []node.Node{
|
||||||
|
&name.Name{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&name.NamePart{Value: "Bar"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&name.Name{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&name.NamePart{Value: "Baz"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Adaptations: []node.Node{
|
||||||
|
&stmt.TraitUseAlias{
|
||||||
|
Ref: &stmt.TraitMethodRef{
|
||||||
|
Method: &node.Identifier{Value: "one"},
|
||||||
|
},
|
||||||
|
Modifier: &node.Identifier{Value: "public"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Class{
|
||||||
|
PhpDocComment: "",
|
||||||
|
ClassName: &node.Identifier{Value: "Foo"},
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.TraitUse{
|
||||||
|
Traits: []node.Node{
|
||||||
|
&name.Name{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&name.NamePart{Value: "Bar"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&name.Name{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&name.NamePart{Value: "Baz"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Adaptations: []node.Node{
|
||||||
|
&stmt.TraitUseAlias{
|
||||||
|
Ref: &stmt.TraitMethodRef{
|
||||||
|
Method: &node.Identifier{Value: "one"},
|
||||||
|
},
|
||||||
|
Modifier: &node.Identifier{Value: "public"},
|
||||||
|
Alias: &node.Identifier{Value: "two"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Class{
|
&stmt.Class{
|
||||||
PhpDocComment: "",
|
PhpDocComment: "",
|
||||||
ClassName: &node.Identifier{Value: "Foo"},
|
ClassName: &node.Identifier{Value: "Foo"},
|
||||||
@ -1900,6 +2108,12 @@ CAD;
|
|||||||
ConstantName: &node.Identifier{Value: "Bar"},
|
ConstantName: &node.Identifier{Value: "Bar"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.ClassConstFetch{
|
||||||
|
Class: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
ConstantName: &node.Identifier{Value: "Bar"},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Expression{
|
&stmt.Expression{
|
||||||
Expr: &expr.Clone{
|
Expr: &expr.Clone{
|
||||||
Expr: &expr.Variable{VarName: &node.Identifier{Value: "$a"}},
|
Expr: &expr.Variable{VarName: &node.Identifier{Value: "$a"}},
|
||||||
@ -2243,6 +2457,18 @@ CAD;
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.ShellExec{
|
||||||
|
Parts: []node.Node{
|
||||||
|
&scalar.EncapsedStringPart{Value: "cmd"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.ShellExec{
|
||||||
|
Parts: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Expression{
|
&stmt.Expression{
|
||||||
Expr: &expr.ShortArray{
|
Expr: &expr.ShortArray{
|
||||||
Items: []node.Node{},
|
Items: []node.Node{},
|
||||||
@ -2364,6 +2590,12 @@ CAD;
|
|||||||
Property: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
Property: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.StaticPropertyFetch{
|
||||||
|
Class: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
Property: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
&stmt.Expression{
|
&stmt.Expression{
|
||||||
Expr: &expr.StaticPropertyFetch{
|
Expr: &expr.StaticPropertyFetch{
|
||||||
Class: &name.Relative{
|
Class: &name.Relative{
|
||||||
@ -2772,12 +3004,12 @@ CAD;
|
|||||||
FunctionName: &node.Identifier{Value: "foo"},
|
FunctionName: &node.Identifier{Value: "foo"},
|
||||||
Params: []node.Node{
|
Params: []node.Node{
|
||||||
&node.Parameter{
|
&node.Parameter{
|
||||||
ByRef: true,
|
ByRef: true,
|
||||||
Variadic: false,
|
Variadic: false,
|
||||||
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$a"}},
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$a"}},
|
||||||
},
|
},
|
||||||
&node.Parameter{
|
&node.Parameter{
|
||||||
ByRef: false,
|
ByRef: false,
|
||||||
Variadic: true,
|
Variadic: true,
|
||||||
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$b"}},
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$b"}},
|
||||||
},
|
},
|
||||||
@ -2786,22 +3018,217 @@ CAD;
|
|||||||
&stmt.HaltCompiler{},
|
&stmt.HaltCompiler{},
|
||||||
&stmt.Function{
|
&stmt.Function{
|
||||||
FunctionName: &node.Identifier{Value: "bar"},
|
FunctionName: &node.Identifier{Value: "bar"},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
},
|
},
|
||||||
&stmt.Class{
|
&stmt.Class{
|
||||||
ClassName: &node.Identifier{Value: "Baz"},
|
ClassName: &node.Identifier{Value: "Baz"},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
},
|
},
|
||||||
&stmt.Trait{
|
&stmt.Trait{
|
||||||
TraitName: &node.Identifier{Value: "Quux"},
|
TraitName: &node.Identifier{Value: "Quux"},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
},
|
},
|
||||||
&stmt.Interface{
|
&stmt.Interface{
|
||||||
InterfaceName: &node.Identifier{Value: "Quuux"},
|
InterfaceName: &node.Identifier{Value: "Quuux"},
|
||||||
|
Stmts: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Function{
|
||||||
|
FunctionName: &node.Identifier{Value: "foo"},
|
||||||
|
Params: []node.Node{
|
||||||
|
&node.Parameter{
|
||||||
|
ByRef: true,
|
||||||
|
Variadic: false,
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$a"}},
|
||||||
|
DefaultValue: &scalar.Lnumber{Value: "1"},
|
||||||
|
},
|
||||||
|
&node.Parameter{
|
||||||
|
ByRef: false,
|
||||||
|
Variadic: true,
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$b"}},
|
||||||
|
DefaultValue: &scalar.Lnumber{Value: "1"},
|
||||||
|
},
|
||||||
|
&node.Parameter{
|
||||||
|
ByRef: false,
|
||||||
|
Variadic: false,
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$c"}},
|
||||||
|
DefaultValue: &scalar.Lnumber{Value: "1"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{},
|
||||||
|
},
|
||||||
|
&stmt.Function{
|
||||||
|
FunctionName: &node.Identifier{Value: "foo"},
|
||||||
|
Params: []node.Node{
|
||||||
|
&node.Parameter{
|
||||||
|
ByRef: false,
|
||||||
|
Variadic: false,
|
||||||
|
VariableType: &node.Identifier{Value: "array"},
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$a"}},
|
||||||
|
},
|
||||||
|
&node.Parameter{
|
||||||
|
ByRef: false,
|
||||||
|
Variadic: false,
|
||||||
|
VariableType: &node.Identifier{Value: "callable"},
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$b"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{},
|
||||||
|
},
|
||||||
|
&stmt.Class{
|
||||||
|
ClassName: &node.Identifier{Value: "foo"},
|
||||||
|
Modifiers: []node.Node{
|
||||||
|
&node.Identifier{Value: "abstract"},
|
||||||
|
&node.Identifier{Value: "final"},
|
||||||
|
},
|
||||||
|
Stmts: []node.Node{
|
||||||
|
&stmt.ClassMethod{
|
||||||
|
MethodName: &node.Identifier{Value: "bar"},
|
||||||
|
Modifiers: []node.Node{
|
||||||
|
&node.Identifier{Value: "abstract"},
|
||||||
|
&node.Identifier{Value: "protected"},
|
||||||
|
&node.Identifier{Value: "static"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.ClassMethod{
|
||||||
|
MethodName: &node.Identifier{Value: "baz"},
|
||||||
|
Modifiers: []node.Node{
|
||||||
|
&node.Identifier{Value: "final"},
|
||||||
|
&node.Identifier{Value: "private"},
|
||||||
|
},
|
||||||
Stmts: []node.Node{},
|
Stmts: []node.Node{},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.PropertyFetch{
|
||||||
|
Variable: &expr.New{
|
||||||
|
Class: &name.Name{Parts: []node.Node{&name.NamePart{Value: "Foo"}}},
|
||||||
|
},
|
||||||
|
Property: &node.Identifier{Value: "bar"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.FunctionCall{
|
||||||
|
Function: &expr.New{
|
||||||
|
Class: &name.Name{Parts: []node.Node{&name.NamePart{Value: "Foo"}}},
|
||||||
|
},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.FunctionCall{
|
||||||
|
Function: &expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.ShortArray{
|
||||||
|
Items: []node.Node{
|
||||||
|
&expr.ArrayItem{
|
||||||
|
ByRef: false,
|
||||||
|
Val: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Dim: &scalar.Lnumber{Value: "0"},
|
||||||
|
},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.FunctionCall{
|
||||||
|
Function: &expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.ConstFetch{
|
||||||
|
Constant: &name.Name{Parts: []node.Node{&name.NamePart{Value: "foo"}}},
|
||||||
|
},
|
||||||
|
Dim: &scalar.Lnumber{Value: "1"},
|
||||||
|
},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.FunctionCall{
|
||||||
|
Function: &scalar.String{Value: "\"foo\""},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.FunctionCall{
|
||||||
|
Function: &expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.ShortArray{
|
||||||
|
Items: []node.Node{
|
||||||
|
&expr.ArrayItem{
|
||||||
|
ByRef: false,
|
||||||
|
Val: &scalar.Lnumber{Value: "1"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Dim: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.Variable{
|
||||||
|
VarName: &expr.FunctionCall{
|
||||||
|
Function: &name.Name{Parts: []node.Node{&name.NamePart{Value: "foo"}}},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.StaticCall{
|
||||||
|
Class: &name.Name{Parts: []node.Node{&name.NamePart{Value: "Foo"}}},
|
||||||
|
Call: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.StaticCall{
|
||||||
|
Class: &name.Name{Parts: []node.Node{&name.NamePart{Value: "Foo"}}},
|
||||||
|
Call: &expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
Dim: &scalar.Lnumber{Value: "0"},
|
||||||
|
},
|
||||||
|
Arguments: []node.Node{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.PropertyFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
Property: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.PropertyFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$foo"}},
|
||||||
|
Property: &expr.ArrayDimFetch{
|
||||||
|
Variable: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}},
|
||||||
|
Dim: &scalar.Lnumber{Value: "0"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
&stmt.Expression{
|
||||||
|
Expr: &expr.ShortArray{
|
||||||
|
Items: []node.Node{
|
||||||
|
&expr.ArrayItem{
|
||||||
|
ByRef: true,
|
||||||
|
Key: &scalar.Lnumber{Value: "1"},
|
||||||
|
Val: &expr.Variable{VarName: &node.Identifier{Value: "$a"}},
|
||||||
|
},
|
||||||
|
&expr.ArrayItem{
|
||||||
|
ByRef: false,
|
||||||
|
Key: &scalar.Lnumber{Value: "2"},
|
||||||
|
Val: &expr.List{
|
||||||
|
Items: []node.Node{
|
||||||
|
&expr.ArrayItem{
|
||||||
|
ByRef: false,
|
||||||
|
Val: &expr.Variable{VarName: &node.Identifier{Value: "$b"}},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user