1 Valid usages of reserved keywords as identifiers
9 static function list() {}
10 static function protected() {}
15 const TRAIT = 3, FINAL = 4;
17 const __CLASS__ = 1, __TRAIT__ = 2, __FUNCTION__ = 3, __METHOD__ = 4, __LINE__ = 5,
18 __FILE__ = 6, __DIR__ = 7, __NAMESPACE__ = 8;
19 // __halt_compiler does not work
37 TraitA::catch insteadof namespace\TraitB;
38 TraitA::list as foreach;
39 TraitB::throw as protected public;
40 TraitB::self as protected;
43 namespace\TraitC::exit as byebye;
84 flags: MODIFIER_STATIC (8)
94 flags: MODIFIER_STATIC (8)
104 flags: MODIFIER_PUBLIC (1)
106 0: Stmt_PropertyProperty(
113 flags: MODIFIER_PUBLIC (1)
115 0: Stmt_PropertyProperty(
126 value: Scalar_LNumber(
132 value: Scalar_LNumber(
143 value: Scalar_LNumber(
149 value: Scalar_LNumber(
155 value: Scalar_LNumber(
161 value: Scalar_LNumber(
167 value: Scalar_LNumber(
173 value: Scalar_LNumber(
179 value: Scalar_LNumber(
185 value: Scalar_LNumber(
243 6: Expr_PropertyFetch(
249 7: Expr_PropertyFetch(
255 8: Expr_ClassConstFetch(
263 9: Expr_ClassConstFetch(
292 0: Stmt_TraitUseAdaptation_Precedence(
307 1: Stmt_TraitUseAdaptation_Alias(
317 2: Stmt_TraitUseAdaptation_Alias(
324 newModifier: MODIFIER_PROTECTED (2)
327 3: Stmt_TraitUseAdaptation_Alias(
334 newModifier: MODIFIER_PROTECTED (2)
337 4: Stmt_TraitUseAdaptation_Alias(
343 5: Stmt_TraitUseAdaptation_Alias(
344 trait: Name_FullyQualified(
353 6: Stmt_TraitUseAdaptation_Alias(
354 trait: Name_Relative(
363 7: Stmt_TraitUseAdaptation_Precedence(