annotate vendor/nikic/php-parser/test/code/parser/expr/closure.test @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 5fb285c0d0e3
children
rev   line source
Chris@0 1 Closures
Chris@0 2 -----
Chris@0 3 <?php
Chris@0 4 function($a) { $a; };
Chris@0 5 function($a) use($b) {};
Chris@0 6 function() use($a, &$b) {};
Chris@0 7 function &($a) {};
Chris@0 8 static function() {};
Chris@0 9 function($a) : array {};
Chris@0 10 function() use($a) : \Foo\Bar {};
Chris@0 11 -----
Chris@0 12 array(
Chris@13 13 0: Stmt_Expression(
Chris@13 14 expr: Expr_Closure(
Chris@13 15 static: false
Chris@13 16 byRef: false
Chris@13 17 params: array(
Chris@13 18 0: Param(
Chris@13 19 type: null
Chris@13 20 byRef: false
Chris@13 21 variadic: false
Chris@13 22 var: Expr_Variable(
Chris@13 23 name: a
Chris@13 24 )
Chris@13 25 default: null
Chris@13 26 )
Chris@0 27 )
Chris@13 28 uses: array(
Chris@13 29 )
Chris@13 30 returnType: null
Chris@13 31 stmts: array(
Chris@13 32 0: Stmt_Expression(
Chris@13 33 expr: Expr_Variable(
Chris@13 34 name: a
Chris@13 35 )
Chris@13 36 )
Chris@0 37 )
Chris@0 38 )
Chris@0 39 )
Chris@13 40 1: Stmt_Expression(
Chris@13 41 expr: Expr_Closure(
Chris@13 42 static: false
Chris@13 43 byRef: false
Chris@13 44 params: array(
Chris@13 45 0: Param(
Chris@13 46 type: null
Chris@13 47 byRef: false
Chris@13 48 variadic: false
Chris@13 49 var: Expr_Variable(
Chris@13 50 name: a
Chris@13 51 )
Chris@13 52 default: null
Chris@13 53 )
Chris@13 54 )
Chris@13 55 uses: array(
Chris@13 56 0: Expr_ClosureUse(
Chris@13 57 var: Expr_Variable(
Chris@13 58 name: b
Chris@13 59 )
Chris@13 60 byRef: false
Chris@13 61 )
Chris@13 62 )
Chris@13 63 returnType: null
Chris@13 64 stmts: array(
Chris@0 65 )
Chris@0 66 )
Chris@13 67 )
Chris@13 68 2: Stmt_Expression(
Chris@13 69 expr: Expr_Closure(
Chris@13 70 static: false
Chris@13 71 byRef: false
Chris@13 72 params: array(
Chris@13 73 )
Chris@13 74 uses: array(
Chris@13 75 0: Expr_ClosureUse(
Chris@13 76 var: Expr_Variable(
Chris@13 77 name: a
Chris@13 78 )
Chris@13 79 byRef: false
Chris@13 80 )
Chris@13 81 1: Expr_ClosureUse(
Chris@13 82 var: Expr_Variable(
Chris@13 83 name: b
Chris@13 84 )
Chris@13 85 byRef: true
Chris@13 86 )
Chris@13 87 )
Chris@13 88 returnType: null
Chris@13 89 stmts: array(
Chris@0 90 )
Chris@0 91 )
Chris@13 92 )
Chris@13 93 3: Stmt_Expression(
Chris@13 94 expr: Expr_Closure(
Chris@13 95 static: false
Chris@13 96 byRef: true
Chris@13 97 params: array(
Chris@13 98 0: Param(
Chris@13 99 type: null
Chris@13 100 byRef: false
Chris@13 101 variadic: false
Chris@13 102 var: Expr_Variable(
Chris@13 103 name: a
Chris@13 104 )
Chris@13 105 default: null
Chris@13 106 )
Chris@13 107 )
Chris@13 108 uses: array(
Chris@13 109 )
Chris@13 110 returnType: null
Chris@13 111 stmts: array(
Chris@13 112 )
Chris@0 113 )
Chris@0 114 )
Chris@13 115 4: Stmt_Expression(
Chris@13 116 expr: Expr_Closure(
Chris@13 117 static: true
Chris@13 118 byRef: false
Chris@13 119 params: array(
Chris@0 120 )
Chris@13 121 uses: array(
Chris@13 122 )
Chris@13 123 returnType: null
Chris@13 124 stmts: array(
Chris@0 125 )
Chris@0 126 )
Chris@13 127 )
Chris@13 128 5: Stmt_Expression(
Chris@13 129 expr: Expr_Closure(
Chris@13 130 static: false
Chris@13 131 byRef: false
Chris@13 132 params: array(
Chris@13 133 0: Param(
Chris@13 134 type: null
Chris@13 135 byRef: false
Chris@13 136 variadic: false
Chris@13 137 var: Expr_Variable(
Chris@13 138 name: a
Chris@13 139 )
Chris@13 140 default: null
Chris@13 141 )
Chris@13 142 )
Chris@13 143 uses: array(
Chris@13 144 )
Chris@13 145 returnType: Identifier(
Chris@13 146 name: array
Chris@13 147 )
Chris@13 148 stmts: array(
Chris@13 149 )
Chris@0 150 )
Chris@0 151 )
Chris@13 152 6: Stmt_Expression(
Chris@13 153 expr: Expr_Closure(
Chris@13 154 static: false
Chris@13 155 byRef: false
Chris@13 156 params: array(
Chris@13 157 )
Chris@13 158 uses: array(
Chris@13 159 0: Expr_ClosureUse(
Chris@13 160 var: Expr_Variable(
Chris@13 161 name: a
Chris@13 162 )
Chris@13 163 byRef: false
Chris@13 164 )
Chris@13 165 )
Chris@13 166 returnType: Name_FullyQualified(
Chris@13 167 parts: array(
Chris@13 168 0: Foo
Chris@13 169 1: Bar
Chris@13 170 )
Chris@13 171 )
Chris@13 172 stmts: array(
Chris@0 173 )
Chris@0 174 )
Chris@0 175 )
Chris@13 176 )