comparison vendor/nikic/php-parser/test/code/parser/expr/uvs/misc.test @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 5fb285c0d0e3
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 Uniform variable syntax in PHP 7 (misc)
2 -----
3 <?php
4
5 A::A[0];
6 A::A[0][1][2];
7 "string"->length();
8 (clone $obj)->b[0](1);
9 [0, 1][0] = 1;
10 -----
11 !!php7
12 array(
13 0: Expr_ArrayDimFetch(
14 var: Expr_ClassConstFetch(
15 class: Name(
16 parts: array(
17 0: A
18 )
19 )
20 name: A
21 )
22 dim: Scalar_LNumber(
23 value: 0
24 )
25 )
26 1: Expr_ArrayDimFetch(
27 var: Expr_ArrayDimFetch(
28 var: Expr_ArrayDimFetch(
29 var: Expr_ClassConstFetch(
30 class: Name(
31 parts: array(
32 0: A
33 )
34 )
35 name: A
36 )
37 dim: Scalar_LNumber(
38 value: 0
39 )
40 )
41 dim: Scalar_LNumber(
42 value: 1
43 )
44 )
45 dim: Scalar_LNumber(
46 value: 2
47 )
48 )
49 2: Expr_MethodCall(
50 var: Scalar_String(
51 value: string
52 )
53 name: length
54 args: array(
55 )
56 )
57 3: Expr_FuncCall(
58 name: Expr_ArrayDimFetch(
59 var: Expr_PropertyFetch(
60 var: Expr_Clone(
61 expr: Expr_Variable(
62 name: obj
63 )
64 )
65 name: b
66 )
67 dim: Scalar_LNumber(
68 value: 0
69 )
70 )
71 args: array(
72 0: Arg(
73 value: Scalar_LNumber(
74 value: 1
75 )
76 byRef: false
77 unpack: false
78 )
79 )
80 )
81 4: Expr_Assign(
82 var: Expr_ArrayDimFetch(
83 var: Expr_Array(
84 items: array(
85 0: Expr_ArrayItem(
86 key: null
87 value: Scalar_LNumber(
88 value: 0
89 )
90 byRef: false
91 )
92 1: Expr_ArrayItem(
93 key: null
94 value: Scalar_LNumber(
95 value: 1
96 )
97 byRef: false
98 )
99 )
100 )
101 dim: Scalar_LNumber(
102 value: 0
103 )
104 )
105 expr: Scalar_LNumber(
106 value: 1
107 )
108 )
109 )