1Invalid modifier combination 2----- 3<?php class A { public public $a; } 4----- 5Multiple access type modifiers are not allowed from 1:24 to 1:29 6array( 7 0: Stmt_Class( 8 attrGroups: array( 9 ) 10 flags: 0 11 name: Identifier( 12 name: A 13 ) 14 extends: null 15 implements: array( 16 ) 17 stmts: array( 18 0: Stmt_Property( 19 attrGroups: array( 20 ) 21 flags: PUBLIC (1) 22 type: null 23 props: array( 24 0: PropertyItem( 25 name: VarLikeIdentifier( 26 name: a 27 ) 28 default: null 29 ) 30 ) 31 hooks: array( 32 ) 33 ) 34 ) 35 ) 36) 37----- 38<?php class A { public protected $a; } 39----- 40Multiple access type modifiers are not allowed from 1:24 to 1:32 41array( 42 0: Stmt_Class( 43 attrGroups: array( 44 ) 45 flags: 0 46 name: Identifier( 47 name: A 48 ) 49 extends: null 50 implements: array( 51 ) 52 stmts: array( 53 0: Stmt_Property( 54 attrGroups: array( 55 ) 56 flags: PUBLIC | PROTECTED (3) 57 type: null 58 props: array( 59 0: PropertyItem( 60 name: VarLikeIdentifier( 61 name: a 62 ) 63 default: null 64 ) 65 ) 66 hooks: array( 67 ) 68 ) 69 ) 70 ) 71) 72----- 73<?php class C { readonly readonly $a; } 74----- 75Multiple readonly modifiers are not allowed from 1:26 to 1:33 76array( 77 0: Stmt_Class( 78 attrGroups: array( 79 ) 80 flags: 0 81 name: Identifier( 82 name: C 83 ) 84 extends: null 85 implements: array( 86 ) 87 stmts: array( 88 0: Stmt_Property( 89 attrGroups: array( 90 ) 91 flags: READONLY (64) 92 type: null 93 props: array( 94 0: PropertyItem( 95 name: VarLikeIdentifier( 96 name: a 97 ) 98 default: null 99 ) 100 ) 101 hooks: array( 102 ) 103 ) 104 ) 105 ) 106) 107----- 108<?php class A { abstract abstract function a(); } 109----- 110Multiple abstract modifiers are not allowed from 1:26 to 1:33 111array( 112 0: Stmt_Class( 113 attrGroups: array( 114 ) 115 flags: 0 116 name: Identifier( 117 name: A 118 ) 119 extends: null 120 implements: array( 121 ) 122 stmts: array( 123 0: Stmt_ClassMethod( 124 attrGroups: array( 125 ) 126 flags: ABSTRACT (16) 127 byRef: false 128 name: Identifier( 129 name: a 130 ) 131 params: array( 132 ) 133 returnType: null 134 stmts: null 135 ) 136 ) 137 ) 138) 139----- 140<?php class A { static static $a; } 141----- 142Multiple static modifiers are not allowed from 1:24 to 1:29 143array( 144 0: Stmt_Class( 145 attrGroups: array( 146 ) 147 flags: 0 148 name: Identifier( 149 name: A 150 ) 151 extends: null 152 implements: array( 153 ) 154 stmts: array( 155 0: Stmt_Property( 156 attrGroups: array( 157 ) 158 flags: STATIC (8) 159 type: null 160 props: array( 161 0: PropertyItem( 162 name: VarLikeIdentifier( 163 name: a 164 ) 165 default: null 166 ) 167 ) 168 hooks: array( 169 ) 170 ) 171 ) 172 ) 173) 174----- 175<?php class A { final final function a() {} } 176----- 177Multiple final modifiers are not allowed from 1:23 to 1:27 178array( 179 0: Stmt_Class( 180 attrGroups: array( 181 ) 182 flags: 0 183 name: Identifier( 184 name: A 185 ) 186 extends: null 187 implements: array( 188 ) 189 stmts: array( 190 0: Stmt_ClassMethod( 191 attrGroups: array( 192 ) 193 flags: FINAL (32) 194 byRef: false 195 name: Identifier( 196 name: a 197 ) 198 params: array( 199 ) 200 returnType: null 201 stmts: array( 202 ) 203 ) 204 ) 205 ) 206) 207----- 208<?php class A { abstract final function a(); } 209----- 210Cannot use the final modifier on an abstract class member from 1:26 to 1:30 211array( 212 0: Stmt_Class( 213 attrGroups: array( 214 ) 215 flags: 0 216 name: Identifier( 217 name: A 218 ) 219 extends: null 220 implements: array( 221 ) 222 stmts: array( 223 0: Stmt_ClassMethod( 224 attrGroups: array( 225 ) 226 flags: ABSTRACT | FINAL (48) 227 byRef: false 228 name: Identifier( 229 name: a 230 ) 231 params: array( 232 ) 233 returnType: null 234 stmts: null 235 ) 236 ) 237 ) 238) 239----- 240<?php abstract final class A { } 241----- 242Cannot use the final modifier on an abstract class from 1:16 to 1:20 243array( 244 0: Stmt_Class( 245 attrGroups: array( 246 ) 247 flags: ABSTRACT | FINAL (48) 248 name: Identifier( 249 name: A 250 ) 251 extends: null 252 implements: array( 253 ) 254 stmts: array( 255 ) 256 ) 257) 258