b3604ed6db1f4c8f873db5f71a27aa7d89e3e8db
[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: A
14         extends: null
15         implements: array(
16         )
17         stmts: array(
18             0: Stmt_ClassConst(
19                 flags: MODIFIER_STATIC (8)
20                 consts: array(
21                     0: Const(
22                         name: X
23                         value: Scalar_LNumber(
24                             value: 1
25                         )
26                     )
27                 )
28             )
29         )
30     )
31 )
32 -----
33 <?php
34 class A {
35     abstract const X = 1;
36 }
37 -----
38 !!php7
39 Cannot use 'abstract' as constant modifier from 3:5 to 3:12
40 array(
41     0: Stmt_Class(
42         flags: 0
43         name: A
44         extends: null
45         implements: array(
46         )
47         stmts: array(
48             0: Stmt_ClassConst(
49                 flags: MODIFIER_ABSTRACT (16)
50                 consts: array(
51                     0: Const(
52                         name: X
53                         value: Scalar_LNumber(
54                             value: 1
55                         )
56                     )
57                 )
58             )
59         )
60     )
61 )
62 -----
63 <?php
64 class A {
65     final const X = 1;
66 }
67 -----
68 !!php7
69 Cannot use 'final' as constant modifier from 3:5 to 3:9
70 array(
71     0: Stmt_Class(
72         flags: 0
73         name: A
74         extends: null
75         implements: array(
76         )
77         stmts: array(
78             0: Stmt_ClassConst(
79                 flags: MODIFIER_FINAL (32)
80                 consts: array(
81                     0: Const(
82                         name: X
83                         value: Scalar_LNumber(
84                             value: 1
85                         )
86                     )
87                 )
88             )
89         )
90     )
91 )
92 -----
93 <?php
94 class A {
95     public public const X = 1;
96 }
97 -----
98 !!php7
99 Multiple access type modifiers are not allowed from 3:12 to 3:17
100 array(
101     0: Stmt_Class(
102         flags: 0
103         name: A
104         extends: null
105         implements: array(
106         )
107         stmts: array(
108             0: Stmt_ClassConst(
109                 flags: MODIFIER_PUBLIC (1)
110                 consts: array(
111                     0: Const(
112                         name: X
113                         value: Scalar_LNumber(
114                             value: 1
115                         )
116                     )
117                 )
118             )
119         )
120     )
121 )