annotate vendor/nikic/php-parser/test/code/parser/stmt/class/simple.test @ 1:1a348b17ec81

Logo and header background
author Chris Cannam
date Thu, 30 Nov 2017 14:56:35 +0000
parents 4c8ae668cc8c
children 5fb285c0d0e3
rev   line source
Chris@0 1 Class declaration
Chris@0 2 -----
Chris@0 3 <?php
Chris@0 4
Chris@0 5 class A extends B implements C, D {
Chris@0 6 const A = 'B', C = 'D';
Chris@0 7
Chris@0 8 public $a = 'b', $c = 'd';
Chris@0 9 protected $e;
Chris@0 10 private $f;
Chris@0 11
Chris@0 12 public function a() {}
Chris@0 13 public static function b($a) {}
Chris@0 14 public final function c() : B {}
Chris@0 15 protected function d() {}
Chris@0 16 private function e() {}
Chris@0 17 }
Chris@0 18 -----
Chris@0 19 array(
Chris@0 20 0: Stmt_Class(
Chris@0 21 flags: 0
Chris@0 22 name: A
Chris@0 23 extends: Name(
Chris@0 24 parts: array(
Chris@0 25 0: B
Chris@0 26 )
Chris@0 27 )
Chris@0 28 implements: array(
Chris@0 29 0: Name(
Chris@0 30 parts: array(
Chris@0 31 0: C
Chris@0 32 )
Chris@0 33 )
Chris@0 34 1: Name(
Chris@0 35 parts: array(
Chris@0 36 0: D
Chris@0 37 )
Chris@0 38 )
Chris@0 39 )
Chris@0 40 stmts: array(
Chris@0 41 0: Stmt_ClassConst(
Chris@0 42 flags: 0
Chris@0 43 consts: array(
Chris@0 44 0: Const(
Chris@0 45 name: A
Chris@0 46 value: Scalar_String(
Chris@0 47 value: B
Chris@0 48 )
Chris@0 49 )
Chris@0 50 1: Const(
Chris@0 51 name: C
Chris@0 52 value: Scalar_String(
Chris@0 53 value: D
Chris@0 54 )
Chris@0 55 )
Chris@0 56 )
Chris@0 57 )
Chris@0 58 1: Stmt_Property(
Chris@0 59 flags: MODIFIER_PUBLIC (1)
Chris@0 60 props: array(
Chris@0 61 0: Stmt_PropertyProperty(
Chris@0 62 name: a
Chris@0 63 default: Scalar_String(
Chris@0 64 value: b
Chris@0 65 )
Chris@0 66 )
Chris@0 67 1: Stmt_PropertyProperty(
Chris@0 68 name: c
Chris@0 69 default: Scalar_String(
Chris@0 70 value: d
Chris@0 71 )
Chris@0 72 )
Chris@0 73 )
Chris@0 74 )
Chris@0 75 2: Stmt_Property(
Chris@0 76 flags: MODIFIER_PROTECTED (2)
Chris@0 77 props: array(
Chris@0 78 0: Stmt_PropertyProperty(
Chris@0 79 name: e
Chris@0 80 default: null
Chris@0 81 )
Chris@0 82 )
Chris@0 83 )
Chris@0 84 3: Stmt_Property(
Chris@0 85 flags: MODIFIER_PRIVATE (4)
Chris@0 86 props: array(
Chris@0 87 0: Stmt_PropertyProperty(
Chris@0 88 name: f
Chris@0 89 default: null
Chris@0 90 )
Chris@0 91 )
Chris@0 92 )
Chris@0 93 4: Stmt_ClassMethod(
Chris@0 94 flags: MODIFIER_PUBLIC (1)
Chris@0 95 byRef: false
Chris@0 96 name: a
Chris@0 97 params: array(
Chris@0 98 )
Chris@0 99 returnType: null
Chris@0 100 stmts: array(
Chris@0 101 )
Chris@0 102 )
Chris@0 103 5: Stmt_ClassMethod(
Chris@0 104 flags: MODIFIER_PUBLIC | MODIFIER_STATIC (9)
Chris@0 105 byRef: false
Chris@0 106 name: b
Chris@0 107 params: array(
Chris@0 108 0: Param(
Chris@0 109 type: null
Chris@0 110 byRef: false
Chris@0 111 variadic: false
Chris@0 112 name: a
Chris@0 113 default: null
Chris@0 114 )
Chris@0 115 )
Chris@0 116 returnType: null
Chris@0 117 stmts: array(
Chris@0 118 )
Chris@0 119 )
Chris@0 120 6: Stmt_ClassMethod(
Chris@0 121 flags: MODIFIER_PUBLIC | MODIFIER_FINAL (33)
Chris@0 122 byRef: false
Chris@0 123 name: c
Chris@0 124 params: array(
Chris@0 125 )
Chris@0 126 returnType: Name(
Chris@0 127 parts: array(
Chris@0 128 0: B
Chris@0 129 )
Chris@0 130 )
Chris@0 131 stmts: array(
Chris@0 132 )
Chris@0 133 )
Chris@0 134 7: Stmt_ClassMethod(
Chris@0 135 flags: MODIFIER_PROTECTED (2)
Chris@0 136 byRef: false
Chris@0 137 name: d
Chris@0 138 params: array(
Chris@0 139 )
Chris@0 140 returnType: null
Chris@0 141 stmts: array(
Chris@0 142 )
Chris@0 143 )
Chris@0 144 8: Stmt_ClassMethod(
Chris@0 145 flags: MODIFIER_PRIVATE (4)
Chris@0 146 byRef: false
Chris@0 147 name: e
Chris@0 148 params: array(
Chris@0 149 )
Chris@0 150 returnType: null
Chris@0 151 stmts: array(
Chris@0 152 )
Chris@0 153 )
Chris@0 154 )
Chris@0 155 )
Chris@0 156 )