a6aa7972185a025145f08da92cc100e718551559
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / stmt / class / constModifierErrors.test
1 Invalid class constant modifiers
2 -----
3 <?php
4 class A {
5     static const X = 1;
6 }
7 -----
8 !!php7
9 Cannot use 'static' as constant modifier from 3:5 to 3:10
10 array(
11     0: Stmt_Class(
12         flags: 0
13         name: Identifier(
14             name: A
15         )
16         extends: null
17         implements: array(
18         )
19         stmts: array(
20             0: Stmt_ClassConst(
21                 flags: MODIFIER_STATIC (8)
22                 consts: array(
23                     0: Const(
24                         name: Identifier(
25                             name: X
26                         )
27                         value: Scalar_LNumber(
28                             value: 1
29                         )
30                     )
31                 )
32             )
33         )
34     )
35 )
36 -----
37 <?php
38 class A {
39     abstract const X = 1;
40 }
41 -----
42 !!php7
43 Cannot use 'abstract' as constant modifier from 3:5 to 3:12
44 array(
45     0: Stmt_Class(
46         flags: 0
47         name: Identifier(
48             name: A
49         )
50         extends: null
51         implements: array(
52         )
53         stmts: array(
54             0: Stmt_ClassConst(
55                 flags: MODIFIER_ABSTRACT (16)
56                 consts: array(
57                     0: Const(
58                         name: Identifier(
59                             name: X
60                         )
61                         value: Scalar_LNumber(
62                             value: 1
63                         )
64                     )
65                 )
66             )
67         )
68     )
69 )
70 -----
71 <?php
72 class A {
73     final const X = 1;
74 }
75 -----
76 !!php7
77 Cannot use 'final' as constant modifier from 3:5 to 3:9
78 array(
79     0: Stmt_Class(
80         flags: 0
81         name: Identifier(
82             name: A
83         )
84         extends: null
85         implements: array(
86         )
87         stmts: array(
88             0: Stmt_ClassConst(
89                 flags: MODIFIER_FINAL (32)
90                 consts: array(
91                     0: Const(
92                         name: Identifier(
93                             name: X
94                         )
95                         value: Scalar_LNumber(
96                             value: 1
97                         )
98                     )
99                 )
100             )
101         )
102     )
103 )
104 -----
105 <?php
106 class A {
107     public public const X = 1;
108 }
109 -----
110 !!php7
111 Multiple access type modifiers are not allowed from 3:12 to 3:17
112 array(
113     0: Stmt_Class(
114         flags: 0
115         name: Identifier(
116             name: A
117         )
118         extends: null
119         implements: array(
120         )
121         stmts: array(
122             0: Stmt_ClassConst(
123                 flags: MODIFIER_PUBLIC (1)
124                 consts: array(
125                     0: Const(
126                         name: Identifier(
127                             name: X
128                         )
129                         value: Scalar_LNumber(
130                             value: 1
131                         )
132                     )
133                 )
134             )
135         )
136     )
137 )