diff --git a/diff b/diff new file mode 100644 index 0000000..cf66cc7 --- /dev/null +++ b/diff @@ -0,0 +1,420 @@ + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 + 100 + 101 + 102 + 103 + 104 + 105 + 106 + 107 + 108 + 109 + 110 + 111 + 112 + 113 + 114 + 115 + 116 + 117 + 118 + 119 + 120 + 121 + 122 + 123 + 124 + 125 + 126 + 127 + 128 + 129 + 130 + 131 + 132 + 133 + 134 + 135 + 136 + 137 + 138 + 139 + 140 +- 141 +- 142 +- 143 + 144 + 145 + 146 + 147 +- 148 +- 149 + 150 + 151 + 152 + 153 + 154 + 155 + 156 + 157 + 158 + 159 + 160 + 161 + 162 + 163 + 164 + 165 + 166 + 167 + 168 + 169 + 170 + 171 + 172 + 173 + 174 +- 175 + 176 + 177 + 178 + 179 + 180 + 181 + 182 +- 183 +- 184 +- 185 +- 186 + 187 + 188 +- 189 + 190 + 191 + 192 + 193 + 194 + 195 + 196 + 197 +- 198 +- 199 + 200 +- 201 +- 202 + 203 + 204 + 205 + 206 + 207 + 208 + 209 + 210 + 211 + 212 + 213 +- 214 + 215 + 216 + 217 + 218 +- 219 + 220 +- 221 + 222 + 223 + 224 + 225 + 226 + 227 + 228 + 229 + 230 + 231 + 232 + 233 + 234 + 235 + 236 + 237 + 238 + 239 + 240 + 241 + 242 + 243 + 244 + 245 + 246 + 247 + 248 + 249 + 250 + 251 + 252 + 253 + 254 + 255 + 256 + 257 + 258 + 259 + 260 + 261 + 262 + 263 + 264 + 265 + 266 + 267 + 268 + 269 + 270 + 271 + 272 + 273 + 274 + 275 + 276 + 277 + 278 + 279 + 280 + 281 + 282 + 283 + 284 + 285 + 286 + 287 + 288 + 289 + 290 + 291 + 292 + 293 + 294 + 295 + 296 + 297 + 298 + 299 + 300 + 301 + 302 + 303 + 304 + 305 + 306 + 307 + 308 + 309 + 310 + 311 +- 312 + 313 + 314 +- 315 + 316 + 317 +- 318 +- 319 + 320 +- 321 + 322 + 323 + 324 + 325 + 326 + 327 + 328 + 329 + 330 + 331 + 332 + 333 + 334 + 335 + 336 + 337 + 338 + 339 + 340 + 341 + 342 + 343 +- 344 + 345 + 346 + 347 + 348 + 349 + 350 +- 351 +- 352 + 353 +- 354 +- 355 + 356 + 357 +- 358 +- 359 + 360 + 361 + 362 + 363 + 364 + 365 +- 366 + 367 + 368 +- 369 +- 370 +- 371 +- 372 +- 373 +- 374 +- 375 + 376 +- 377 +- 378 + 379 +- 380 +- 381 + 382 + 383 + 384 + 385 + 386 + 387 + 388 + 389 +- 390 + 391 +- 392 + 393 +- 394 + 395 +- 396 + 397 + 398 +- 399 + 400 +- 401 + 402 + 403 + 404 +- 405 +- 406 +- 407 +- 408 +- 409 +- 410 + 411 + 412 + 413 + 414 + 415 + 416 + 417 + 418 + 419 + 420 \ No newline at end of file diff --git a/log b/log new file mode 100644 index 0000000..899e38c --- /dev/null +++ b/log @@ -0,0 +1,6133 @@ +==> /Users/z7zmey/work/go/src/github.com/z7zmey/php-parser/example.php +4 +5 +7 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +308 +361 +362 +345 +66 +10 +3 +365 +356 +353 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +311 +361 +362 +345 +66 +10 +3 +365 +356 +362 +350 +379 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +360 +362 +345 +66 +10 +3 +5 +7 +313 +1 +376 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +309 +361 +362 +345 +66 +10 +3 +365 +356 +362 +350 +349 +1 +376 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +310 +361 +362 +345 +66 +10 +3 +5 +7 +313 +314 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +322 +220 +276 +346 +66 +10 +3 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +322 +99 +103 +299 +167 +218 +222 +276 +346 +66 +10 +3 +300 +299 +5 +7 +150 +147 +145 +87 +89 +5 +7 +342 +341 +290 +346 +140 +134 +5 +7 +150 +146 +145 +88 +90 +136 +135 +132 +151 +45 +86 +11 +3 +99 +103 +299 +167 +197 +195 +194 +300 +1 +299 +5 +7 +150 +147 +145 +87 +89 +5 +7 +342 +341 +290 +346 +140 +134 +5 +7 +150 +146 +145 +88 +90 +136 +135 +132 +151 +45 +190 +171 +166 +92 +12 +3 +300 +299 +5 +7 +150 +147 +145 +87 +89 +5 +7 +342 +341 +290 +346 +140 +134 +5 +7 +150 +146 +145 +88 +90 +136 +135 +132 +302 +151 +45 +297 +346 +66 +10 +3 +300 +299 +5 +7 +150 +147 +145 +87 +89 +5 +7 +342 +341 +290 +346 +140 +134 +5 +7 +150 +146 +145 +88 +90 +136 +135 +132 +302 +151 +45 +298 +346 +66 +10 +3 +325 +340 +290 +346 +66 +10 +3 +325 +340 +290 +346 +66 +10 +3 +325 +340 +290 +346 +66 +10 +3 +325 +340 +290 +346 +66 +10 +3 +325 +340 +290 +346 +66 +10 +3 +337 +290 +346 +66 +10 +3 +336 +290 +346 +66 +10 +3 +336 +290 +346 +66 +10 +3 +398 +397 +395 +339 +290 +346 +66 +10 +3 +336 +290 +346 +66 +10 +3 +326 +290 +346 +66 +10 +3 +327 +290 +346 +66 +10 +3 +327 +290 +346 +66 +10 +3 +326 +290 +346 +66 +10 +3 +327 +290 +346 +66 +10 +3 +326 +290 +346 +66 +10 +3 +327 +290 +346 +66 +10 +3 +335 +290 +346 +66 +10 +3 +330 +290 +346 +66 +10 +3 +329 +290 +346 +66 +10 +3 +333 +290 +346 +66 +10 +3 +328 +290 +346 +66 +10 +3 +334 +290 +346 +66 +10 +3 +332 +290 +346 +66 +10 +3 +331 +290 +346 +66 +10 +3 +398 +397 +338 +290 +346 +66 +10 +3 +400 +397 +395 +338 +290 +346 +66 +10 +3 +402 +397 +338 +290 +346 +66 +10 +3 +326 +290 +346 +403 +397 +338 +290 +346 +66 +10 +3 +365 +356 +362 +350 +379 +153 +360 +362 +404 +397 +338 +290 +346 +66 +10 +3 +365 +356 +362 +345 +45 +128 +130 +54 +10 +3 +365 +356 +362 +345 +45 +128 +365 +356 +362 +345 +45 +129 +130 +54 +10 +3 +365 +356 +362 +345 +45 +128 +45 +131 +54 +10 +3 +365 +356 +362 +345 +45 +128 +365 +356 +362 +345 +45 +129 +365 +356 +362 +345 +45 +129 +45 +131 +54 +10 +3 +326 +290 +346 +45 +347 +59 +46 +44 +52 +122 +55 +10 +3 +326 +290 +346 +45 +326 +290 +346 +348 +59 +46 +44 +52 +122 +55 +10 +3 +326 +290 +346 +45 +326 +290 +346 +275 +346 +348 +59 +46 +44 +123 +55 +10 +3 +99 +103 +299 +167 +197 +195 +194 +1 +326 +290 +346 +299 +209 +208 +1 +326 +290 +346 +299 +209 +207 +169 +166 +92 +12 +3 +99 +103 +299 +167 +193 +1 +326 +290 +346 +299 +209 +208 +1 +326 +290 +346 +299 +209 +207 +169 +166 +92 +12 +3 +99 +103 +299 +167 +193 +300 +1 +299 +133 +151 +45 +190 +171 +166 +92 +12 +3 +99 +103 +299 +167 +197 +195 +200 +196 +194 +301 +1 +299 +133 +151 +45 +190 +171 +166 +92 +12 +3 +99 +103 +299 +167 +197 +195 +200 +196 +194 +301 +1 +299 +133 +5 +7 +150 +146 +152 +45 +190 +171 +166 +92 +12 +3 +95 +93 +99 +103 +299 +167 +91 +12 +3 +96 +93 +5 +7 +100 +103 +299 +167 +91 +12 +3 +96 +93 +99 +5 +7 +172 +104 +299 +167 +91 +12 +3 +96 +93 +99 +5 +7 +172 +5 +7 +173 +104 +299 +167 +91 +12 +3 +153 +322 +5 +7 +100 +5 +7 +172 +5 +7 +173 +104 +299 +167 +218 +222 +276 +346 +66 +10 +3 +326 +290 +346 +299 +210 +43 +326 +290 +346 +299 +210 +42 +23 +3 +326 +290 +346 +45 +347 +60 +46 +44 +52 +122 +55 +10 +3 +326 +290 +346 +45 +326 +290 +346 +348 +60 +46 +44 +52 +122 +55 +10 +3 +326 +290 +346 +45 +326 +290 +346 +275 +346 +348 +60 +46 +44 +52 +122 +55 +10 +3 +326 +290 +346 +299 +210 +43 +71 +113 +70 +10 +3 +326 +290 +346 +299 +210 +43 +45 +52 +113 +70 +10 +3 +326 +290 +346 +299 +210 +43 +45 +114 +70 +10 +3 +45 +52 +326 +290 +346 +56 +10 +3 +365 +356 +362 +345 +213 +212 +326 +290 +346 +213 +211 +64 +10 +3 +365 +356 +362 +345 +275 +346 +213 +212 +64 +10 +3 +365 +356 +362 +326 +290 +346 +225 +346 +217 +215 +365 +356 +362 +345 +326 +290 +346 +269 +346 +217 +215 +365 +356 +362 +240 +346 +217 +365 +356 +362 +240 +346 +216 +215 +45 +52 +109 +57 +10 +3 +214 +365 +356 +362 +345 +326 +290 +346 +269 +346 +217 +215 +365 +356 +362 +240 +346 +217 +365 +356 +362 +240 +346 +216 +215 +45 +110 +57 +10 +3 +365 +356 +362 +345 +365 +356 +362 +105 +45 +52 +111 +68 +10 +3 +365 +356 +362 +345 +365 +356 +362 +105 +45 +112 +68 +10 +3 +365 +356 +362 +345 +365 +356 +362 +365 +356 +362 +105 +45 +52 +111 +69 +10 +3 +365 +356 +362 +345 +365 +356 +362 +365 +356 +362 +106 +45 +52 +111 +69 +10 +3 +365 +356 +362 +345 +365 +356 +362 +365 +356 +362 +345 +389 +385 +387 +383 +107 +45 +52 +111 +69 +10 +3 +365 +356 +362 +345 +365 +356 +362 +365 +356 +362 +345 +389 +385 +387 +383 +108 +45 +52 +111 +69 +10 +3 +300 +299 +133 +151 +45 +86 +11 +3 +300 +299 +133 +151 +45 +347 +61 +46 +44 +86 +11 +3 +301 +299 +133 +151 +45 +326 +290 +346 +348 +61 +46 +44 +86 +11 +3 +301 +299 +133 +5 +7 +150 +146 +152 +45 +86 +11 +3 +365 +161 +160 +365 +161 +159 +62 +10 +3 +76 +10 +3 +75 +10 +3 +15 +3 +365 +356 +362 +345 +45 +52 +124 +126 +53 +10 +3 +365 +356 +362 +345 +45 +52 +124 +365 +356 +362 +345 +45 +52 +125 +126 +53 +10 +3 +365 +356 +362 +345 +45 +52 +124 +45 +52 +127 +53 +10 +3 +365 +356 +362 +345 +45 +52 +124 +365 +356 +362 +345 +45 +52 +125 +365 +356 +362 +345 +45 +52 +125 +45 +52 +127 +53 +10 +3 +365 +356 +362 +345 +45 +52 +124 +365 +356 +362 +345 +45 +52 +125 +365 +356 +362 +345 +45 +52 +124 +45 +52 +127 +53 +127 +53 +10 +3 +71 +10 +3 +65 +10 +3 +101 +299 +167 +98 +14 +3 +5 +7 +172 +102 +299 +167 +98 +14 +3 +5 +7 +172 +5 +7 +173 +102 +299 +167 +98 +14 +3 +5 +16 +3 +5 +4 +17 +3 +4 +18 +3 +99 +103 +299 +167 +192 +299 +205 +204 +168 +166 +92 +12 +3 +99 +103 +299 +167 +197 +195 +200 +196 +191 +299 +205 +204 +326 +290 +346 +299 +206 +203 +168 +166 +92 +12 +3 +164 +163 +326 +290 +346 +165 +162 +63 +10 +3 +326 +290 +346 +119 +326 +290 +346 +45 +120 +45 +121 +326 +290 +346 +45 +120 +117 +58 +10 +3 +326 +290 +346 +119 +326 +290 +346 +45 +120 +326 +290 +346 +45 +120 +118 +58 +10 +3 +326 +290 +346 +119 +326 +290 +346 +45 +347 +59 +46 +44 +120 +326 +290 +346 +45 +347 +59 +46 +44 +120 +115 +58 +10 +3 +326 +290 +346 +119 +326 +290 +346 +45 +347 +59 +46 +44 +120 +326 +290 +346 +45 +347 +59 +46 +44 +120 +116 +58 +10 +3 +365 +356 +362 +345 +74 +10 +3 +299 +167 +97 +13 +3 +99 +103 +299 +167 +5 +7 +172 +174 +170 +166 +92 +12 +3 +99 +103 +299 +167 +5 +7 +172 +5 +7 +173 +174 +170 +166 +92 +12 +3 +99 +103 +299 +167 +5 +7 +172 +5 +7 +173 +5 +7 +1 +188 +5 +7 +172 +5 +7 +173 +181 +179 +177 +5 +7 +1 +188 +187 +182 +180 +178 +176 +170 +166 +92 +12 +3 +45 +77 +81 +72 +10 +3 +45 +77 +5 +7 +79 +45 +78 +81 +72 +10 +3 +45 +77 +5 +7 +79 +5 +7 +80 +45 +78 +81 +72 +10 +3 +45 +77 +5 +7 +79 +45 +78 +5 +7 +79 +45 +78 +81 +72 +10 +3 +45 +77 +5 +7 +79 +45 +78 +45 +82 +73 +10 +3 +365 +356 +362 +85 +83 +365 +356 +362 +85 +84 +67 +10 +3 +5 +38 +40 +35 +21 +3 +5 +38 +41 +35 +21 +3 +5 +39 +41 +35 +21 +3 +5 +38 +40 +35 +5 +38 +40 +34 +21 +3 +5 +38 +40 +35 +5 +39 +40 +34 +21 +3 +24 +5 +38 +40 +35 +5 +38 +41 +34 +22 +3 +24 +5 +39 +40 +35 +5 +39 +41 +34 +22 +3 +25 +5 +38 +40 +35 +5 +38 +41 +34 +22 +3 +25 +5 +39 +40 +35 +5 +39 +41 +34 +22 +3 +5 +5 +38 +36 +31 +5 +38 +36 +30 +28 +19 +3 +5 +5 +38 +36 +31 +5 +39 +36 +30 +29 +19 +3 +24 +5 +5 +38 +33 +5 +38 +32 +26 +20 +3 +25 +5 +5 +38 +33 +5 +38 +32 +27 +20 +3 +5 +25 +5 +38 +37 +31 +24 +5 +38 +37 +30 +28 +19 +3 +365 +356 +362 +350 +326 +290 +346 +348 +357 +362 +345 +66 +10 +3 +365 +356 +362 +350 +326 +290 +346 +348 +357 +362 +350 +326 +290 +346 +348 +357 +362 +345 +66 +10 +3 +384 +387 +382 +323 +340 +290 +346 +66 +10 +3 +326 +290 +346 +389 +385 +387 +383 +323 +340 +290 +346 +66 +10 +3 +326 +290 +346 +326 +290 +346 +388 +385 +387 +365 +356 +362 +391 +385 +386 +384 +386 +382 +323 +340 +290 +346 +66 +10 +3 +365 +356 +362 +345 +264 +346 +66 +10 +3 +365 +356 +362 +345 +263 +346 +66 +10 +3 +5 +7 +313 +1 +343 +341 +290 +346 +66 +10 +3 +365 +356 +362 +345 +275 +346 +227 +346 +66 +10 +3 +365 +356 +362 +345 +227 +346 +66 +10 +3 +300 +299 +133 +302 +151 +45 +297 +346 +66 +10 +3 +300 +299 +144 +87 +89 +139 +134 +144 +87 +89 +139 +135 +132 +306 +305 +307 +304 +303 +151 +45 +297 +346 +66 +10 +3 +300 +299 +133 +302 +5 +7 +150 +146 +152 +45 +297 +346 +66 +10 +3 +5 +7 +342 +341 +290 +346 +66 +10 +3 +5 +8 +342 +341 +290 +346 +66 +10 +3 +5 +9 +342 +341 +290 +346 +66 +10 +3 +365 +356 +362 +345 +412 +280 +346 +66 +10 +3 +365 +356 +362 +345 +289 +346 +66 +10 +3 +365 +356 +362 +345 +415 +280 +346 +66 +10 +3 +316 +288 +346 +66 +10 +3 +365 +356 +362 +345 +348 +317 +288 +346 +66 +10 +3 +316 +288 +346 +66 +10 +3 +365 +356 +362 +345 +348 +317 +288 +346 +66 +10 +3 +5 +7 +153 +308 +361 +362 +345 +66 +10 +3 +5 +8 +153 +308 +361 +362 +345 +66 +10 +3 +5 +9 +153 +308 +361 +362 +345 +66 +10 +3 +365 +356 +353 +153 +311 +361 +362 +345 +66 +10 +3 +365 +356 +362 +242 +346 +66 +10 +3 +365 +356 +362 +240 +346 +66 +10 +3 +365 +356 +362 +243 +346 +66 +10 +3 +365 +356 +362 +241 +346 +66 +10 +3 +365 +356 +362 +345 +413 +280 +346 +66 +10 +3 +365 +356 +362 +345 +414 +280 +346 +66 +10 +3 +365 +356 +362 +345 +416 +280 +346 +66 +10 +3 +365 +356 +362 +345 +417 +280 +346 +66 +10 +3 +365 +356 +362 +345 +5 +7 +313 +314 +274 +346 +66 +10 +3 +365 +356 +362 +345 +5 +8 +313 +314 +274 +346 +66 +10 +3 +365 +356 +362 +345 +5 +9 +313 +314 +274 +346 +66 +10 +3 +365 +356 +362 +345 +420 +418 +365 +356 +362 +345 +420 +419 +411 +280 +346 +66 +10 +3 +365 +356 +362 +345 +389 +385 +387 +383 +365 +356 +362 +345 +223 +346 +66 +10 +3 +365 +356 +362 +350 +347 +357 +362 +345 +389 +385 +387 +383 +365 +356 +362 +345 +223 +346 +66 +10 +3 +365 +356 +362 +345 +389 +385 +387 +383 +393 +385 +387 +383 +365 +356 +362 +345 +223 +346 +66 +10 +3 +365 +356 +362 +350 +379 +153 +360 +362 +345 +66 +10 +3 +5 +7 +313 +314 +153 +322 +220 +276 +346 +66 +10 +3 +5 +8 +313 +314 +153 +322 +220 +276 +346 +66 +10 +3 +5 +9 +313 +314 +153 +322 +220 +276 +346 +66 +10 +3 +365 +356 +362 +345 +157 +155 +365 +356 +362 +345 +158 +156 +154 +322 +99 +103 +299 +167 +218 +222 +276 +346 +66 +10 +3 +365 +356 +362 +345 +275 +346 +292 +346 +66 +10 +3 +365 +356 +362 +350 +379 +364 +345 +66 +10 +3 +398 +397 +320 +291 +346 +66 +10 +3 +384 +387 +382 +324 +340 +290 +346 +66 +10 +3 +326 +290 +346 +389 +385 +387 +383 +324 +340 +290 +346 +66 +10 +3 +326 +290 +346 +326 +290 +346 +388 +385 +387 +365 +356 +362 +391 +385 +386 +384 +386 +382 +324 +340 +290 +346 +66 +10 +3 +365 +356 +362 +345 +389 +385 +387 +383 +365 +356 +362 +345 +224 +346 +66 +10 +3 +365 +356 +362 +350 +347 +357 +362 +345 +389 +385 +387 +383 +365 +356 +362 +345 +224 +346 +66 +10 +3 +365 +356 +362 +345 +389 +385 +387 +383 +393 +385 +387 +383 +365 +356 +362 +345 +224 +346 +66 +10 +3 +5 +7 +313 +1 +376 +153 +309 +361 +362 +345 +66 +10 +3 +5 +8 +313 +1 +376 +153 +309 +361 +362 +345 +66 +10 +3 +5 +9 +313 +1 +376 +153 +309 +361 +362 +345 +66 +10 +3 +5 +7 +313 +365 +368 +363 +345 +66 +10 +3 +5 +8 +313 +365 +368 +363 +345 +66 +10 +3 +5 +9 +313 +365 +368 +363 +345 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +365 +356 +362 +345 +277 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +278 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +365 +356 +362 +345 +365 +356 +362 +345 +277 +346 +365 +356 +362 +345 +277 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +365 +356 +362 +345 +277 +346 +365 +356 +362 +345 +365 +356 +362 +345 +277 +346 +66 +10 +3 +365 +356 +362 +345 +262 +346 +66 +10 +3 +365 +356 +362 +345 +261 +346 +66 +10 +3 +365 +367 +356 +362 +345 +66 +10 +3 +293 +346 +66 +10 +3 +365 +356 +362 +345 +294 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +295 +346 +66 +10 +3 +365 +356 +362 +345 +296 +346 +66 +10 +3 +365 +356 +362 +345 +284 +346 +66 +10 +3 +365 +356 +362 +345 +286 +346 +66 +10 +3 +365 +356 +362 +345 +286 +346 +66 +10 +3 +365 +356 +362 +345 +282 +346 +66 +10 +3 +365 +356 +362 +345 +282 +346 +66 +10 +3 +365 +356 +362 +345 +281 +346 +66 +10 +3 +365 +356 +362 +345 +281 +346 +66 +10 +3 +365 +356 +362 +345 +285 +346 +66 +10 +3 +365 +356 +362 +345 +283 +346 +66 +10 +3 +365 +356 +362 +345 +287 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +250 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +249 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +251 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +245 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +244 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +279 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +252 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +257 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +267 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +272 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +271 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +265 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +247 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +246 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +248 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +254 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +258 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +255 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +268 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +266 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +253 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +256 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +259 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +260 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +270 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +269 +346 +66 +10 +3 +365 +356 +362 +345 +365 +356 +362 +345 +273 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +226 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +225 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +235 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +236 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +237 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +233 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +232 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +229 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +234 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +230 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +228 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +231 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +238 +346 +66 +10 +3 +365 +356 +362 +365 +356 +362 +345 +239 +346 +66 +10 +3 +99 +103 +299 +167 +197 +195 +194 +300 +2 +299 +133 +151 +45 +190 +171 +166 +92 +12 +3 +5 +6 +9 +153 +308 +361 +362 +345 +66 +10 +3 +300 +299 +144 +88 +89 +137 +134 +144 +87 +90 +138 +135 +132 +151 +45 +51 +44 +300 +299 +133 +151 +45 +86 +47 +44 +99 +103 +299 +167 +92 +48 +44 +299 +167 +97 +49 +44 +101 +299 +167 +98 +50 +44 +86 +11 +3 + | *stmt.StmtList Pos{Line: 2-328 Pos: 6-5576} + | "Stmts": + | *stmt.Expression Pos{Line: 2-2 Pos: 6-20} + | "Expr": + | *expr.FunctionCall Pos{Line: 2-2 Pos: 6-19} + | "Function": + | *name.Name Pos{Line: 2-2 Pos: 6-8} + | "Parts": + | *name.NamePart Pos{Line: 2-2 Pos: 6-8} map[Value:foo] + | "Arguments": + | *node.Argument Pos{Line: 2-2 Pos: 10-11} map[Variadic:false IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 2-2 Pos: 10-11} + | "VarName": + | *node.Identifier Pos{Line: 2-2 Pos: 10-11} map[Value:$a] + | *node.Argument Pos{Line: 2-2 Pos: 14-18} map[Variadic:true IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 2-2 Pos: 17-18} + | "VarName": + | *node.Identifier Pos{Line: 2-2 Pos: 17-18} map[Value:$b] + | *stmt.Expression Pos{Line: 3-3 Pos: 24-39} + | "Expr": + | *expr.FunctionCall Pos{Line: 3-3 Pos: 24-38} + | "Function": + | *expr.Variable Pos{Line: 3-3 Pos: 24-27} + | "VarName": + | *node.Identifier Pos{Line: 3-3 Pos: 24-27} map[Value:$foo] + | "Arguments": + | *node.Argument Pos{Line: 3-3 Pos: 29-30} map[Variadic:false IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 3-3 Pos: 29-30} + | "VarName": + | *node.Identifier Pos{Line: 3-3 Pos: 29-30} map[Value:$a] + | *node.Argument Pos{Line: 3-3 Pos: 33-37} map[Variadic:true IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 3-3 Pos: 36-37} + | "VarName": + | *node.Identifier Pos{Line: 3-3 Pos: 36-37} map[Value:$b] + | *stmt.Expression Pos{Line: 4-4 Pos: 43-63} + | "Expr": + | *expr.MethodCall Pos{Line: 4-4 Pos: 43-62} + | "Variable": + | *expr.Variable Pos{Line: 4-4 Pos: 43-46} + | "VarName": + | *node.Identifier Pos{Line: 4-4 Pos: 43-46} map[Value:$foo] + | "Method": + | *node.Identifier Pos{Line: 4-4 Pos: 49-51} map[Value:bar] + | "Arguments": + | *node.Argument Pos{Line: 4-4 Pos: 53-54} map[Variadic:false IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 4-4 Pos: 53-54} + | "VarName": + | *node.Identifier Pos{Line: 4-4 Pos: 53-54} map[Value:$a] + | *node.Argument Pos{Line: 4-4 Pos: 57-61} map[Variadic:true IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 4-4 Pos: 60-61} + | "VarName": + | *node.Identifier Pos{Line: 4-4 Pos: 60-61} map[Value:$b] + | *stmt.Expression Pos{Line: 5-5 Pos: 67-86} + | "Expr": + | *expr.StaticCall Pos{Line: 5-5 Pos: 67-85} + | "Class": + | *name.Name Pos{Line: 5-5 Pos: 67-69} + | "Parts": + | *name.NamePart Pos{Line: 5-5 Pos: 67-69} map[Value:foo] + | "Call": + | *node.Identifier Pos{Line: 5-5 Pos: 72-74} map[Value:bar] + | "Arguments": + | *node.Argument Pos{Line: 5-5 Pos: 76-77} map[IsReference:false Variadic:false] + | "Expr": + | *expr.Variable Pos{Line: 5-5 Pos: 76-77} + | "VarName": + | *node.Identifier Pos{Line: 5-5 Pos: 76-77} map[Value:$a] + | *node.Argument Pos{Line: 5-5 Pos: 80-84} map[Variadic:true IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 5-5 Pos: 83-84} + | "VarName": + | *node.Identifier Pos{Line: 5-5 Pos: 83-84} map[Value:$b] + | *stmt.Expression Pos{Line: 6-6 Pos: 90-110} + | "Expr": + | *expr.StaticCall Pos{Line: 6-6 Pos: 90-109} + | "Class": + | *expr.Variable Pos{Line: 6-6 Pos: 90-93} + | "VarName": + | *node.Identifier Pos{Line: 6-6 Pos: 90-93} map[Value:$foo] + | "Call": + | *node.Identifier Pos{Line: 6-6 Pos: 96-98} map[Value:bar] + | "Arguments": + | *node.Argument Pos{Line: 6-6 Pos: 100-101} map[Variadic:false IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 6-6 Pos: 100-101} + | "VarName": + | *node.Identifier Pos{Line: 6-6 Pos: 100-101} map[Value:$a] + | *node.Argument Pos{Line: 6-6 Pos: 104-108} map[Variadic:true IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 6-6 Pos: 107-108} + | "VarName": + | *node.Identifier Pos{Line: 6-6 Pos: 107-108} map[Value:$b] + | *stmt.Expression Pos{Line: 7-7 Pos: 114-132} + | "Expr": + | *expr.New Pos{Line: 7-7 Pos: 114-131} + | "Class": + | *name.Name Pos{Line: 7-7 Pos: 118-120} + | "Parts": + | *name.NamePart Pos{Line: 7-7 Pos: 118-120} map[Value:foo] + | "Arguments": + | *node.Argument Pos{Line: 7-7 Pos: 122-123} map[Variadic:false IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 7-7 Pos: 122-123} + | "VarName": + | *node.Identifier Pos{Line: 7-7 Pos: 122-123} map[Value:$a] + | *node.Argument Pos{Line: 7-7 Pos: 126-130} map[IsReference:false Variadic:true] + | "Expr": + | *expr.Variable Pos{Line: 7-7 Pos: 129-130} + | "VarName": + | *node.Identifier Pos{Line: 7-7 Pos: 129-130} map[Value:$b] + | *stmt.Expression Pos{Line: -1-9 Pos: -1-185} + | "Expr": + | *expr.New + | "Class": + | *stmt.Class Pos{Line: 9-9 Pos: 165-184} map[PhpDocComment:/** anonymous class */] + | "Args": + | *node.Argument Pos{Line: 9-9 Pos: 172-173} map[Variadic:false IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 9-9 Pos: 172-173} + | "VarName": + | *node.Identifier Pos{Line: 9-9 Pos: 172-173} map[Value:$a] + | *node.Argument Pos{Line: 9-9 Pos: 176-180} map[Variadic:true IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 9-9 Pos: 179-180} + | "VarName": + | *node.Identifier Pos{Line: 9-9 Pos: 179-180} map[Value:$b] + | "Stmts": + | *stmt.Function Pos{Line: 11-11 Pos: 190-234} map[ReturnsRef:false PhpDocComment:] + | "FunctionName": + | *node.Identifier Pos{Line: 11-11 Pos: 199-201} map[Value:foo] + | "Params": + | *node.Parameter Pos{Line: 11-11 Pos: 203-216} map[ByRef:false Variadic:false] + | "VariableType": + | *node.Nullable Pos{Line: 11-11 Pos: 203-206} + | "Expr": + | *name.Name Pos{Line: 11-11 Pos: 204-206} + | "Parts": + | *name.NamePart Pos{Line: 11-11 Pos: 204-206} map[Value:bar] + | "Variable": + | *expr.Variable Pos{Line: 11-11 Pos: 208-211} + | "VarName": + | *node.Identifier Pos{Line: 11-11 Pos: 208-211} map[Value:$bar] + | "DefaultValue": + | *expr.ConstFetch Pos{Line: 11-11 Pos: 213-216} + | "Constant": + | *name.Name Pos{Line: 11-11 Pos: 213-216} + | "Parts": + | *name.NamePart Pos{Line: 11-11 Pos: 213-216} map[Value:null] + | *node.Parameter Pos{Line: 11-11 Pos: 219-230} map[ByRef:true Variadic:true] + | "VariableType": + | *name.Name Pos{Line: 11-11 Pos: 219-221} + | "Parts": + | *name.NamePart Pos{Line: 11-11 Pos: 219-221} map[Value:baz] + | "Variable": + | *expr.Variable Pos{Line: 11-11 Pos: 227-230} + | "VarName": + | *node.Identifier Pos{Line: 11-11 Pos: 227-230} map[Value:$baz] + | "Stmts": + | *stmt.Class Pos{Line: 12-12 Pos: 238-301} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 12-12 Pos: 244-246} map[Value:foo] + | "Stmts": + | *stmt.ClassMethod Pos{Line: 12-12 Pos: 249-300} map[PhpDocComment: ReturnsRef:false] + | "MethodName": + | *node.Identifier Pos{Line: 12-12 Pos: 265-267} map[Value:foo] + | "Modifiers": + | *node.Identifier Pos{Line: 12-12 Pos: 249-254} map[Value:public] + | "Params": + | *node.Parameter Pos{Line: 12-12 Pos: 269-282} map[Variadic:false ByRef:false] + | "VariableType": + | *node.Nullable Pos{Line: 12-12 Pos: 269-272} + | "Expr": + | *name.Name Pos{Line: 12-12 Pos: 270-272} + | "Parts": + | *name.NamePart Pos{Line: 12-12 Pos: 270-272} map[Value:bar] + | "Variable": + | *expr.Variable Pos{Line: 12-12 Pos: 274-277} + | "VarName": + | *node.Identifier Pos{Line: 12-12 Pos: 274-277} map[Value:$bar] + | "DefaultValue": + | *expr.ConstFetch Pos{Line: 12-12 Pos: 279-282} + | "Constant": + | *name.Name Pos{Line: 12-12 Pos: 279-282} + | "Parts": + | *name.NamePart Pos{Line: 12-12 Pos: 279-282} map[Value:null] + | *node.Parameter Pos{Line: 12-12 Pos: 285-296} map[ByRef:true Variadic:true] + | "VariableType": + | *name.Name Pos{Line: 12-12 Pos: 285-287} + | "Parts": + | *name.NamePart Pos{Line: 12-12 Pos: 285-287} map[Value:baz] + | "Variable": + | *expr.Variable Pos{Line: 12-12 Pos: 293-296} + | "VarName": + | *node.Identifier Pos{Line: 12-12 Pos: 293-296} map[Value:$baz] + | "Stmts": + | *stmt.Expression Pos{Line: 13-13 Pos: 305-346} + | "Expr": + | *expr.Closure Pos{Line: 13-13 Pos: 305-345} map[ReturnsRef:false Static:false PhpDocComment:] + | "Params": + | *node.Parameter Pos{Line: 13-13 Pos: 314-327} map[ByRef:false Variadic:false] + | "VariableType": + | *node.Nullable Pos{Line: 13-13 Pos: 314-317} + | "Expr": + | *name.Name Pos{Line: 13-13 Pos: 315-317} + | "Parts": + | *name.NamePart Pos{Line: 13-13 Pos: 315-317} map[Value:bar] + | "Variable": + | *expr.Variable Pos{Line: 13-13 Pos: 319-322} + | "VarName": + | *node.Identifier Pos{Line: 13-13 Pos: 319-322} map[Value:$bar] + | "DefaultValue": + | *expr.ConstFetch Pos{Line: 13-13 Pos: 324-327} + | "Constant": + | *name.Name Pos{Line: 13-13 Pos: 324-327} + | "Parts": + | *name.NamePart Pos{Line: 13-13 Pos: 324-327} map[Value:null] + | *node.Parameter Pos{Line: 13-13 Pos: 330-341} map[Variadic:true ByRef:true] + | "VariableType": + | *name.Name Pos{Line: 13-13 Pos: 330-332} + | "Parts": + | *name.NamePart Pos{Line: 13-13 Pos: 330-332} map[Value:baz] + | "Variable": + | *expr.Variable Pos{Line: 13-13 Pos: 338-341} + | "VarName": + | *node.Identifier Pos{Line: 13-13 Pos: 338-341} map[Value:$baz] + | "Uses": + | "Stmts": + | *stmt.Expression Pos{Line: 14-14 Pos: 350-398} + | "Expr": + | *expr.Closure Pos{Line: 14-14 Pos: 350-397} map[ReturnsRef:false Static:true PhpDocComment:] + | "Params": + | *node.Parameter Pos{Line: 14-14 Pos: 366-379} map[ByRef:false Variadic:false] + | "VariableType": + | *node.Nullable Pos{Line: 14-14 Pos: 366-369} + | "Expr": + | *name.Name Pos{Line: 14-14 Pos: 367-369} + | "Parts": + | *name.NamePart Pos{Line: 14-14 Pos: 367-369} map[Value:bar] + | "Variable": + | *expr.Variable Pos{Line: 14-14 Pos: 371-374} + | "VarName": + | *node.Identifier Pos{Line: 14-14 Pos: 371-374} map[Value:$bar] + | "DefaultValue": + | *expr.ConstFetch Pos{Line: 14-14 Pos: 376-379} + | "Constant": + | *name.Name Pos{Line: 14-14 Pos: 376-379} + | "Parts": + | *name.NamePart Pos{Line: 14-14 Pos: 376-379} map[Value:null] + | *node.Parameter Pos{Line: 14-14 Pos: 382-393} map[ByRef:true Variadic:true] + | "VariableType": + | *name.Name Pos{Line: 14-14 Pos: 382-384} + | "Parts": + | *name.NamePart Pos{Line: 14-14 Pos: 382-384} map[Value:baz] + | "Variable": + | *expr.Variable Pos{Line: 14-14 Pos: 390-393} + | "VarName": + | *node.Identifier Pos{Line: 14-14 Pos: 390-393} map[Value:$baz] + | "Uses": + | "Stmts": + | *stmt.Expression Pos{Line: 16-16 Pos: 403-409} + | "Expr": + | *scalar.String Pos{Line: 16-16 Pos: 403-408} map[Value:"test"] + | *stmt.Expression Pos{Line: 17-17 Pos: 413-421} + | "Expr": + | *scalar.String Pos{Line: 17-17 Pos: 413-420} map[Value:"\$test"] + | *stmt.Expression Pos{Line: 18-20 Pos: 425-438} + | "Expr": + | *scalar.String Pos{Line: 18-20 Pos: 425-437} map[Value:" + test + "] + | *stmt.Expression Pos{Line: 21-21 Pos: 442-449} + | "Expr": + | *scalar.String Pos{Line: 21-21 Pos: 442-448} map[Value:'$test'] + | *stmt.Expression Pos{Line: 22-24 Pos: 453-467} + | "Expr": + | *scalar.String Pos{Line: 22-24 Pos: 453-466} map[Value:' + $test + '] + | *stmt.Expression Pos{Line: 25-26 Pos: 471-481} + | "Expr": + | *scalar.Encapsed Pos{Line: 25-26 Pos: 471-480} + | *stmt.Expression Pos{Line: 27-29 Pos: 485-502} + | "Expr": + | *scalar.String Pos{Line: 27-29 Pos: 485-501} map[Value: hello +] + | *stmt.Expression Pos{Line: 30-32 Pos: 506-525} + | "Expr": + | *scalar.String Pos{Line: 30-32 Pos: 506-524} map[Value: hello +] + | *stmt.Expression Pos{Line: 33-35 Pos: 529-555} + | "Expr": + | *scalar.Encapsed Pos{Line: 33-35 Pos: 529-554} + | "Parts": + | *scalar.EncapsedStringPart Pos{Line: 34-34 Pos: 538-544} map[Value: hello ] + | *expr.Variable Pos{Line: 34-34 Pos: 545-550} + | "VarName": + | *node.Identifier Pos{Line: 34-34 Pos: 545-550} map[Value:$world] + | *scalar.EncapsedStringPart Pos{Line: 34-34 Pos: 551-551} map[Value: +] + | *stmt.Expression Pos{Line: 36-38 Pos: 559-585} + | "Expr": + | *scalar.String Pos{Line: 36-38 Pos: 559-584} map[Value: hello $world +] + | *stmt.Expression Pos{Line: 40-40 Pos: 590-609} + | "Expr": + | *scalar.Lnumber Pos{Line: 40-40 Pos: 590-608} map[Value:1234567890123456789] + | *stmt.Expression Pos{Line: 41-41 Pos: 613-633} + | "Expr": + | *scalar.Dnumber Pos{Line: 41-41 Pos: 613-632} map[Value:12345678901234567890] + | *stmt.Expression Pos{Line: 42-42 Pos: 637-639} + | "Expr": + | *scalar.Dnumber Pos{Line: 42-42 Pos: 637-638} map[Value:0.] + | *stmt.Expression Pos{Line: 43-43 Pos: 643-709} + | "Expr": + | *scalar.Lnumber Pos{Line: 43-43 Pos: 643-708} map[Value:0b0111111111111111111111111111111111111111111111111111111111111111] + | *stmt.Expression Pos{Line: 44-44 Pos: 713-779} + | "Expr": + | *scalar.Dnumber Pos{Line: 44-44 Pos: 713-778} map[Value:0b1111111111111111111111111111111111111111111111111111111111111111] + | *stmt.Expression Pos{Line: 45-45 Pos: 783-803} + | "Expr": + | *scalar.Lnumber Pos{Line: 45-45 Pos: 783-802} map[Value:0x007111111111111111] + | *stmt.Expression Pos{Line: 46-46 Pos: 807-825} + | "Expr": + | *scalar.Dnumber Pos{Line: 46-46 Pos: 807-824} map[Value:0x8111111111111111] + | *stmt.Expression Pos{Line: 47-47 Pos: 829-838} + | "Expr": + | *scalar.MagicConstant Pos{Line: 47-47 Pos: 829-837} map[Value:__CLASS__] + | *stmt.Expression Pos{Line: 48-48 Pos: 842-849} + | "Expr": + | *scalar.MagicConstant Pos{Line: 48-48 Pos: 842-848} map[Value:__DIR__] + | *stmt.Expression Pos{Line: 49-49 Pos: 853-861} + | "Expr": + | *scalar.MagicConstant Pos{Line: 49-49 Pos: 853-860} map[Value:__FILE__] + | *stmt.Expression Pos{Line: 50-50 Pos: 865-877} + | "Expr": + | *scalar.MagicConstant Pos{Line: 50-50 Pos: 865-876} map[Value:__FUNCTION__] + | *stmt.Expression Pos{Line: 51-51 Pos: 881-889} + | "Expr": + | *scalar.MagicConstant Pos{Line: 51-51 Pos: 881-888} map[Value:__LINE__] + | *stmt.Expression Pos{Line: 52-52 Pos: 893-906} + | "Expr": + | *scalar.MagicConstant Pos{Line: 52-52 Pos: 893-905} map[Value:__NAMESPACE__] + | *stmt.Expression Pos{Line: 53-53 Pos: 910-920} + | "Expr": + | *scalar.MagicConstant Pos{Line: 53-53 Pos: 910-919} map[Value:__METHOD__] + | *stmt.Expression Pos{Line: 54-54 Pos: 924-933} + | "Expr": + | *scalar.MagicConstant Pos{Line: 54-54 Pos: 924-932} map[Value:__TRAIT__] + | *stmt.Expression Pos{Line: 56-56 Pos: 938-949} + | "Expr": + | *scalar.Encapsed Pos{Line: 56-56 Pos: 938-948} + | "Parts": + | *scalar.EncapsedStringPart Pos{Line: 56-56 Pos: 939-943} map[Value:test ] + | *expr.Variable Pos{Line: 56-56 Pos: 944-947} + | "VarName": + | *node.Identifier Pos{Line: 56-56 Pos: 944-947} map[Value:$var] + | *stmt.Expression Pos{Line: 57-57 Pos: 953-971} + | "Expr": + | *scalar.Encapsed Pos{Line: 57-57 Pos: 953-970} + | "Parts": + | *scalar.EncapsedStringPart Pos{Line: 57-57 Pos: 954-958} map[Value:test ] + | *expr.PropertyFetch Pos{Line: 57-57 Pos: 959-967} + | "Variable": + | *expr.Variable Pos{Line: 57-57 Pos: 959-962} + | "VarName": + | *node.Identifier Pos{Line: 57-57 Pos: 959-962} map[Value:$foo] + | "Property": + | *node.Identifier Pos{Line: 57-57 Pos: 965-967} map[Value:bar] + | *scalar.EncapsedStringPart Pos{Line: 57-57 Pos: 968-969} map[Value:()] + | *stmt.Expression Pos{Line: 58-58 Pos: 975-988} + | "Expr": + | *scalar.Encapsed Pos{Line: 58-58 Pos: 975-987} + | "Parts": + | *scalar.EncapsedStringPart Pos{Line: 58-58 Pos: 976-980} map[Value:test ] + | *expr.Variable Pos{Line: 58-58 Pos: 981-986} + | "VarName": + | *node.Identifier Pos{Line: 58-58 Pos: 983-985} map[Value:foo] + | *stmt.Expression Pos{Line: 59-59 Pos: 992-1008} + | "Expr": + | *scalar.Encapsed Pos{Line: 59-59 Pos: 992-1007} + | "Parts": + | *scalar.EncapsedStringPart Pos{Line: 59-59 Pos: 993-997} map[Value:test ] + | *expr.ArrayDimFetch Pos{Line: 59-59 Pos: 998-1006} + | "Variable": + | *expr.Variable Pos{Line: 59-59 Pos: 1000-1002} + | "VarName": + | *node.Identifier Pos{Line: 59-59 Pos: 1000-1002} map[Value:foo] + | "Dim": + | *scalar.Lnumber Pos{Line: 59-59 Pos: 1004-1004} map[Value:0] + | *stmt.Expression Pos{Line: 60-60 Pos: 1012-1032} + | "Expr": + | *scalar.Encapsed Pos{Line: 60-60 Pos: 1012-1031} + | "Parts": + | *scalar.EncapsedStringPart Pos{Line: 60-60 Pos: 1013-1017} map[Value:test ] + | *expr.MethodCall Pos{Line: 60-60 Pos: 1019-1029} + | "Variable": + | *expr.Variable Pos{Line: 60-60 Pos: 1019-1022} + | "VarName": + | *node.Identifier Pos{Line: 60-60 Pos: 1019-1022} map[Value:$foo] + | "Method": + | *node.Identifier Pos{Line: 60-60 Pos: 1025-1027} map[Value:bar] + | "Arguments": + | *stmt.AltIf Pos{Line: 62-63 Pos: 1037-1054} + | "Cond": + | *expr.Variable Pos{Line: 62-62 Pos: 1041-1042} + | "VarName": + | *node.Identifier Pos{Line: 62-62 Pos: 1041-1042} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | *stmt.AltIf Pos{Line: 64-66 Pos: 1058-1090} + | "Cond": + | *expr.Variable Pos{Line: 64-64 Pos: 1062-1063} + | "VarName": + | *node.Identifier Pos{Line: 64-64 Pos: 1062-1063} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | "ElseIf": + | *stmt.AltElseIf Pos{Line: 65--1 Pos: 1070--1} + | "Cond": + | *expr.Variable Pos{Line: 65-65 Pos: 1078-1079} + | "VarName": + | *node.Identifier Pos{Line: 65-65 Pos: 1078-1079} map[Value:$b] + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | *stmt.AltIf Pos{Line: 67-69 Pos: 1094-1119} + | "Cond": + | *expr.Variable Pos{Line: 67-67 Pos: 1098-1099} + | "VarName": + | *node.Identifier Pos{Line: 67-67 Pos: 1098-1099} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | "Else": + | *stmt.AltElse Pos{Line: 68--1 Pos: 1106--1} + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | *stmt.AltIf Pos{Line: 70-74 Pos: 1123-1178} + | "Cond": + | *expr.Variable Pos{Line: 70-70 Pos: 1127-1128} + | "VarName": + | *node.Identifier Pos{Line: 70-70 Pos: 1127-1128} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | "ElseIf": + | *stmt.AltElseIf Pos{Line: 71--1 Pos: 1135--1} + | "Cond": + | *expr.Variable Pos{Line: 71-71 Pos: 1143-1144} + | "VarName": + | *node.Identifier Pos{Line: 71-71 Pos: 1143-1144} map[Value:$b] + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | *stmt.AltElseIf Pos{Line: 72--1 Pos: 1150--1} + | "Cond": + | *expr.Variable Pos{Line: 72-72 Pos: 1158-1159} + | "VarName": + | *node.Identifier Pos{Line: 72-72 Pos: 1158-1159} map[Value:$c] + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | "Else": + | *stmt.AltElse Pos{Line: 73--1 Pos: 1165--1} + | "Stmt": + | *stmt.StmtList Pos{Line: -1--1 Pos: -1--1} + | "Stmts": + | *stmt.While Pos{Line: 76-76 Pos: 1183-1202} + | "Cond": + | *scalar.Lnumber Pos{Line: 76-76 Pos: 1190-1190} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 76-76 Pos: 1193-1202} + | "Stmts": + | *stmt.Break Pos{Line: 76-76 Pos: 1195-1200} + | *stmt.While Pos{Line: 77-77 Pos: 1206-1227} + | "Cond": + | *scalar.Lnumber Pos{Line: 77-77 Pos: 1213-1213} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 77-77 Pos: 1216-1227} + | "Stmts": + | *stmt.Break Pos{Line: 77-77 Pos: 1218-1225} + | "Expr": + | *scalar.Lnumber Pos{Line: 77-77 Pos: 1224-1224} map[Value:2] + | *stmt.While Pos{Line: 78-78 Pos: 1231-1261} + | "Cond": + | *scalar.Lnumber Pos{Line: 78-78 Pos: 1238-1238} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 78-78 Pos: 1241-1261} + | "Stmts": + | *stmt.Break Pos{Line: 78-78 Pos: 1243-1251} + | "Expr": + | *scalar.Lnumber Pos{Line: 78-78 Pos: 1249-1249} map[Value:3] + | *stmt.Class Pos{Line: 79-79 Pos: 1265-1307} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 79-79 Pos: 1271-1273} map[Value:foo] + | "Stmts": + | *stmt.ClassConstList Pos{Line: 79-79 Pos: 1276-1305} + | "Modifiers": + | *node.Identifier Pos{Line: 79-79 Pos: 1276-1281} map[Value:public] + | "Consts": + | *stmt.Constant Pos{Line: 79-79 Pos: 1289-1295} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 79-79 Pos: 1289-1291} map[Value:FOO] + | "Expr": + | *scalar.Lnumber Pos{Line: 79-79 Pos: 1295-1295} map[Value:1] + | *stmt.Constant Pos{Line: 79-79 Pos: 1298-1304} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 79-79 Pos: 1298-1300} map[Value:BAR] + | "Expr": + | *scalar.Lnumber Pos{Line: 79-79 Pos: 1304-1304} map[Value:2] + | *stmt.Class Pos{Line: 80-80 Pos: 1311-1346} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 80-80 Pos: 1317-1319} map[Value:foo] + | "Stmts": + | *stmt.ClassConstList Pos{Line: 80-80 Pos: 1322-1344} + | "Consts": + | *stmt.Constant Pos{Line: 80-80 Pos: 1328-1334} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 80-80 Pos: 1328-1330} map[Value:FOO] + | "Expr": + | *scalar.Lnumber Pos{Line: 80-80 Pos: 1334-1334} map[Value:1] + | *stmt.Constant Pos{Line: 80-80 Pos: 1337-1343} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 80-80 Pos: 1337-1339} map[Value:BAR] + | "Expr": + | *scalar.Lnumber Pos{Line: 80-80 Pos: 1343-1343} map[Value:2] + | *stmt.Class Pos{Line: 81-81 Pos: 1350-1379} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 81-81 Pos: 1356-1358} map[Value:foo] + | "Stmts": + | *stmt.ClassMethod Pos{Line: 81-81 Pos: 1361-1377} map[ReturnsRef:false PhpDocComment:] + | "MethodName": + | *node.Identifier Pos{Line: 81-81 Pos: 1370-1372} map[Value:bar] + | "Stmts": + | *stmt.Class Pos{Line: 82-82 Pos: 1383-1427} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 82-82 Pos: 1389-1391} map[Value:foo] + | "Stmts": + | *stmt.ClassMethod Pos{Line: 82-82 Pos: 1394-1425} map[ReturnsRef:true PhpDocComment:] + | "MethodName": + | *node.Identifier Pos{Line: 82-82 Pos: 1418-1420} map[Value:bar] + | "Modifiers": + | *node.Identifier Pos{Line: 82-82 Pos: 1394-1399} map[Value:public] + | *node.Identifier Pos{Line: 82-82 Pos: 1401-1406} map[Value:static] + | "Stmts": + | *stmt.Class Pos{Line: 83-83 Pos: 1431-1481} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 83-83 Pos: 1437-1439} map[Value:foo] + | "Stmts": + | *stmt.ClassMethod Pos{Line: 83-83 Pos: 1442-1479} map[ReturnsRef:true PhpDocComment:] + | "MethodName": + | *node.Identifier Pos{Line: 83-83 Pos: 1466-1468} map[Value:bar] + | "Modifiers": + | *node.Identifier Pos{Line: 83-83 Pos: 1442-1447} map[Value:public] + | *node.Identifier Pos{Line: 83-83 Pos: 1449-1454} map[Value:static] + | "ReturnType": + | *name.Name Pos{Line: 83-83 Pos: 1473-1476} + | "Parts": + | *name.NamePart Pos{Line: 83-83 Pos: 1473-1476} map[Value:void] + | "Stmts": + | *stmt.Class Pos{Line: 84-84 Pos: 1485-1505} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 84-84 Pos: 1500-1502} map[Value:foo] + | "Modifiers": + | *node.Identifier Pos{Line: 84-84 Pos: 1485-1492} map[Value:abstract] + | "Stmts": + | *stmt.Class Pos{Line: 85-85 Pos: 1509-1539} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 85-85 Pos: 1521-1523} map[Value:foo] + | "Modifiers": + | *node.Identifier Pos{Line: 85-85 Pos: 1509-1513} map[Value:final] + | "Extends": + | *name.Name Pos{Line: 85-85 Pos: 1533-1535} + | "Parts": + | *name.NamePart Pos{Line: 85-85 Pos: 1533-1535} map[Value:bar] + | "Stmts": + | *stmt.Class Pos{Line: 86-86 Pos: 1543-1576} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 86-86 Pos: 1555-1557} map[Value:foo] + | "Modifiers": + | *node.Identifier Pos{Line: 86-86 Pos: 1543-1547} map[Value:final] + | "Implements": + | *name.Name Pos{Line: 86-86 Pos: 1570-1572} + | "Parts": + | *name.NamePart Pos{Line: 86-86 Pos: 1570-1572} map[Value:bar] + | "Stmts": + | *stmt.Class Pos{Line: 87-87 Pos: 1580-1618} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 87-87 Pos: 1592-1594} map[Value:foo] + | "Modifiers": + | *node.Identifier Pos{Line: 87-87 Pos: 1580-1584} map[Value:final] + | "Implements": + | *name.Name Pos{Line: 87-87 Pos: 1607-1609} + | "Parts": + | *name.NamePart Pos{Line: 87-87 Pos: 1607-1609} map[Value:bar] + | *name.Name Pos{Line: 87-87 Pos: 1612-1614} + | "Parts": + | *name.NamePart Pos{Line: 87-87 Pos: 1612-1614} map[Value:baz] + | "Stmts": + | *stmt.Expression Pos{Line: -1-88 Pos: -1-1669} + | "Expr": + | *expr.New + | "Class": + | *stmt.Class Pos{Line: 88-88 Pos: 1626-1668} map[PhpDocComment:] + | "Args": + | "Extends": + | *name.Name Pos{Line: 88-88 Pos: 1642-1644} + | "Parts": + | *name.NamePart Pos{Line: 88-88 Pos: 1642-1644} map[Value:foo] + | "Implements": + | *name.Name Pos{Line: 88-88 Pos: 1657-1659} + | "Parts": + | *name.NamePart Pos{Line: 88-88 Pos: 1657-1659} map[Value:bar] + | *name.Name Pos{Line: 88-88 Pos: 1662-1664} + | "Parts": + | *name.NamePart Pos{Line: 88-88 Pos: 1662-1664} map[Value:baz] + | "Stmts": + | *stmt.ConstList Pos{Line: 90-90 Pos: 1674-1696} + | "Consts": + | *stmt.Constant Pos{Line: 90-90 Pos: 1680-1686} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 90-90 Pos: 1680-1682} map[Value:FOO] + | "Expr": + | *scalar.Lnumber Pos{Line: 90-90 Pos: 1686-1686} map[Value:1] + | *stmt.Constant Pos{Line: 90-90 Pos: 1689-1695} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 90-90 Pos: 1689-1691} map[Value:BAR] + | "Expr": + | *scalar.Lnumber Pos{Line: 90-90 Pos: 1695-1695} map[Value:2] + | *stmt.While Pos{Line: 91-91 Pos: 1700-1722} + | "Cond": + | *scalar.Lnumber Pos{Line: 91-91 Pos: 1707-1707} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 91-91 Pos: 1710-1722} + | "Stmts": + | *stmt.Continue Pos{Line: 91-91 Pos: 1712-1720} + | *stmt.While Pos{Line: 92-92 Pos: 1726-1750} + | "Cond": + | *scalar.Lnumber Pos{Line: 92-92 Pos: 1733-1733} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 92-92 Pos: 1736-1750} + | "Stmts": + | *stmt.Continue Pos{Line: 92-92 Pos: 1738-1748} + | "Expr": + | *scalar.Lnumber Pos{Line: 92-92 Pos: 1747-1747} map[Value:2] + | *stmt.While Pos{Line: 93-93 Pos: 1754-1779} + | "Cond": + | *scalar.Lnumber Pos{Line: 93-93 Pos: 1761-1761} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 93-93 Pos: 1764-1779} + | "Stmts": + | *stmt.Continue Pos{Line: 93-93 Pos: 1766-1777} + | "Expr": + | *scalar.Lnumber Pos{Line: 93-93 Pos: 1775-1775} map[Value:3] + | *stmt.Declare Pos{Line: 94-94 Pos: 1783-1799} + | "Consts": + | *stmt.Constant Pos{Line: 94-94 Pos: 1791-1797} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 94-94 Pos: 1791-1795} map[Value:ticks] + | "Expr": + | *scalar.Lnumber Pos{Line: 94-94 Pos: 1797-1797} map[Value:1] + | "Stmt": + | *stmt.Nop Pos{Line: 121-121 Pos: 2489-2490} + | *stmt.Declare Pos{Line: 95-95 Pos: 1803-1821} + | "Consts": + | *stmt.Constant Pos{Line: 95-95 Pos: 1811-1817} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 95-95 Pos: 1811-1815} map[Value:ticks] + | "Expr": + | *scalar.Lnumber Pos{Line: 95-95 Pos: 1817-1817} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 95-95 Pos: 1820-1821} + | "Stmts": + | *stmt.Declare Pos{Line: 96-96 Pos: 1825-1853} + | "Consts": + | *stmt.Constant Pos{Line: 96-96 Pos: 1833-1839} map[PhpDocComment:] + | "ConstantName": + | *node.Identifier Pos{Line: 96-96 Pos: 1833-1837} map[Value:ticks] + | "Expr": + | *scalar.Lnumber Pos{Line: 96-96 Pos: 1839-1839} map[Value:1] + | "Stmt": + | *stmt.StmtList Pos{Line: 96-96 Pos: 1841-1853} + | "Stmts": + | *stmt.Do Pos{Line: 97-97 Pos: 1857-1871} + | "Stmt": + | *stmt.StmtList Pos{Line: 97-97 Pos: 1860-1861} + | "Stmts": + | "Cond": + | *scalar.Lnumber Pos{Line: 97-97 Pos: 1869-1869} map[Value:1] + | *stmt.Echo Pos{Line: 98-98 Pos: 1875-1885} + | "Exprs": + | *expr.Variable Pos{Line: 98-98 Pos: 1880-1881} + | "VarName": + | *node.Identifier Pos{Line: 98-98 Pos: 1880-1881} map[Value:$a] + | *scalar.Lnumber Pos{Line: 98-98 Pos: 1884-1884} map[Value:1] + | *stmt.Echo Pos{Line: 99-99 Pos: 1889-1897} + | "Exprs": + | *expr.Variable Pos{Line: 99-99 Pos: 1894-1895} + | "VarName": + | *node.Identifier Pos{Line: 99-99 Pos: 1894-1895} map[Value:$a] + | *stmt.For Pos{Line: 100-100 Pos: 1901-1935} + | "Init": + | *assign_op.Assign Pos{Line: 100-100 Pos: 1905-1910} + | "Variable": + | *expr.Variable Pos{Line: 100-100 Pos: 1905-1906} + | "VarName": + | *node.Identifier Pos{Line: 100-100 Pos: 1905-1906} map[Value:$i] + | "Expression": + | *scalar.Lnumber Pos{Line: 100-100 Pos: 1910-1910} map[Value:0] + | "Cond": + | *binary_op.Smaller Pos{Line: 100-100 Pos: 1913-1919} + | "Left": + | *expr.Variable Pos{Line: 100-100 Pos: 1913-1914} + | "VarName": + | *node.Identifier Pos{Line: 100-100 Pos: 1913-1914} map[Value:$i] + | "Right": + | *scalar.Lnumber Pos{Line: 100-100 Pos: 1918-1919} map[Value:10] + | "Loop": + | *expr.PostInc Pos{Line: 100-100 Pos: 1922-1925} + | "Variable": + | *expr.Variable Pos{Line: 100-100 Pos: 1922-1923} + | "VarName": + | *node.Identifier Pos{Line: 100-100 Pos: 1922-1923} map[Value:$i] + | *expr.PostInc Pos{Line: 100-100 Pos: 1928-1931} + | "Variable": + | *expr.Variable Pos{Line: 100-100 Pos: 1928-1929} + | "VarName": + | *node.Identifier Pos{Line: 100-100 Pos: 1928-1929} map[Value:$i] + | "Stmt": + | *stmt.StmtList Pos{Line: 100-100 Pos: 1934-1935} + | "Stmts": + | *stmt.For Pos{Line: 101-101 Pos: 1939-1974} + | "Cond": + | *binary_op.Smaller Pos{Line: 101-101 Pos: 1945-1951} + | "Left": + | *expr.Variable Pos{Line: 101-101 Pos: 1945-1946} + | "VarName": + | *node.Identifier Pos{Line: 101-101 Pos: 1945-1946} map[Value:$i] + | "Right": + | *scalar.Lnumber Pos{Line: 101-101 Pos: 1950-1951} map[Value:10] + | "Loop": + | *expr.PostInc Pos{Line: 101-101 Pos: 1954-1957} + | "Variable": + | *expr.Variable Pos{Line: 101-101 Pos: 1954-1955} + | "VarName": + | *node.Identifier Pos{Line: 101-101 Pos: 1954-1955} map[Value:$i] + | *expr.PostInc Pos{Line: 101-101 Pos: 1960-1963} + | "Variable": + | *expr.Variable Pos{Line: 101-101 Pos: 1960-1961} + | "VarName": + | *node.Identifier Pos{Line: 101-101 Pos: 1960-1961} map[Value:$i] + | "Stmt": + | *stmt.StmtList Pos{Line: 101-101 Pos: 1966-1974} + | "Stmts": + | *stmt.Foreach Pos{Line: 102-102 Pos: 1978-1998} map[ByRef:false] + | "Expr": + | *expr.Variable Pos{Line: 102-102 Pos: 1987-1988} + | "VarName": + | *node.Identifier Pos{Line: 102-102 Pos: 1987-1988} map[Value:$a] + | "Variable": + | *expr.Variable Pos{Line: 102-102 Pos: 1993-1994} + | "VarName": + | *node.Identifier Pos{Line: 102-102 Pos: 1993-1994} map[Value:$v] + | "Stmt": + | *stmt.StmtList Pos{Line: 102-102 Pos: 1997-1998} + | "Stmts": + | *stmt.Foreach Pos{Line: 103-103 Pos: 2002-2033} map[ByRef:false] + | "Expr": + | *expr.Variable Pos{Line: 103-103 Pos: 2011-2012} + | "VarName": + | *node.Identifier Pos{Line: 103-103 Pos: 2011-2012} map[Value:$a] + | "Variable": + | *expr.Variable Pos{Line: 103-103 Pos: 2017-2018} + | "VarName": + | *node.Identifier Pos{Line: 103-103 Pos: 2017-2018} map[Value:$v] + | "Stmt": + | *stmt.StmtList Pos{Line: 103-103 Pos: 2021-2033} + | "Stmts": + | *stmt.Foreach Pos{Line: 104-104 Pos: 2037-2063} map[ByRef:false] + | "Expr": + | *expr.Variable Pos{Line: 104-104 Pos: 2046-2047} + | "VarName": + | *node.Identifier Pos{Line: 104-104 Pos: 2046-2047} map[Value:$a] + | "Key": + | *expr.Variable Pos{Line: 104-104 Pos: 2052-2053} + | "VarName": + | *node.Identifier Pos{Line: 104-104 Pos: 2052-2053} map[Value:$k] + | "Variable": + | *expr.Variable Pos{Line: 104-104 Pos: 2058-2059} + | "VarName": + | *node.Identifier Pos{Line: 104-104 Pos: 2058-2059} map[Value:$v] + | "Stmt": + | *stmt.StmtList Pos{Line: 104-104 Pos: 2062-2063} + | "Stmts": + | *stmt.Foreach Pos{Line: 105-105 Pos: 2067-2094} map[ByRef:true] + | "Expr": + | *expr.Variable Pos{Line: 105-105 Pos: 2076-2077} + | "VarName": + | *node.Identifier Pos{Line: 105-105 Pos: 2076-2077} map[Value:$a] + | "Key": + | *expr.Variable Pos{Line: 105-105 Pos: 2082-2083} + | "VarName": + | *node.Identifier Pos{Line: 105-105 Pos: 2082-2083} map[Value:$k] + | "Variable": + | *expr.Variable Pos{Line: 105-105 Pos: 2089-2090} + | "VarName": + | *node.Identifier Pos{Line: 105-105 Pos: 2089-2090} map[Value:$v] + | "Stmt": + | *stmt.StmtList Pos{Line: 105-105 Pos: 2093-2094} + | "Stmts": + | *stmt.Foreach Pos{Line: 106-106 Pos: 2098-2130} map[ByRef:false] + | "Expr": + | *expr.Variable Pos{Line: 106-106 Pos: 2107-2108} + | "VarName": + | *node.Identifier Pos{Line: 106-106 Pos: 2107-2108} map[Value:$a] + | "Key": + | *expr.Variable Pos{Line: 106-106 Pos: 2113-2114} + | "VarName": + | *node.Identifier Pos{Line: 106-106 Pos: 2113-2114} map[Value:$k] + | "Variable": + | *expr.List Pos{Line: 106-106 Pos: 2119-2126} + | "Items": + | *expr.ArrayItem Pos{Line: 106-106 Pos: 2124-2125} map[ByRef:false] + | "Val": + | *expr.Variable Pos{Line: 106-106 Pos: 2124-2125} + | "VarName": + | *node.Identifier Pos{Line: 106-106 Pos: 2124-2125} map[Value:$v] + | "Stmt": + | *stmt.StmtList Pos{Line: 106-106 Pos: 2129-2130} + | "Stmts": + | *stmt.Foreach Pos{Line: 107-107 Pos: 2134-2162} map[ByRef:false] + | "Expr": + | *expr.Variable Pos{Line: 107-107 Pos: 2143-2144} + | "VarName": + | *node.Identifier Pos{Line: 107-107 Pos: 2143-2144} map[Value:$a] + | "Key": + | *expr.Variable Pos{Line: 107-107 Pos: 2149-2150} + | "VarName": + | *node.Identifier Pos{Line: 107-107 Pos: 2149-2150} map[Value:$k] + | "Variable": + | *expr.ShortList Pos{Line: 107-107 Pos: 2155-2158} + | "Items": + | *expr.ArrayItem Pos{Line: 107-107 Pos: 2156-2157} map[ByRef:false] + | "Val": + | *expr.Variable Pos{Line: 107-107 Pos: 2156-2157} + | "VarName": + | *node.Identifier Pos{Line: 107-107 Pos: 2156-2157} map[Value:$v] + | "Stmt": + | *stmt.StmtList Pos{Line: 107-107 Pos: 2161-2162} + | "Stmts": + | *stmt.Function Pos{Line: 108-108 Pos: 2166-2182} map[ReturnsRef:false PhpDocComment:] + | "FunctionName": + | *node.Identifier Pos{Line: 108-108 Pos: 2175-2177} map[Value:foo] + | "Stmts": + | *stmt.Function Pos{Line: 109-109 Pos: 2186-2209} map[PhpDocComment: ReturnsRef:false] + | "FunctionName": + | *node.Identifier Pos{Line: 109-109 Pos: 2195-2197} map[Value:foo] + | "Stmts": + | *stmt.Return Pos{Line: 109-109 Pos: 2202-2208} + | *stmt.Function Pos{Line: 110-110 Pos: 2213-2239} map[ReturnsRef:true PhpDocComment:] + | "FunctionName": + | *node.Identifier Pos{Line: 110-110 Pos: 2223-2225} map[Value:foo] + | "Stmts": + | *stmt.Return Pos{Line: 110-110 Pos: 2230-2238} + | "Expr": + | *scalar.Lnumber Pos{Line: 110-110 Pos: 2237-2237} map[Value:1] + | *stmt.Function Pos{Line: 111-111 Pos: 2243-2266} map[ReturnsRef:true PhpDocComment:] + | "FunctionName": + | *node.Identifier Pos{Line: 111-111 Pos: 2253-2255} map[Value:foo] + | "ReturnType": + | *name.Name Pos{Line: 111-111 Pos: 2260-2263} + | "Parts": + | *name.NamePart Pos{Line: 111-111 Pos: 2260-2263} map[Value:void] + | "Stmts": + | *stmt.Global Pos{Line: 112-112 Pos: 2270-2283} + | "Vars": + | *expr.Variable Pos{Line: 112-112 Pos: 2277-2278} + | "VarName": + | *node.Identifier Pos{Line: 112-112 Pos: 2277-2278} map[Value:$a] + | *expr.Variable Pos{Line: 112-112 Pos: 2281-2282} + | "VarName": + | *node.Identifier Pos{Line: 112-112 Pos: 2281-2282} map[Value:$b] + | *stmt.Label Pos{Line: 113-113 Pos: 2287-2288} + | "LabelName": + | *node.Identifier Pos{Line: 113-113 Pos: 2287-2287} map[Value:a] + | *stmt.Goto Pos{Line: 114-114 Pos: 2293-2299} + | "Label": + | *node.Identifier Pos{Line: 114-114 Pos: 2298-2298} map[Value:a] + | *stmt.HaltCompiler Pos{Line: 323-323 Pos: 5480-5497} + | *stmt.If Pos{Line: 116-116 Pos: 2324-2333} + | "Cond": + | *expr.Variable Pos{Line: 116-116 Pos: 2328-2329} + | "VarName": + | *node.Identifier Pos{Line: 116-116 Pos: 2328-2329} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: 116-116 Pos: 2332-2333} + | "Stmts": + | *stmt.If Pos{Line: 117-117 Pos: 2337-2361} + | "Cond": + | *expr.Variable Pos{Line: 117-117 Pos: 2341-2342} + | "VarName": + | *node.Identifier Pos{Line: 117-117 Pos: 2341-2342} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: 117-117 Pos: 2345-2346} + | "Stmts": + | "ElseIf": + | *stmt.ElseIf Pos{Line: 117-117 Pos: 2348-2361} + | "Cond": + | *expr.Variable Pos{Line: 117-117 Pos: 2356-2357} + | "VarName": + | *node.Identifier Pos{Line: 117-117 Pos: 2356-2357} map[Value:$b] + | "Stmt": + | *stmt.StmtList Pos{Line: 117-117 Pos: 2360-2361} + | "Stmts": + | *stmt.If Pos{Line: 118-118 Pos: 2365-2382} + | "Cond": + | *expr.Variable Pos{Line: 118-118 Pos: 2369-2370} + | "VarName": + | *node.Identifier Pos{Line: 118-118 Pos: 2369-2370} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: 118-118 Pos: 2373-2374} + | "Stmts": + | "Else": + | *stmt.Else Pos{Line: 118-118 Pos: 2376-2382} + | "Stmt": + | *stmt.StmtList Pos{Line: 118-118 Pos: 2381-2382} + | "Stmts": + | *stmt.If Pos{Line: 119-119 Pos: 2386-2433} + | "Cond": + | *expr.Variable Pos{Line: 119-119 Pos: 2390-2391} + | "VarName": + | *node.Identifier Pos{Line: 119-119 Pos: 2390-2391} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: 119-119 Pos: 2394-2395} + | "Stmts": + | "ElseIf": + | *stmt.ElseIf Pos{Line: 119-119 Pos: 2397-2410} + | "Cond": + | *expr.Variable Pos{Line: 119-119 Pos: 2405-2406} + | "VarName": + | *node.Identifier Pos{Line: 119-119 Pos: 2405-2406} map[Value:$b] + | "Stmt": + | *stmt.StmtList Pos{Line: 119-119 Pos: 2409-2410} + | "Stmts": + | *stmt.ElseIf Pos{Line: 119-119 Pos: 2412-2425} + | "Cond": + | *expr.Variable Pos{Line: 119-119 Pos: 2420-2421} + | "VarName": + | *node.Identifier Pos{Line: 119-119 Pos: 2420-2421} map[Value:$c] + | "Stmt": + | *stmt.StmtList Pos{Line: 119-119 Pos: 2424-2425} + | "Stmts": + | "Else": + | *stmt.Else Pos{Line: 119-119 Pos: 2427-2433} + | "Stmt": + | *stmt.StmtList Pos{Line: 119-119 Pos: 2432-2433} + | "Stmts": + | *stmt.If Pos{Line: 120-120 Pos: 2437-2485} + | "Cond": + | *expr.Variable Pos{Line: 120-120 Pos: 2441-2442} + | "VarName": + | *node.Identifier Pos{Line: 120-120 Pos: 2441-2442} map[Value:$a] + | "Stmt": + | *stmt.StmtList Pos{Line: 120-120 Pos: 2445-2446} + | "Stmts": + | "ElseIf": + | *stmt.ElseIf Pos{Line: 120-120 Pos: 2448-2461} + | "Cond": + | *expr.Variable Pos{Line: 120-120 Pos: 2456-2457} + | "VarName": + | *node.Identifier Pos{Line: 120-120 Pos: 2456-2457} map[Value:$b] + | "Stmt": + | *stmt.StmtList Pos{Line: 120-120 Pos: 2460-2461} + | "Stmts": + | "Else": + | *stmt.Else Pos{Line: 120-120 Pos: 2463-2485} + | "Stmt": + | *stmt.If Pos{Line: 120-120 Pos: 2468-2485} + | "Cond": + | *expr.Variable Pos{Line: 120-120 Pos: 2472-2473} + | "VarName": + | *node.Identifier Pos{Line: 120-120 Pos: 2472-2473} map[Value:$c] + | "Stmt": + | *stmt.StmtList Pos{Line: 120-120 Pos: 2476-2477} + | "Stmts": + | "Else": + | *stmt.Else Pos{Line: 120-120 Pos: 2479-2485} + | "Stmt": + | *stmt.StmtList Pos{Line: 120-120 Pos: 2484-2485} + | "Stmts": + | *stmt.Nop Pos{Line: 121-121 Pos: 2489-2490} + | *stmt.InlineHtml Pos{Line: 121-121 Pos: 2492-2503} map[Value:
] + | *stmt.Interface Pos{Line: 122-122 Pos: 2509-2524} map[PhpDocComment:] + | "InterfaceName": + | *node.Identifier Pos{Line: 122-122 Pos: 2519-2521} map[Value:Foo] + | "Stmts": + | *stmt.Interface Pos{Line: 123-123 Pos: 2528-2555} map[PhpDocComment:] + | "InterfaceName": + | *node.Identifier Pos{Line: 123-123 Pos: 2538-2540} map[Value:Foo] + | "Extends": + | *name.Name Pos{Line: 123-123 Pos: 2550-2552} + | "Parts": + | *name.NamePart Pos{Line: 123-123 Pos: 2550-2552} map[Value:Bar] + | "Stmts": + | *stmt.Interface Pos{Line: 124-124 Pos: 2559-2591} map[PhpDocComment:] + | "InterfaceName": + | *node.Identifier Pos{Line: 124-124 Pos: 2569-2571} map[Value:Foo] + | "Extends": + | *name.Name Pos{Line: 124-124 Pos: 2581-2583} + | "Parts": + | *name.NamePart Pos{Line: 124-124 Pos: 2581-2583} map[Value:Bar] + | *name.Name Pos{Line: 124-124 Pos: 2586-2588} + | "Parts": + | *name.NamePart Pos{Line: 124-124 Pos: 2586-2588} map[Value:Baz] + | "Stmts": + | *stmt.Namespace Pos{Line: 125-125 Pos: 2595-2608} + | "NamespaceName": + | *name.Name Pos{Line: 125-125 Pos: 2605-2607} + | "Parts": + | *name.NamePart Pos{Line: 125-125 Pos: 2605-2607} map[Value:Foo] + | *stmt.Namespace Pos{Line: 126-126 Pos: 2612-2627} + | "NamespaceName": + | *name.Name Pos{Line: 126-126 Pos: 2622-2624} + | "Parts": + | *name.NamePart Pos{Line: 126-126 Pos: 2622-2624} map[Value:Foo] + | "Stmts": + | *stmt.Namespace Pos{Line: 127-127 Pos: 2631-2642} + | "Stmts": + | *stmt.Class Pos{Line: 128-128 Pos: 2646-2664} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 128-128 Pos: 2652-2654} map[Value:foo] + | "Stmts": + | *stmt.PropertyList Pos{Line: 128-128 Pos: 2657-2663} + | "Modifiers": + | *node.Identifier Pos{Line: 128-128 Pos: 2657-2659} map[Value:var] + | "Properties": + | *stmt.Property Pos{Line: 128-128 Pos: 2661-2662} map[PhpDocComment:] + | "Variable": + | *expr.Variable Pos{Line: 128-128 Pos: 2661-2662} + | "VarName": + | *node.Identifier Pos{Line: 128-128 Pos: 2661-2662} map[Value:$a] + | *stmt.Class Pos{Line: 129-129 Pos: 2668-2704} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 129-129 Pos: 2674-2676} map[Value:foo] + | "Stmts": + | *stmt.PropertyList Pos{Line: 129-129 Pos: 2679-2703} + | "Modifiers": + | *node.Identifier Pos{Line: 129-129 Pos: 2679-2684} map[Value:public] + | *node.Identifier Pos{Line: 129-129 Pos: 2686-2691} map[Value:static] + | "Properties": + | *stmt.Property Pos{Line: 129-129 Pos: 2693-2694} map[PhpDocComment:] + | "Variable": + | *expr.Variable Pos{Line: 129-129 Pos: 2693-2694} + | "VarName": + | *node.Identifier Pos{Line: 129-129 Pos: 2693-2694} map[Value:$a] + | *stmt.Property Pos{Line: 129-129 Pos: 2697-2702} map[PhpDocComment:] + | "Variable": + | *expr.Variable Pos{Line: 129-129 Pos: 2697-2698} + | "VarName": + | *node.Identifier Pos{Line: 129-129 Pos: 2697-2698} map[Value:$b] + | "Expr": + | *scalar.Lnumber Pos{Line: 129-129 Pos: 2702-2702} map[Value:1] + | *stmt.Static Pos{Line: 130-130 Pos: 2708-2725} + | "Vars": + | *stmt.StaticVar Pos{Line: 130-130 Pos: 2715-2716} + | "Variable": + | *expr.Variable Pos{Line: 130-130 Pos: 2715-2716} + | "VarName": + | *node.Identifier Pos{Line: 130-130 Pos: 2715-2716} map[Value:$a] + | *stmt.StaticVar Pos{Line: 130-130 Pos: 2719-2724} + | "Variable": + | *expr.Variable Pos{Line: 130-130 Pos: 2719-2720} + | "VarName": + | *node.Identifier Pos{Line: 130-130 Pos: 2719-2720} map[Value:$b] + | "Expr": + | *scalar.Lnumber Pos{Line: 130-130 Pos: 2724-2724} map[Value:1] + | *stmt.Switch Pos{Line: 132-136 Pos: 2730-2788} + | "Cond": + | *scalar.Lnumber Pos{Line: 132-132 Pos: 2738-2738} map[Value:1] + | "Cases": + | *stmt.Case Pos{Line: 133--1 Pos: 2746--1} + | "Cond": + | *scalar.Lnumber Pos{Line: 133-133 Pos: 2751-2751} map[Value:1] + | "Stmts": + | *stmt.Default Pos{Line: 134--1 Pos: 2757--1} + | "Stmts": + | *stmt.Case Pos{Line: 135--1 Pos: 2769--1} + | "Cond": + | *scalar.Lnumber Pos{Line: 135-135 Pos: 2774-2774} map[Value:2] + | "Stmts": + | *stmt.Switch Pos{Line: 138-141 Pos: 2793-2840} + | "Cond": + | *scalar.Lnumber Pos{Line: 138-138 Pos: 2801-2801} map[Value:1] + | "Cases": + | *stmt.Case Pos{Line: 139--1 Pos: 2810--1} + | "Cond": + | *scalar.Lnumber Pos{Line: 139-139 Pos: 2815-2815} map[Value:1] + | "Stmts": + | *stmt.Case Pos{Line: 140--1 Pos: 2821--1} + | "Cond": + | *scalar.Lnumber Pos{Line: 140-140 Pos: 2826-2826} map[Value:2] + | "Stmts": + | *stmt.Switch Pos{Line: 143-146 Pos: 2847-2898} + | "Cond": + | *scalar.Lnumber Pos{Line: 143-143 Pos: 2855-2855} map[Value:1] + | "Cases": + | *stmt.Case Pos{Line: 144-144 Pos: 2863-2876} + | "Cond": + | *scalar.Lnumber Pos{Line: 144-144 Pos: 2868-2868} map[Value:1] + | "Stmts": + | *stmt.Break Pos{Line: 144-144 Pos: 2871-2876} + | *stmt.Case Pos{Line: 145-145 Pos: 2881-2894} + | "Cond": + | *scalar.Lnumber Pos{Line: 145-145 Pos: 2886-2886} map[Value:2] + | "Stmts": + | *stmt.Break Pos{Line: 145-145 Pos: 2889-2894} + | *stmt.Switch Pos{Line: 148-151 Pos: 2905-2957} + | "Cond": + | *scalar.Lnumber Pos{Line: 148-148 Pos: 2913-2913} map[Value:1] + | "Cases": + | *stmt.Case Pos{Line: 149-149 Pos: 2922-2935} + | "Cond": + | *scalar.Lnumber Pos{Line: 149-149 Pos: 2927-2927} map[Value:1] + | "Stmts": + | *stmt.Break Pos{Line: 149-149 Pos: 2930-2935} + | *stmt.Case Pos{Line: 150-150 Pos: 2940-2953} + | "Cond": + | *scalar.Lnumber Pos{Line: 150-150 Pos: 2945-2945} map[Value:2] + | "Stmts": + | *stmt.Break Pos{Line: 150-150 Pos: 2948-2953} + | *stmt.Throw Pos{Line: 153-153 Pos: 2962-2970} + | "Expr": + | *expr.Variable Pos{Line: 153-153 Pos: 2968-2969} + | "VarName": + | *node.Identifier Pos{Line: 153-153 Pos: 2968-2969} map[Value:$e] + | *stmt.Trait Pos{Line: 154-154 Pos: 2974-2985} map[PhpDocComment:] + | "TraitName": + | *node.Identifier Pos{Line: 154-154 Pos: 2980-2982} map[Value:Foo] + | "Stmts": + | *stmt.Class Pos{Line: 155-155 Pos: 2989-3010} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 155-155 Pos: 2995-2997} map[Value:Foo] + | "Stmts": + | *stmt.TraitUse Pos{Line: 155-155 Pos: 3001-3008} + | "Traits": + | *name.Name Pos{Line: 155-155 Pos: 3005-3007} + | "Parts": + | *name.NamePart Pos{Line: 155-155 Pos: 3005-3007} map[Value:Bar] + | *stmt.Class Pos{Line: 156-156 Pos: 3014-3040} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 156-156 Pos: 3020-3022} map[Value:Foo] + | "Stmts": + | *stmt.TraitUse Pos{Line: 156-156 Pos: 3026-3038} + | "Traits": + | *name.Name Pos{Line: 156-156 Pos: 3030-3032} + | "Parts": + | *name.NamePart Pos{Line: 156-156 Pos: 3030-3032} map[Value:Bar] + | *name.Name Pos{Line: 156-156 Pos: 3035-3037} + | "Parts": + | *name.NamePart Pos{Line: 156-156 Pos: 3035-3037} map[Value:Baz] + | *stmt.Class Pos{Line: 157-157 Pos: 3044-3120} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 157-157 Pos: 3050-3052} map[Value:Foo] + | "Stmts": + | *stmt.TraitUse Pos{Line: 157-157 Pos: 3056-3118} + | "Traits": + | *name.Name Pos{Line: 157-157 Pos: 3060-3062} + | "Parts": + | *name.NamePart Pos{Line: 157-157 Pos: 3060-3062} map[Value:Bar] + | *name.Name Pos{Line: 157-157 Pos: 3065-3067} + | "Parts": + | *name.NamePart Pos{Line: 157-157 Pos: 3065-3067} map[Value:Baz] + | "Adaptations": + | *stmt.TraitUsePrecedence Pos{Line: 157-157 Pos: 3071-3098} + | "Ref": + | *stmt.TraitMethodRef Pos{Line: 157-157 Pos: 3071-3078} + | "Trait": + | *name.Name Pos{Line: 157-157 Pos: 3071-3073} + | "Parts": + | *name.NamePart Pos{Line: 157-157 Pos: 3071-3073} map[Value:Bar] + | "Method": + | *node.Identifier Pos{Line: 157-157 Pos: 3076-3078} map[Value:one] + | "Insteadof": + | *name.Name Pos{Line: 157-157 Pos: 3090-3092} + | "Parts": + | *name.NamePart Pos{Line: 157-157 Pos: 3090-3092} map[Value:Baz] + | *name.Name Pos{Line: 157-157 Pos: 3095-3098} + | "Parts": + | *name.NamePart Pos{Line: 157-157 Pos: 3095-3098} map[Value:Quux] + | *stmt.TraitUseAlias Pos{Line: 157-157 Pos: 3101-3115} + | "Ref": + | *stmt.TraitMethodRef Pos{Line: 157-157 Pos: 3101-3108} + | "Trait": + | *name.Name Pos{Line: 157-157 Pos: 3101-3103} + | "Parts": + | *name.NamePart Pos{Line: 157-157 Pos: 3101-3103} map[Value:Baz] + | "Method": + | *node.Identifier Pos{Line: 157-157 Pos: 3106-3108} map[Value:one] + | "Alias": + | *node.Identifier Pos{Line: 157-157 Pos: 3113-3115} map[Value:two] + | *stmt.Try Pos{Line: 159--1 Pos: 3125--1} + | "Stmts": + | "Catches": + | *stmt.Try Pos{Line: 160-160 Pos: 3134-3163} + | "Stmts": + | "Catches": + | *stmt.Catch Pos{Line: 160-160 Pos: 3141-3163} + | "Types": + | *name.Name Pos{Line: 160-160 Pos: 3148-3156} + | "Parts": + | *name.NamePart Pos{Line: 160-160 Pos: 3148-3156} map[Value:Exception] + | "Variable": + | *expr.Variable Pos{Line: 160-160 Pos: 3158-3159} + | "VarName": + | *node.Identifier Pos{Line: 160-160 Pos: 3158-3159} map[Value:$e] + | "Stmts": + | *stmt.Try Pos{Line: 161-161 Pos: 3167-3213} + | "Stmts": + | "Catches": + | *stmt.Catch Pos{Line: 161-161 Pos: 3174-3213} + | "Types": + | *name.Name Pos{Line: 161-161 Pos: 3181-3189} + | "Parts": + | *name.NamePart Pos{Line: 161-161 Pos: 3181-3189} map[Value:Exception] + | *name.Name Pos{Line: 161-161 Pos: 3191-3206} + | "Parts": + | *name.NamePart Pos{Line: 161-161 Pos: 3191-3206} map[Value:RuntimeException] + | "Variable": + | *expr.Variable Pos{Line: 161-161 Pos: 3208-3209} + | "VarName": + | *node.Identifier Pos{Line: 161-161 Pos: 3208-3209} map[Value:$e] + | "Stmts": + | *stmt.Try Pos{Line: 162-162 Pos: 3217-3277} + | "Stmts": + | "Catches": + | *stmt.Catch Pos{Line: 162-162 Pos: 3224-3246} + | "Types": + | *name.Name Pos{Line: 162-162 Pos: 3231-3239} + | "Parts": + | *name.NamePart Pos{Line: 162-162 Pos: 3231-3239} map[Value:Exception] + | "Variable": + | *expr.Variable Pos{Line: 162-162 Pos: 3241-3242} + | "VarName": + | *node.Identifier Pos{Line: 162-162 Pos: 3241-3242} map[Value:$e] + | "Stmts": + | *stmt.Catch Pos{Line: 162-162 Pos: 3248-3277} + | "Types": + | *name.Name Pos{Line: 162-162 Pos: 3255-3270} + | "Parts": + | *name.NamePart Pos{Line: 162-162 Pos: 3255-3270} map[Value:RuntimeException] + | "Variable": + | *expr.Variable Pos{Line: 162-162 Pos: 3272-3273} + | "VarName": + | *node.Identifier Pos{Line: 162-162 Pos: 3272-3273} map[Value:$e] + | "Stmts": + | *stmt.Try Pos{Line: 163-163 Pos: 3281-3321} + | "Stmts": + | "Catches": + | *stmt.Catch Pos{Line: 163-163 Pos: 3288-3310} + | "Types": + | *name.Name Pos{Line: 163-163 Pos: 3295-3303} + | "Parts": + | *name.NamePart Pos{Line: 163-163 Pos: 3295-3303} map[Value:Exception] + | "Variable": + | *expr.Variable Pos{Line: 163-163 Pos: 3305-3306} + | "VarName": + | *node.Identifier Pos{Line: 163-163 Pos: 3305-3306} map[Value:$e] + | "Stmts": + | "Finally": + | *stmt.Finally Pos{Line: 163-163 Pos: 3312-3321} + | "Stmts": + | *stmt.Unset Pos{Line: 165-165 Pos: 3326-3340} + | "Vars": + | *expr.Variable Pos{Line: 165-165 Pos: 3332-3333} + | "VarName": + | *node.Identifier Pos{Line: 165-165 Pos: 3332-3333} map[Value:$a] + | *expr.Variable Pos{Line: 165-165 Pos: 3336-3337} + | "VarName": + | *node.Identifier Pos{Line: 165-165 Pos: 3336-3337} map[Value:$b] + | *stmt.UseList Pos{Line: 167-167 Pos: 3345-3352} + | "Uses": + | *stmt.Use Pos{Line: 167-167 Pos: 3349-3351} + | "Use": + | *name.Name Pos{Line: 167-167 Pos: 3349-3351} + | "Parts": + | *name.NamePart Pos{Line: 167-167 Pos: 3349-3351} map[Value:Foo] + | *stmt.UseList Pos{Line: 168-168 Pos: 3356-3364} + | "Uses": + | *stmt.Use Pos{Line: 168-168 Pos: 3361-3363} + | "Use": + | *name.Name Pos{Line: 168-168 Pos: 3361-3363} + | "Parts": + | *name.NamePart Pos{Line: 168-168 Pos: 3361-3363} map[Value:Foo] + | *stmt.UseList Pos{Line: 169-169 Pos: 3368-3383} + | "Uses": + | *stmt.Use Pos{Line: 169-169 Pos: 3373-3382} + | "Use": + | *name.Name Pos{Line: 169-169 Pos: 3373-3375} + | "Parts": + | *name.NamePart Pos{Line: 169-169 Pos: 3373-3375} map[Value:Foo] + | "Alias": + | *node.Identifier Pos{Line: 169-169 Pos: 3380-3382} map[Value:Bar] + | *stmt.UseList Pos{Line: 170-170 Pos: 3387-3399} + | "Uses": + | *stmt.Use Pos{Line: 170-170 Pos: 3391-3393} + | "Use": + | *name.Name Pos{Line: 170-170 Pos: 3391-3393} + | "Parts": + | *name.NamePart Pos{Line: 170-170 Pos: 3391-3393} map[Value:Foo] + | *stmt.Use Pos{Line: 170-170 Pos: 3396-3398} + | "Use": + | *name.Name Pos{Line: 170-170 Pos: 3396-3398} + | "Parts": + | *name.NamePart Pos{Line: 170-170 Pos: 3396-3398} map[Value:Bar] + | *stmt.UseList Pos{Line: 171-171 Pos: 3403-3422} + | "Uses": + | *stmt.Use Pos{Line: 171-171 Pos: 3407-3409} + | "Use": + | *name.Name Pos{Line: 171-171 Pos: 3407-3409} + | "Parts": + | *name.NamePart Pos{Line: 171-171 Pos: 3407-3409} map[Value:Foo] + | *stmt.Use Pos{Line: 171-171 Pos: 3412-3421} + | "Use": + | *name.Name Pos{Line: 171-171 Pos: 3412-3414} + | "Parts": + | *name.NamePart Pos{Line: 171-171 Pos: 3412-3414} map[Value:Bar] + | "Alias": + | *node.Identifier Pos{Line: 171-171 Pos: 3419-3421} map[Value:Baz] + | *stmt.UseList + | "UseType": + | *node.Identifier Pos{Line: 172-172 Pos: 3430-3437} map[Value:function] + | "Uses": + | *stmt.Use Pos{Line: 172-172 Pos: 3439-3441} + | "Use": + | *name.Name Pos{Line: 172-172 Pos: 3439-3441} + | "Parts": + | *name.NamePart Pos{Line: 172-172 Pos: 3439-3441} map[Value:Foo] + | *stmt.Use Pos{Line: 172-172 Pos: 3445-3447} + | "Use": + | *name.Name Pos{Line: 172-172 Pos: 3445-3447} + | "Parts": + | *name.NamePart Pos{Line: 172-172 Pos: 3445-3447} map[Value:Bar] + | *stmt.UseList + | "UseType": + | *node.Identifier Pos{Line: 173-173 Pos: 3456-3463} map[Value:function] + | "Uses": + | *stmt.Use Pos{Line: 173-173 Pos: 3465-3474} + | "Use": + | *name.Name Pos{Line: 173-173 Pos: 3465-3467} + | "Parts": + | *name.NamePart Pos{Line: 173-173 Pos: 3465-3467} map[Value:Foo] + | "Alias": + | *node.Identifier Pos{Line: 173-173 Pos: 3472-3474} map[Value:foo] + | *stmt.Use Pos{Line: 173-173 Pos: 3478-3487} + | "Use": + | *name.Name Pos{Line: 173-173 Pos: 3478-3480} + | "Parts": + | *name.NamePart Pos{Line: 173-173 Pos: 3478-3480} map[Value:Bar] + | "Alias": + | *node.Identifier Pos{Line: 173-173 Pos: 3485-3487} map[Value:bar] + | *stmt.UseList + | "UseType": + | *node.Identifier Pos{Line: 174-174 Pos: 3496-3500} map[Value:const] + | "Uses": + | *stmt.Use Pos{Line: 174-174 Pos: 3502-3504} + | "Use": + | *name.Name Pos{Line: 174-174 Pos: 3502-3504} + | "Parts": + | *name.NamePart Pos{Line: 174-174 Pos: 3502-3504} map[Value:Foo] + | *stmt.Use Pos{Line: 174-174 Pos: 3508-3510} + | "Use": + | *name.Name Pos{Line: 174-174 Pos: 3508-3510} + | "Parts": + | *name.NamePart Pos{Line: 174-174 Pos: 3508-3510} map[Value:Bar] + | *stmt.UseList + | "UseType": + | *node.Identifier Pos{Line: 175-175 Pos: 3519-3523} map[Value:const] + | "Uses": + | *stmt.Use Pos{Line: 175-175 Pos: 3525-3534} + | "Use": + | *name.Name Pos{Line: 175-175 Pos: 3525-3527} + | "Parts": + | *name.NamePart Pos{Line: 175-175 Pos: 3525-3527} map[Value:Foo] + | "Alias": + | *node.Identifier Pos{Line: 175-175 Pos: 3532-3534} map[Value:foo] + | *stmt.Use Pos{Line: 175-175 Pos: 3538-3547} + | "Use": + | *name.Name Pos{Line: 175-175 Pos: 3538-3540} + | "Parts": + | *name.NamePart Pos{Line: 175-175 Pos: 3538-3540} map[Value:Bar] + | "Alias": + | *node.Identifier Pos{Line: 175-175 Pos: 3545-3547} map[Value:bar] + | *stmt.GroupUse Pos{Line: 177-177 Pos: 3557-3570} + | "Prefix": + | *name.Name Pos{Line: 177-177 Pos: 3557-3559} + | "Parts": + | *name.NamePart Pos{Line: 177-177 Pos: 3557-3559} map[Value:Foo] + | "UseList": + | *stmt.Use Pos{Line: 177-177 Pos: 3562-3564} + | "Use": + | *name.Name Pos{Line: 177-177 Pos: 3562-3564} + | "Parts": + | *name.NamePart Pos{Line: 177-177 Pos: 3562-3564} map[Value:Bar] + | *stmt.Use Pos{Line: 177-177 Pos: 3567-3569} + | "Use": + | *name.Name Pos{Line: 177-177 Pos: 3567-3569} + | "Parts": + | *name.NamePart Pos{Line: 177-177 Pos: 3567-3569} map[Value:Baz] + | *stmt.GroupUse Pos{Line: 178-178 Pos: 3579-3601} + | "Prefix": + | *name.Name Pos{Line: 178-178 Pos: 3580-3582} + | "Parts": + | *name.NamePart Pos{Line: 178-178 Pos: 3580-3582} map[Value:Foo] + | "UseList": + | *stmt.Use Pos{Line: 178-178 Pos: 3585-3587} + | "Use": + | *name.Name Pos{Line: 178-178 Pos: 3585-3587} + | "Parts": + | *name.NamePart Pos{Line: 178-178 Pos: 3585-3587} map[Value:Bar] + | *stmt.Use Pos{Line: 178-178 Pos: 3590-3600} + | "Use": + | *name.Name Pos{Line: 178-178 Pos: 3590-3592} + | "Parts": + | *name.NamePart Pos{Line: 178-178 Pos: 3590-3592} map[Value:Baz] + | "Alias": + | *node.Identifier Pos{Line: 178-178 Pos: 3597-3600} map[Value:quux] + | *stmt.GroupUse Pos{Line: 179-179 Pos: 3619-3632} + | "UseType": + | *node.Identifier Pos{Line: 179-179 Pos: 3610-3617} map[Value:function] + | "Prefix": + | *name.Name Pos{Line: 179-179 Pos: 3619-3621} + | "Parts": + | *name.NamePart Pos{Line: 179-179 Pos: 3619-3621} map[Value:Foo] + | "UseList": + | *stmt.Use Pos{Line: 179-179 Pos: 3624-3626} + | "Use": + | *name.Name Pos{Line: 179-179 Pos: 3624-3626} + | "Parts": + | *name.NamePart Pos{Line: 179-179 Pos: 3624-3626} map[Value:Bar] + | *stmt.Use Pos{Line: 179-179 Pos: 3629-3631} + | "Use": + | *name.Name Pos{Line: 179-179 Pos: 3629-3631} + | "Parts": + | *name.NamePart Pos{Line: 179-179 Pos: 3629-3631} map[Value:Baz] + | *stmt.GroupUse Pos{Line: 180-180 Pos: 3647-3661} + | "UseType": + | *node.Identifier Pos{Line: 180-180 Pos: 3641-3645} map[Value:const] + | "Prefix": + | *name.Name Pos{Line: 180-180 Pos: 3648-3650} + | "Parts": + | *name.NamePart Pos{Line: 180-180 Pos: 3648-3650} map[Value:Foo] + | "UseList": + | *stmt.Use Pos{Line: 180-180 Pos: 3653-3655} + | "Use": + | *name.Name Pos{Line: 180-180 Pos: 3653-3655} + | "Parts": + | *name.NamePart Pos{Line: 180-180 Pos: 3653-3655} map[Value:Bar] + | *stmt.Use Pos{Line: 180-180 Pos: 3658-3660} + | "Use": + | *name.Name Pos{Line: 180-180 Pos: 3658-3660} + | "Parts": + | *name.NamePart Pos{Line: 180-180 Pos: 3658-3660} map[Value:Baz] + | *stmt.GroupUse Pos{Line: 181-181 Pos: 3670-3698} + | "Prefix": + | *name.Name Pos{Line: 181-181 Pos: 3670-3672} + | "Parts": + | *name.NamePart Pos{Line: 181-181 Pos: 3670-3672} map[Value:Foo] + | "UseList": + | *stmt.Use Pos{Line: 181-181 Pos: 3681-3683} + | "UseType": + | *node.Identifier Pos{Line: 181-181 Pos: 3675-3679} map[Value:const] + | "Use": + | *name.Name Pos{Line: 181-181 Pos: 3681-3683} + | "Parts": + | *name.NamePart Pos{Line: 181-181 Pos: 3681-3683} map[Value:Bar] + | *stmt.Use Pos{Line: 181-181 Pos: 3695-3697} + | "UseType": + | *node.Identifier Pos{Line: 181-181 Pos: 3686-3693} map[Value:function] + | "Use": + | *name.Name Pos{Line: 181-181 Pos: 3695-3697} + | "Parts": + | *name.NamePart Pos{Line: 181-181 Pos: 3695-3697} map[Value:Baz] + | *stmt.Expression Pos{Line: 183-183 Pos: 3704-3709} + | "Expr": + | *expr.ArrayDimFetch Pos{Line: 183-183 Pos: 3704-3708} + | "Variable": + | *expr.Variable Pos{Line: 183-183 Pos: 3704-3705} + | "VarName": + | *node.Identifier Pos{Line: 183-183 Pos: 3704-3705} map[Value:$a] + | "Dim": + | *scalar.Lnumber Pos{Line: 183-183 Pos: 3707-3707} map[Value:1] + | *stmt.Expression Pos{Line: 184-184 Pos: 3713-3721} + | "Expr": + | *expr.ArrayDimFetch Pos{Line: 184-184 Pos: 3713-3720} + | "Variable": + | *expr.ArrayDimFetch Pos{Line: 184-184 Pos: 3713-3717} + | "Variable": + | *expr.Variable Pos{Line: 184-184 Pos: 3713-3714} + | "VarName": + | *node.Identifier Pos{Line: 184-184 Pos: 3713-3714} map[Value:$a] + | "Dim": + | *scalar.Lnumber Pos{Line: 184-184 Pos: 3716-3716} map[Value:1] + | "Dim": + | *scalar.Lnumber Pos{Line: 184-184 Pos: 3719-3719} map[Value:2] + | *stmt.Expression Pos{Line: 185-185 Pos: 3725-3732} + | "Expr": + | *expr.Array Pos{Line: 185-185 Pos: 3725-3731} + | "Items": + | *stmt.Expression Pos{Line: 186-186 Pos: 3736-3744} + | "Expr": + | *expr.Array Pos{Line: 186-186 Pos: 3736-3743} + | "Items": + | *expr.ArrayItem Pos{Line: 186-186 Pos: 3742-3742} map[ByRef:false] + | "Val": + | *scalar.Lnumber Pos{Line: 186-186 Pos: 3742-3742} map[Value:1] + | *stmt.Expression Pos{Line: 187-187 Pos: 3748-3765} + | "Expr": + | *expr.Array Pos{Line: 187-187 Pos: 3748-3764} + | "Items": + | *expr.ArrayItem Pos{Line: 187-187 Pos: 3754-3757} map[ByRef:false] + | "Key": + | *scalar.Lnumber Pos{Line: 187-187 Pos: 3754-3754} map[Value:1] + | "Val": + | *scalar.Lnumber Pos{Line: 187-187 Pos: 3757-3757} map[Value:1] + | *expr.ArrayItem Pos{Line: 187-187 Pos: 3760-3762} map[ByRef:true] + | "Val": + | *expr.Variable Pos{Line: 187-187 Pos: 3761-3762} + | "VarName": + | *node.Identifier Pos{Line: 187-187 Pos: 3761-3762} map[Value:$b] + | *stmt.Expression Pos{Line: 188-188 Pos: 3769-3772} + | "Expr": + | *expr.BitwiseNot Pos{Line: 188-188 Pos: 3769-3771} + | "Expr": + | *expr.Variable Pos{Line: 188-188 Pos: 3770-3771} + | "VarName": + | *node.Identifier Pos{Line: 188-188 Pos: 3770-3771} map[Value:$a] + | *stmt.Expression Pos{Line: 189-189 Pos: 3776-3779} + | "Expr": + | *expr.BooleanNot Pos{Line: 189-189 Pos: 3776-3778} + | "Expr": + | *expr.Variable Pos{Line: 189-189 Pos: 3777-3778} + | "VarName": + | *node.Identifier Pos{Line: 189-189 Pos: 3777-3778} map[Value:$a] + | *stmt.Expression Pos{Line: 191-191 Pos: 3784-3792} + | "Expr": + | *expr.ClassConstFetch Pos{Line: 191-191 Pos: 3784-3791} + | "Class": + | *name.Name Pos{Line: 191-191 Pos: 3784-3786} + | "Parts": + | *name.NamePart Pos{Line: 191-191 Pos: 3784-3786} map[Value:Foo] + | "ConstantName": + | *node.Identifier Pos{Line: 191-191 Pos: 3789-3791} map[Value:Bar] + | *stmt.Expression Pos{Line: 192-192 Pos: 3796-3805} + | "Expr": + | *expr.Clone Pos{Line: 192-192 Pos: 3796-3803} + | "Expr": + | *expr.Variable Pos{Line: 192-192 Pos: 3802-3803} + | "VarName": + | *node.Identifier Pos{Line: 192-192 Pos: 3802-3803} map[Value:$a] + | *stmt.Expression Pos{Line: 193-193 Pos: 3809-3817} + | "Expr": + | *expr.Clone Pos{Line: 193-193 Pos: 3809-3816} + | "Expr": + | *expr.Variable Pos{Line: 193-193 Pos: 3815-3816} + | "VarName": + | *node.Identifier Pos{Line: 193-193 Pos: 3815-3816} map[Value:$a] + | *stmt.Expression Pos{Line: 194-194 Pos: 3821-3833} + | "Expr": + | *expr.Closure Pos{Line: 194-194 Pos: 3821-3832} map[Static:false PhpDocComment: ReturnsRef:false] + | "Uses": + | "Stmts": + | *stmt.Expression Pos{Line: 195-195 Pos: 3837-3870} + | "Expr": + | *expr.Closure Pos{Line: 195-195 Pos: 3837-3869} map[PhpDocComment: ReturnsRef:false Static:false] + | "Params": + | *node.Parameter Pos{Line: 195-195 Pos: 3846-3847} map[Variadic:false ByRef:false] + | "Variable": + | *expr.Variable Pos{Line: 195-195 Pos: 3846-3847} + | "VarName": + | *node.Identifier Pos{Line: 195-195 Pos: 3846-3847} map[Value:$a] + | *node.Parameter Pos{Line: 195-195 Pos: 3850-3851} map[ByRef:false Variadic:false] + | "Variable": + | *expr.Variable Pos{Line: 195-195 Pos: 3850-3851} + | "VarName": + | *node.Identifier Pos{Line: 195-195 Pos: 3850-3851} map[Value:$b] + | "Uses": + | *expr.ClosureUse Pos{Line: 195-195 Pos: 3859-3860} map[ByRef:false] + | "Variable": + | *expr.Variable Pos{Line: 195-195 Pos: 3859-3860} + | "VarName": + | *node.Identifier Pos{Line: 195-195 Pos: 3859-3860} map[Value:$c] + | *expr.ClosureUse Pos{Line: 195-195 Pos: 3863-3865} map[ByRef:true] + | "Variable": + | *expr.Variable Pos{Line: 195-195 Pos: 3864-3865} + | "VarName": + | *node.Identifier Pos{Line: 195-195 Pos: 3864-3865} map[Value:$d] + | "Stmts": + | *stmt.Expression Pos{Line: 196-196 Pos: 3874-3893} + | "Expr": + | *expr.Closure Pos{Line: 196-196 Pos: 3874-3892} map[Static:false PhpDocComment: ReturnsRef:false] + | "Uses": + | "ReturnType": + | *name.Name Pos{Line: 196-196 Pos: 3886-3889} + | "Parts": + | *name.NamePart Pos{Line: 196-196 Pos: 3886-3889} map[Value:void] + | "Stmts": + | *stmt.Expression Pos{Line: 197-197 Pos: 3897-3900} + | "Expr": + | *expr.ConstFetch Pos{Line: 197-197 Pos: 3897-3899} + | "Constant": + | *name.Name Pos{Line: 197-197 Pos: 3897-3899} + | "Parts": + | *name.NamePart Pos{Line: 197-197 Pos: 3897-3899} map[Value:foo] + | *stmt.Expression Pos{Line: 198-198 Pos: 3904-3917} + | "Expr": + | *expr.ConstFetch Pos{Line: 198-198 Pos: 3904-3916} + | "Constant": + | *name.Relative Pos{Line: 198-198 Pos: 3904-3916} + | "Parts": + | *name.NamePart Pos{Line: 198-198 Pos: 3914-3916} map[Value:foo] + | *stmt.Expression Pos{Line: 199-199 Pos: 3921-3925} + | "Expr": + | *expr.ConstFetch Pos{Line: 199-199 Pos: 3921-3924} + | "Constant": + | *name.FullyQualified Pos{Line: 199-199 Pos: 3921-3924} + | "Parts": + | *name.NamePart Pos{Line: 199-199 Pos: 3922-3924} map[Value:foo] + | *stmt.Expression Pos{Line: 201-201 Pos: 3930-3939} + | "Expr": + | *expr.Empty Pos{Line: 201-201 Pos: 3930-3938} + | "Expr": + | *expr.Variable Pos{Line: 201-201 Pos: 3936-3937} + | "VarName": + | *node.Identifier Pos{Line: 201-201 Pos: 3936-3937} map[Value:$a] + | *stmt.Expression Pos{Line: 202-202 Pos: 3943-3946} + | "Expr": + | *expr.ErrorSuppress Pos{Line: 202-202 Pos: 3943-3945} + | "Expr": + | *expr.Variable Pos{Line: 202-202 Pos: 3944-3945} + | "VarName": + | *node.Identifier Pos{Line: 202-202 Pos: 3944-3945} map[Value:$a] + | *stmt.Expression Pos{Line: 203-203 Pos: 3950-3958} + | "Expr": + | *expr.Eval Pos{Line: 203-203 Pos: 3950-3957} + | "Expr": + | *expr.Variable Pos{Line: 203-203 Pos: 3955-3956} + | "VarName": + | *node.Identifier Pos{Line: 203-203 Pos: 3955-3956} map[Value:$a] + | *stmt.Expression Pos{Line: 204-204 Pos: 3962-3966} + | "Expr": + | *expr.Exit Pos{Line: 204--1 Pos: 3962--1} map[IsDie:false] + | *stmt.Expression Pos{Line: 205-205 Pos: 3970-3978} + | "Expr": + | *expr.Exit Pos{Line: 205-205 Pos: 3970-3976} map[IsDie:false] + | "Expr": + | *expr.Variable Pos{Line: 205-205 Pos: 3975-3976} + | "VarName": + | *node.Identifier Pos{Line: 205-205 Pos: 3975-3976} map[Value:$a] + | *stmt.Expression Pos{Line: 206-206 Pos: 3982-3985} + | "Expr": + | *expr.Exit Pos{Line: 206--1 Pos: 3982--1} map[IsDie:true] + | *stmt.Expression Pos{Line: 207-207 Pos: 3989-3996} + | "Expr": + | *expr.Exit Pos{Line: 207-207 Pos: 3989-3994} map[IsDie:true] + | "Expr": + | *expr.Variable Pos{Line: 207-207 Pos: 3993-3994} + | "VarName": + | *node.Identifier Pos{Line: 207-207 Pos: 3993-3994} map[Value:$a] + | *stmt.Expression Pos{Line: 208-208 Pos: 4000-4005} + | "Expr": + | *expr.FunctionCall Pos{Line: 208-208 Pos: 4000-4004} + | "Function": + | *name.Name Pos{Line: 208-208 Pos: 4000-4002} + | "Parts": + | *name.NamePart Pos{Line: 208-208 Pos: 4000-4002} map[Value:foo] + | "Arguments": + | *stmt.Expression Pos{Line: 209-209 Pos: 4009-4024} + | "Expr": + | *expr.FunctionCall Pos{Line: 209-209 Pos: 4009-4023} + | "Function": + | *name.Relative Pos{Line: 209-209 Pos: 4009-4021} + | "Parts": + | *name.NamePart Pos{Line: 209-209 Pos: 4019-4021} map[Value:foo] + | "Arguments": + | *stmt.Expression Pos{Line: 210-210 Pos: 4028-4034} + | "Expr": + | *expr.FunctionCall Pos{Line: 210-210 Pos: 4028-4033} + | "Function": + | *name.FullyQualified Pos{Line: 210-210 Pos: 4028-4031} + | "Parts": + | *name.NamePart Pos{Line: 210-210 Pos: 4029-4031} map[Value:foo] + | "Arguments": + | *stmt.Expression Pos{Line: 211-211 Pos: 4038-4044} + | "Expr": + | *expr.FunctionCall Pos{Line: 211-211 Pos: 4038-4043} + | "Function": + | *expr.Variable Pos{Line: 211-211 Pos: 4038-4041} + | "VarName": + | *node.Identifier Pos{Line: 211-211 Pos: 4038-4041} map[Value:$foo] + | "Arguments": + | *stmt.Expression Pos{Line: 213-213 Pos: 4049-4053} + | "Expr": + | *expr.PostDec Pos{Line: 213-213 Pos: 4049-4052} + | "Variable": + | *expr.Variable Pos{Line: 213-213 Pos: 4049-4050} + | "VarName": + | *node.Identifier Pos{Line: 213-213 Pos: 4049-4050} map[Value:$a] + | *stmt.Expression Pos{Line: 214-214 Pos: 4057-4061} + | "Expr": + | *expr.PostInc Pos{Line: 214-214 Pos: 4057-4060} + | "Variable": + | *expr.Variable Pos{Line: 214-214 Pos: 4057-4058} + | "VarName": + | *node.Identifier Pos{Line: 214-214 Pos: 4057-4058} map[Value:$a] + | *stmt.Expression Pos{Line: 215-215 Pos: 4065-4069} + | "Expr": + | *expr.PreDec Pos{Line: 215-215 Pos: 4065-4068} + | "Variable": + | *expr.Variable Pos{Line: 215-215 Pos: 4067-4068} + | "VarName": + | *node.Identifier Pos{Line: 215-215 Pos: 4067-4068} map[Value:$a] + | *stmt.Expression Pos{Line: 216-216 Pos: 4073-4077} + | "Expr": + | *expr.PreInc Pos{Line: 216-216 Pos: 4073-4076} + | "Variable": + | *expr.Variable Pos{Line: 216-216 Pos: 4075-4076} + | "VarName": + | *node.Identifier Pos{Line: 216-216 Pos: 4075-4076} map[Value:$a] + | *stmt.Expression Pos{Line: 218-218 Pos: 4082-4092} + | "Expr": + | *expr.Include Pos{Line: 218-218 Pos: 4082-4091} + | "Expr": + | *expr.Variable Pos{Line: 218-218 Pos: 4090-4091} + | "VarName": + | *node.Identifier Pos{Line: 218-218 Pos: 4090-4091} map[Value:$a] + | *stmt.Expression Pos{Line: 219-219 Pos: 4096-4111} + | "Expr": + | *expr.IncludeOnce Pos{Line: 219-219 Pos: 4096-4110} + | "Expr": + | *expr.Variable Pos{Line: 219-219 Pos: 4109-4110} + | "VarName": + | *node.Identifier Pos{Line: 219-219 Pos: 4109-4110} map[Value:$a] + | *stmt.Expression Pos{Line: 220-220 Pos: 4115-4125} + | "Expr": + | *expr.Require Pos{Line: 220-220 Pos: 4115-4124} + | "Expr": + | *expr.Variable Pos{Line: 220-220 Pos: 4123-4124} + | "VarName": + | *node.Identifier Pos{Line: 220-220 Pos: 4123-4124} map[Value:$a] + | *stmt.Expression Pos{Line: 221-221 Pos: 4129-4144} + | "Expr": + | *expr.RequireOnce Pos{Line: 221-221 Pos: 4129-4143} + | "Expr": + | *expr.Variable Pos{Line: 221-221 Pos: 4142-4143} + | "VarName": + | *node.Identifier Pos{Line: 221-221 Pos: 4142-4143} map[Value:$a] + | *stmt.Expression Pos{Line: 223-223 Pos: 4149-4166} + | "Expr": + | *expr.InstanceOf Pos{Line: 223-223 Pos: 4149-4165} + | "Expr": + | *expr.Variable Pos{Line: 223-223 Pos: 4149-4150} + | "VarName": + | *node.Identifier Pos{Line: 223-223 Pos: 4149-4150} map[Value:$a] + | "Class": + | *name.Name Pos{Line: 223-223 Pos: 4163-4165} + | "Parts": + | *name.NamePart Pos{Line: 223-223 Pos: 4163-4165} map[Value:Foo] + | *stmt.Expression Pos{Line: 224-224 Pos: 4170-4197} + | "Expr": + | *expr.InstanceOf Pos{Line: 224-224 Pos: 4170-4196} + | "Expr": + | *expr.Variable Pos{Line: 224-224 Pos: 4170-4171} + | "VarName": + | *node.Identifier Pos{Line: 224-224 Pos: 4170-4171} map[Value:$a] + | "Class": + | *name.Relative Pos{Line: 224-224 Pos: 4184-4196} + | "Parts": + | *name.NamePart Pos{Line: 224-224 Pos: 4194-4196} map[Value:Foo] + | *stmt.Expression Pos{Line: 225-225 Pos: 4201-4219} + | "Expr": + | *expr.InstanceOf Pos{Line: 225-225 Pos: 4201-4218} + | "Expr": + | *expr.Variable Pos{Line: 225-225 Pos: 4201-4202} + | "VarName": + | *node.Identifier Pos{Line: 225-225 Pos: 4201-4202} map[Value:$a] + | "Class": + | *name.FullyQualified Pos{Line: 225-225 Pos: 4215-4218} + | "Parts": + | *name.NamePart Pos{Line: 225-225 Pos: 4216-4218} map[Value:Foo] + | *stmt.Expression Pos{Line: 227-227 Pos: 4224-4237} + | "Expr": + | *expr.Isset Pos{Line: 227-227 Pos: 4224-4236} + | "Variables": + | *expr.Variable Pos{Line: 227-227 Pos: 4230-4231} + | "VarName": + | *node.Identifier Pos{Line: 227-227 Pos: 4230-4231} map[Value:$a] + | *expr.Variable Pos{Line: 227-227 Pos: 4234-4235} + | "VarName": + | *node.Identifier Pos{Line: 227-227 Pos: 4234-4235} map[Value:$b] + | *stmt.Expression Pos{Line: 228-228 Pos: 4241-4254} + | "Expr": + | *assign_op.Assign Pos{Line: 228-228 Pos: 4241-4253} + | "Variable": + | *expr.List Pos{Line: 228-228 Pos: 4241-4248} + | "Items": + | *expr.ArrayItem Pos{Line: 228-228 Pos: 4246-4247} map[ByRef:false] + | "Val": + | *expr.Variable Pos{Line: 228-228 Pos: 4246-4247} + | "VarName": + | *node.Identifier Pos{Line: 228-228 Pos: 4246-4247} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 228-228 Pos: 4252-4253} + | "VarName": + | *node.Identifier Pos{Line: 228-228 Pos: 4252-4253} map[Value:$b] + | *stmt.Expression Pos{Line: 229-229 Pos: 4258-4273} + | "Expr": + | *assign_op.Assign Pos{Line: 229-229 Pos: 4258-4272} + | "Variable": + | *expr.List Pos{Line: 229-229 Pos: 4258-4267} + | "Items": + | *expr.ArrayItem Pos{Line: 229-229 Pos: 4263-4266} map[ByRef:false] + | "Val": + | *expr.ArrayDimFetch Pos{Line: 229-229 Pos: 4263-4266} + | "Variable": + | *expr.Variable Pos{Line: 229-229 Pos: 4263-4264} + | "VarName": + | *node.Identifier Pos{Line: 229-229 Pos: 4263-4264} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 229-229 Pos: 4271-4272} + | "VarName": + | *node.Identifier Pos{Line: 229-229 Pos: 4271-4272} map[Value:$b] + | *stmt.Expression Pos{Line: 230-230 Pos: 4277-4296} + | "Expr": + | *assign_op.Assign Pos{Line: 230-230 Pos: 4277-4295} + | "Variable": + | *expr.List Pos{Line: 230-230 Pos: 4277-4290} + | "Items": + | *expr.ArrayItem Pos{Line: 230-230 Pos: 4282-4289} map[ByRef:false] + | "Val": + | *expr.List Pos{Line: 230-230 Pos: 4282-4289} + | "Items": + | *expr.ArrayItem Pos{Line: 230-230 Pos: 4287-4288} map[ByRef:false] + | "Val": + | *expr.Variable Pos{Line: 230-230 Pos: 4287-4288} + | "VarName": + | *node.Identifier Pos{Line: 230-230 Pos: 4287-4288} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 230-230 Pos: 4294-4295} + | "VarName": + | *node.Identifier Pos{Line: 230-230 Pos: 4294-4295} map[Value:$b] + | *stmt.Expression Pos{Line: 232-232 Pos: 4301-4310} + | "Expr": + | *expr.MethodCall Pos{Line: 232-232 Pos: 4301-4309} + | "Variable": + | *expr.Variable Pos{Line: 232-232 Pos: 4301-4302} + | "VarName": + | *node.Identifier Pos{Line: 232-232 Pos: 4301-4302} map[Value:$a] + | "Method": + | *node.Identifier Pos{Line: 232-232 Pos: 4305-4307} map[Value:foo] + | "Arguments": + | *stmt.Expression Pos{Line: 233-233 Pos: 4314-4323} + | "Expr": + | *expr.New Pos{Line: 233-233 Pos: 4314-4322} + | "Class": + | *name.Name Pos{Line: 233-233 Pos: 4318-4320} + | "Parts": + | *name.NamePart Pos{Line: 233-233 Pos: 4318-4320} map[Value:Foo] + | "Arguments": + | *stmt.Expression Pos{Line: 234-234 Pos: 4327-4346} + | "Expr": + | *expr.New Pos{Line: 234-234 Pos: 4327-4345} + | "Class": + | *name.Relative Pos{Line: 234-234 Pos: 4331-4343} + | "Parts": + | *name.NamePart Pos{Line: 234-234 Pos: 4341-4343} map[Value:Foo] + | "Arguments": + | *stmt.Expression Pos{Line: 235-235 Pos: 4350-4360} + | "Expr": + | *expr.New Pos{Line: 235-235 Pos: 4350-4359} + | "Class": + | *name.FullyQualified Pos{Line: 235-235 Pos: 4354-4357} + | "Parts": + | *name.NamePart Pos{Line: 235-235 Pos: 4355-4357} map[Value:Foo] + | "Arguments": + | *stmt.Expression Pos{Line: -1-236 Pos: -1-4388} + | "Expr": + | *expr.New + | "Class": + | *stmt.Class Pos{Line: 236-236 Pos: 4368-4387} map[PhpDocComment:] + | "Args": + | *node.Argument Pos{Line: 236-236 Pos: 4375-4376} map[Variadic:false IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 236-236 Pos: 4375-4376} + | "VarName": + | *node.Identifier Pos{Line: 236-236 Pos: 4375-4376} map[Value:$a] + | *node.Argument Pos{Line: 236-236 Pos: 4379-4383} map[Variadic:true IsReference:false] + | "Expr": + | *expr.Variable Pos{Line: 236-236 Pos: 4382-4383} + | "VarName": + | *node.Identifier Pos{Line: 236-236 Pos: 4382-4383} map[Value:$b] + | "Stmts": + | *stmt.Expression Pos{Line: 237-237 Pos: 4392-4401} + | "Expr": + | *expr.Print Pos{Line: 237-237 Pos: 4392-4399} + | "Expr": + | *expr.Variable Pos{Line: 237-237 Pos: 4398-4399} + | "VarName": + | *node.Identifier Pos{Line: 237-237 Pos: 4398-4399} map[Value:$a] + | *stmt.Expression Pos{Line: 238-238 Pos: 4405-4412} + | "Expr": + | *expr.PropertyFetch Pos{Line: 238-238 Pos: 4405-4411} + | "Variable": + | *expr.Variable Pos{Line: 238-238 Pos: 4405-4406} + | "VarName": + | *node.Identifier Pos{Line: 238-238 Pos: 4405-4406} map[Value:$a] + | "Property": + | *node.Identifier Pos{Line: 238-238 Pos: 4409-4411} map[Value:foo] + | *stmt.Expression Pos{Line: 239-239 Pos: 4415-4423} + | "Expr": + | *expr.ShellExec Pos{Line: 239-239 Pos: 4415-4422} + | "Parts": + | *scalar.EncapsedStringPart Pos{Line: 239-239 Pos: 4416-4419} map[Value:cmd ] + | *expr.Variable Pos{Line: 239-239 Pos: 4420-4421} + | "VarName": + | *node.Identifier Pos{Line: 239-239 Pos: 4420-4421} map[Value:$a] + | *stmt.Expression Pos{Line: 240-240 Pos: 4427-4429} + | "Expr": + | *expr.ShortArray Pos{Line: 240-240 Pos: 4427-4428} + | "Items": + | *stmt.Expression Pos{Line: 241-241 Pos: 4433-4436} + | "Expr": + | *expr.ShortArray Pos{Line: 241-241 Pos: 4433-4435} + | "Items": + | *expr.ArrayItem Pos{Line: 241-241 Pos: 4434-4434} map[ByRef:false] + | "Val": + | *scalar.Lnumber Pos{Line: 241-241 Pos: 4434-4434} map[Value:1] + | *stmt.Expression Pos{Line: 242-242 Pos: 4440-4452} + | "Expr": + | *expr.ShortArray Pos{Line: 242-242 Pos: 4440-4451} + | "Items": + | *expr.ArrayItem Pos{Line: 242-242 Pos: 4441-4444} map[ByRef:false] + | "Key": + | *scalar.Lnumber Pos{Line: 242-242 Pos: 4441-4441} map[Value:1] + | "Val": + | *scalar.Lnumber Pos{Line: 242-242 Pos: 4444-4444} map[Value:1] + | *expr.ArrayItem Pos{Line: 242-242 Pos: 4447-4449} map[ByRef:true] + | "Val": + | *expr.Variable Pos{Line: 242-242 Pos: 4448-4449} + | "VarName": + | *node.Identifier Pos{Line: 242-242 Pos: 4448-4449} map[Value:$b] + | *stmt.Expression Pos{Line: 244-244 Pos: 4457-4466} + | "Expr": + | *assign_op.Assign Pos{Line: 244-244 Pos: 4457-4465} + | "Variable": + | *expr.ShortList Pos{Line: 244-244 Pos: 4457-4460} + | "Items": + | *expr.ArrayItem Pos{Line: 244-244 Pos: 4458-4459} map[ByRef:false] + | "Val": + | *expr.Variable Pos{Line: 244-244 Pos: 4458-4459} + | "VarName": + | *node.Identifier Pos{Line: 244-244 Pos: 4458-4459} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 244-244 Pos: 4464-4465} + | "VarName": + | *node.Identifier Pos{Line: 244-244 Pos: 4464-4465} map[Value:$b] + | *stmt.Expression Pos{Line: 245-245 Pos: 4470-4481} + | "Expr": + | *assign_op.Assign Pos{Line: 245-245 Pos: 4470-4480} + | "Variable": + | *expr.ShortList Pos{Line: 245-245 Pos: 4470-4475} + | "Items": + | *expr.ArrayItem Pos{Line: 245-245 Pos: 4471-4474} map[ByRef:false] + | "Val": + | *expr.ArrayDimFetch Pos{Line: 245-245 Pos: 4471-4474} + | "Variable": + | *expr.Variable Pos{Line: 245-245 Pos: 4471-4472} + | "VarName": + | *node.Identifier Pos{Line: 245-245 Pos: 4471-4472} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 245-245 Pos: 4479-4480} + | "VarName": + | *node.Identifier Pos{Line: 245-245 Pos: 4479-4480} map[Value:$b] + | *stmt.Expression Pos{Line: 246-246 Pos: 4485-4500} + | "Expr": + | *assign_op.Assign Pos{Line: 246-246 Pos: 4485-4499} + | "Variable": + | *expr.ShortList Pos{Line: 246-246 Pos: 4485-4494} + | "Items": + | *expr.ArrayItem Pos{Line: 246-246 Pos: 4486-4493} map[ByRef:false] + | "Val": + | *expr.List Pos{Line: 246-246 Pos: 4486-4493} + | "Items": + | *expr.ArrayItem Pos{Line: 246-246 Pos: 4491-4492} map[ByRef:false] + | "Val": + | *expr.Variable Pos{Line: 246-246 Pos: 4491-4492} + | "VarName": + | *node.Identifier Pos{Line: 246-246 Pos: 4491-4492} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 246-246 Pos: 4498-4499} + | "VarName": + | *node.Identifier Pos{Line: 246-246 Pos: 4498-4499} map[Value:$b] + | *stmt.Expression Pos{Line: 247-247 Pos: 4504-4514} + | "Expr": + | *expr.StaticCall Pos{Line: 247-247 Pos: 4504-4513} + | "Class": + | *name.Name Pos{Line: 247-247 Pos: 4504-4506} + | "Parts": + | *name.NamePart Pos{Line: 247-247 Pos: 4504-4506} map[Value:Foo] + | "Call": + | *node.Identifier Pos{Line: 247-247 Pos: 4509-4511} map[Value:bar] + | "Arguments": + | *stmt.Expression Pos{Line: 248-248 Pos: 4518-4538} + | "Expr": + | *expr.StaticCall Pos{Line: 248-248 Pos: 4518-4537} + | "Class": + | *name.Relative Pos{Line: 248-248 Pos: 4518-4530} + | "Parts": + | *name.NamePart Pos{Line: 248-248 Pos: 4528-4530} map[Value:Foo] + | "Call": + | *node.Identifier Pos{Line: 248-248 Pos: 4533-4535} map[Value:bar] + | "Arguments": + | *stmt.Expression Pos{Line: 249-249 Pos: 4542-4553} + | "Expr": + | *expr.StaticCall Pos{Line: 249-249 Pos: 4542-4552} + | "Class": + | *name.FullyQualified Pos{Line: 249-249 Pos: 4542-4545} + | "Parts": + | *name.NamePart Pos{Line: 249-249 Pos: 4543-4545} map[Value:Foo] + | "Call": + | *node.Identifier Pos{Line: 249-249 Pos: 4548-4550} map[Value:bar] + | "Arguments": + | *stmt.Expression Pos{Line: 250-250 Pos: 4557-4566} + | "Expr": + | *expr.StaticPropertyFetch Pos{Line: 250-250 Pos: 4557-4565} + | "Class": + | *name.Name Pos{Line: 250-250 Pos: 4557-4559} + | "Parts": + | *name.NamePart Pos{Line: 250-250 Pos: 4557-4559} map[Value:Foo] + | "Property": + | *expr.Variable Pos{Line: 250-250 Pos: 4562-4565} + | "VarName": + | *node.Identifier Pos{Line: 250-250 Pos: 4562-4565} map[Value:$bar] + | *stmt.Expression Pos{Line: 251-251 Pos: 4570-4589} + | "Expr": + | *expr.StaticPropertyFetch Pos{Line: 251-251 Pos: 4570-4588} + | "Class": + | *name.Relative Pos{Line: 251-251 Pos: 4570-4582} + | "Parts": + | *name.NamePart Pos{Line: 251-251 Pos: 4580-4582} map[Value:Foo] + | "Property": + | *expr.Variable Pos{Line: 251-251 Pos: 4585-4588} + | "VarName": + | *node.Identifier Pos{Line: 251-251 Pos: 4585-4588} map[Value:$bar] + | *stmt.Expression Pos{Line: 252-252 Pos: 4593-4603} + | "Expr": + | *expr.StaticPropertyFetch Pos{Line: 252-252 Pos: 4593-4602} + | "Class": + | *name.FullyQualified Pos{Line: 252-252 Pos: 4593-4596} + | "Parts": + | *name.NamePart Pos{Line: 252-252 Pos: 4594-4596} map[Value:Foo] + | "Property": + | *expr.Variable Pos{Line: 252-252 Pos: 4599-4602} + | "VarName": + | *node.Identifier Pos{Line: 252-252 Pos: 4599-4602} map[Value:$bar] + | *stmt.Expression Pos{Line: 253-253 Pos: 4607-4619} + | "Expr": + | *expr.Ternary Pos{Line: 253-253 Pos: 4607-4618} + | "Condition": + | *expr.Variable Pos{Line: 253-253 Pos: 4607-4608} + | "VarName": + | *node.Identifier Pos{Line: 253-253 Pos: 4607-4608} map[Value:$a] + | "IfTrue": + | *expr.Variable Pos{Line: 253-253 Pos: 4612-4613} + | "VarName": + | *node.Identifier Pos{Line: 253-253 Pos: 4612-4613} map[Value:$b] + | "IfFalse": + | *expr.Variable Pos{Line: 253-253 Pos: 4617-4618} + | "VarName": + | *node.Identifier Pos{Line: 253-253 Pos: 4617-4618} map[Value:$c] + | *stmt.Expression Pos{Line: 254-254 Pos: 4623-4632} + | "Expr": + | *expr.Ternary Pos{Line: 254-254 Pos: 4623-4631} + | "Condition": + | *expr.Variable Pos{Line: 254-254 Pos: 4623-4624} + | "VarName": + | *node.Identifier Pos{Line: 254-254 Pos: 4623-4624} map[Value:$a] + | "IfFalse": + | *expr.Variable Pos{Line: 254-254 Pos: 4630-4631} + | "VarName": + | *node.Identifier Pos{Line: 254-254 Pos: 4630-4631} map[Value:$c] + | *stmt.Expression Pos{Line: 255-255 Pos: 4636-4658} + | "Expr": + | *expr.Ternary Pos{Line: 255-255 Pos: 4636-4657} + | "Condition": + | *expr.Variable Pos{Line: 255-255 Pos: 4636-4637} + | "VarName": + | *node.Identifier Pos{Line: 255-255 Pos: 4636-4637} map[Value:$a] + | "IfTrue": + | *expr.Ternary Pos{Line: 255-255 Pos: 4641-4652} + | "Condition": + | *expr.Variable Pos{Line: 255-255 Pos: 4641-4642} + | "VarName": + | *node.Identifier Pos{Line: 255-255 Pos: 4641-4642} map[Value:$b] + | "IfTrue": + | *expr.Variable Pos{Line: 255-255 Pos: 4646-4647} + | "VarName": + | *node.Identifier Pos{Line: 255-255 Pos: 4646-4647} map[Value:$c] + | "IfFalse": + | *expr.Variable Pos{Line: 255-255 Pos: 4651-4652} + | "VarName": + | *node.Identifier Pos{Line: 255-255 Pos: 4651-4652} map[Value:$d] + | "IfFalse": + | *expr.Variable Pos{Line: 255-255 Pos: 4656-4657} + | "VarName": + | *node.Identifier Pos{Line: 255-255 Pos: 4656-4657} map[Value:$e] + | *stmt.Expression Pos{Line: 256-256 Pos: 4662-4684} + | "Expr": + | *expr.Ternary Pos{Line: 256-256 Pos: 4662-4683} + | "Condition": + | *expr.Ternary Pos{Line: 256-256 Pos: 4662-4673} + | "Condition": + | *expr.Variable Pos{Line: 256-256 Pos: 4662-4663} + | "VarName": + | *node.Identifier Pos{Line: 256-256 Pos: 4662-4663} map[Value:$a] + | "IfTrue": + | *expr.Variable Pos{Line: 256-256 Pos: 4667-4668} + | "VarName": + | *node.Identifier Pos{Line: 256-256 Pos: 4667-4668} map[Value:$b] + | "IfFalse": + | *expr.Variable Pos{Line: 256-256 Pos: 4672-4673} + | "VarName": + | *node.Identifier Pos{Line: 256-256 Pos: 4672-4673} map[Value:$c] + | "IfTrue": + | *expr.Variable Pos{Line: 256-256 Pos: 4677-4678} + | "VarName": + | *node.Identifier Pos{Line: 256-256 Pos: 4677-4678} map[Value:$d] + | "IfFalse": + | *expr.Variable Pos{Line: 256-256 Pos: 4682-4683} + | "VarName": + | *node.Identifier Pos{Line: 256-256 Pos: 4682-4683} map[Value:$e] + | *stmt.Expression Pos{Line: 257-257 Pos: 4688-4691} + | "Expr": + | *expr.UnaryMinus Pos{Line: 257-257 Pos: 4688-4690} + | "Expr": + | *expr.Variable Pos{Line: 257-257 Pos: 4689-4690} + | "VarName": + | *node.Identifier Pos{Line: 257-257 Pos: 4689-4690} map[Value:$a] + | *stmt.Expression Pos{Line: 258-258 Pos: 4695-4698} + | "Expr": + | *expr.UnaryPlus Pos{Line: 258-258 Pos: 4695-4697} + | "Expr": + | *expr.Variable Pos{Line: 258-258 Pos: 4696-4697} + | "VarName": + | *node.Identifier Pos{Line: 258-258 Pos: 4696-4697} map[Value:$a] + | *stmt.Expression Pos{Line: 259-259 Pos: 4702-4705} + | "Expr": + | *expr.Variable Pos{Line: 259-259 Pos: 4702-4704} + | "VarName": + | *expr.Variable Pos{Line: 259-259 Pos: 4703-4704} + | "VarName": + | *node.Identifier Pos{Line: 259-259 Pos: 4703-4704} map[Value:$a] + | *stmt.Expression Pos{Line: 260-260 Pos: 4709-4714} + | "Expr": + | *expr.Yield Pos{Line: 260-260 Pos: 4709-4713} + | *stmt.Expression Pos{Line: 261-261 Pos: 4718-4726} + | "Expr": + | *expr.Yield Pos{Line: 261-261 Pos: 4718-4725} + | "Value": + | *expr.Variable Pos{Line: 261-261 Pos: 4724-4725} + | "VarName": + | *node.Identifier Pos{Line: 261-261 Pos: 4724-4725} map[Value:$a] + | *stmt.Expression Pos{Line: 262-262 Pos: 4730-4744} + | "Expr": + | *expr.Yield Pos{Line: 262-262 Pos: 4730-4743} + | "Key": + | *expr.Variable Pos{Line: 262-262 Pos: 4736-4737} + | "VarName": + | *node.Identifier Pos{Line: 262-262 Pos: 4736-4737} map[Value:$a] + | "Value": + | *expr.Variable Pos{Line: 262-262 Pos: 4742-4743} + | "VarName": + | *node.Identifier Pos{Line: 262-262 Pos: 4742-4743} map[Value:$b] + | *stmt.Expression Pos{Line: 263-263 Pos: 4748-4761} + | "Expr": + | *expr.YieldFrom Pos{Line: 263-263 Pos: 4748-4760} + | "Expr": + | *expr.Variable Pos{Line: 263-263 Pos: 4759-4760} + | "VarName": + | *node.Identifier Pos{Line: 263-263 Pos: 4759-4760} map[Value:$a] + | *stmt.Expression Pos{Line: 265-265 Pos: 4768-4777} + | "Expr": + | *cast.CastArray Pos{Line: 265-265 Pos: 4768-4776} + | "Expr": + | *expr.Variable Pos{Line: 265-265 Pos: 4775-4776} + | "VarName": + | *node.Identifier Pos{Line: 265-265 Pos: 4775-4776} map[Value:$a] + | *stmt.Expression Pos{Line: 266-266 Pos: 4781-4792} + | "Expr": + | *cast.CastBool Pos{Line: 266-266 Pos: 4781-4791} + | "Expr": + | *expr.Variable Pos{Line: 266-266 Pos: 4790-4791} + | "VarName": + | *node.Identifier Pos{Line: 266-266 Pos: 4790-4791} map[Value:$a] + | *stmt.Expression Pos{Line: 267-267 Pos: 4796-4804} + | "Expr": + | *cast.CastBool Pos{Line: 267-267 Pos: 4796-4803} + | "Expr": + | *expr.Variable Pos{Line: 267-267 Pos: 4802-4803} + | "VarName": + | *node.Identifier Pos{Line: 267-267 Pos: 4802-4803} map[Value:$a] + | *stmt.Expression Pos{Line: 268-268 Pos: 4808-4818} + | "Expr": + | *cast.CastDouble Pos{Line: 268-268 Pos: 4808-4817} + | "Expr": + | *expr.Variable Pos{Line: 268-268 Pos: 4816-4817} + | "VarName": + | *node.Identifier Pos{Line: 268-268 Pos: 4816-4817} map[Value:$a] + | *stmt.Expression Pos{Line: 269-269 Pos: 4822-4831} + | "Expr": + | *cast.CastDouble Pos{Line: 269-269 Pos: 4822-4830} + | "Expr": + | *expr.Variable Pos{Line: 269-269 Pos: 4829-4830} + | "VarName": + | *node.Identifier Pos{Line: 269-269 Pos: 4829-4830} map[Value:$a] + | *stmt.Expression Pos{Line: 270-270 Pos: 4835-4846} + | "Expr": + | *cast.CastInt Pos{Line: 270-270 Pos: 4835-4845} + | "Expr": + | *expr.Variable Pos{Line: 270-270 Pos: 4844-4845} + | "VarName": + | *node.Identifier Pos{Line: 270-270 Pos: 4844-4845} map[Value:$a] + | *stmt.Expression Pos{Line: 271-271 Pos: 4850-4857} + | "Expr": + | *cast.CastInt Pos{Line: 271-271 Pos: 4850-4856} + | "Expr": + | *expr.Variable Pos{Line: 271-271 Pos: 4855-4856} + | "VarName": + | *node.Identifier Pos{Line: 271-271 Pos: 4855-4856} map[Value:$a] + | *stmt.Expression Pos{Line: 272-272 Pos: 4861-4871} + | "Expr": + | *cast.CastObject Pos{Line: 272-272 Pos: 4861-4870} + | "Expr": + | *expr.Variable Pos{Line: 272-272 Pos: 4869-4870} + | "VarName": + | *node.Identifier Pos{Line: 272-272 Pos: 4869-4870} map[Value:$a] + | *stmt.Expression Pos{Line: 273-273 Pos: 4875-4885} + | "Expr": + | *cast.CastString Pos{Line: 273-273 Pos: 4875-4884} + | "Expr": + | *expr.Variable Pos{Line: 273-273 Pos: 4883-4884} + | "VarName": + | *node.Identifier Pos{Line: 273-273 Pos: 4883-4884} map[Value:$a] + | *stmt.Expression Pos{Line: 274-274 Pos: 4889-4898} + | "Expr": + | *cast.CastUnset Pos{Line: 274-274 Pos: 4889-4897} + | "Expr": + | *expr.Variable Pos{Line: 274-274 Pos: 4896-4897} + | "VarName": + | *node.Identifier Pos{Line: 274-274 Pos: 4896-4897} map[Value:$a] + | *stmt.Expression Pos{Line: 276-276 Pos: 4903-4910} + | "Expr": + | *binary_op.BitwiseAnd Pos{Line: 276-276 Pos: 4903-4909} + | "Left": + | *expr.Variable Pos{Line: 276-276 Pos: 4903-4904} + | "VarName": + | *node.Identifier Pos{Line: 276-276 Pos: 4903-4904} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 276-276 Pos: 4908-4909} + | "VarName": + | *node.Identifier Pos{Line: 276-276 Pos: 4908-4909} map[Value:$b] + | *stmt.Expression Pos{Line: 277-277 Pos: 4914-4921} + | "Expr": + | *binary_op.BitwiseOr Pos{Line: 277-277 Pos: 4914-4920} + | "Left": + | *expr.Variable Pos{Line: 277-277 Pos: 4914-4915} + | "VarName": + | *node.Identifier Pos{Line: 277-277 Pos: 4914-4915} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 277-277 Pos: 4919-4920} + | "VarName": + | *node.Identifier Pos{Line: 277-277 Pos: 4919-4920} map[Value:$b] + | *stmt.Expression Pos{Line: 278-278 Pos: 4925-4932} + | "Expr": + | *binary_op.BitwiseXor Pos{Line: 278-278 Pos: 4925-4931} + | "Left": + | *expr.Variable Pos{Line: 278-278 Pos: 4925-4926} + | "VarName": + | *node.Identifier Pos{Line: 278-278 Pos: 4925-4926} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 278-278 Pos: 4930-4931} + | "VarName": + | *node.Identifier Pos{Line: 278-278 Pos: 4930-4931} map[Value:$b] + | *stmt.Expression Pos{Line: 279-279 Pos: 4936-4944} + | "Expr": + | *binary_op.BooleanAnd Pos{Line: 279-279 Pos: 4936-4943} + | "Left": + | *expr.Variable Pos{Line: 279-279 Pos: 4936-4937} + | "VarName": + | *node.Identifier Pos{Line: 279-279 Pos: 4936-4937} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 279-279 Pos: 4942-4943} + | "VarName": + | *node.Identifier Pos{Line: 279-279 Pos: 4942-4943} map[Value:$b] + | *stmt.Expression Pos{Line: 280-280 Pos: 4948-4956} + | "Expr": + | *binary_op.BooleanOr Pos{Line: 280-280 Pos: 4948-4955} + | "Left": + | *expr.Variable Pos{Line: 280-280 Pos: 4948-4949} + | "VarName": + | *node.Identifier Pos{Line: 280-280 Pos: 4948-4949} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 280-280 Pos: 4954-4955} + | "VarName": + | *node.Identifier Pos{Line: 280-280 Pos: 4954-4955} map[Value:$b] + | *stmt.Expression Pos{Line: 281-281 Pos: 4960-4968} + | "Expr": + | *binary_op.Coalesce Pos{Line: 281-281 Pos: 4960-4967} + | "Left": + | *expr.Variable Pos{Line: 281-281 Pos: 4960-4961} + | "VarName": + | *node.Identifier Pos{Line: 281-281 Pos: 4960-4961} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 281-281 Pos: 4966-4967} + | "VarName": + | *node.Identifier Pos{Line: 281-281 Pos: 4966-4967} map[Value:$b] + | *stmt.Expression Pos{Line: 282-282 Pos: 4972-4979} + | "Expr": + | *binary_op.Concat Pos{Line: 282-282 Pos: 4972-4978} + | "Left": + | *expr.Variable Pos{Line: 282-282 Pos: 4972-4973} + | "VarName": + | *node.Identifier Pos{Line: 282-282 Pos: 4972-4973} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 282-282 Pos: 4977-4978} + | "VarName": + | *node.Identifier Pos{Line: 282-282 Pos: 4977-4978} map[Value:$b] + | *stmt.Expression Pos{Line: 283-283 Pos: 4983-4990} + | "Expr": + | *binary_op.Div Pos{Line: 283-283 Pos: 4983-4989} + | "Left": + | *expr.Variable Pos{Line: 283-283 Pos: 4983-4984} + | "VarName": + | *node.Identifier Pos{Line: 283-283 Pos: 4983-4984} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 283-283 Pos: 4988-4989} + | "VarName": + | *node.Identifier Pos{Line: 283-283 Pos: 4988-4989} map[Value:$b] + | *stmt.Expression Pos{Line: 284-284 Pos: 4994-5002} + | "Expr": + | *binary_op.Equal Pos{Line: 284-284 Pos: 4994-5001} + | "Left": + | *expr.Variable Pos{Line: 284-284 Pos: 4994-4995} + | "VarName": + | *node.Identifier Pos{Line: 284-284 Pos: 4994-4995} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 284-284 Pos: 5000-5001} + | "VarName": + | *node.Identifier Pos{Line: 284-284 Pos: 5000-5001} map[Value:$b] + | *stmt.Expression Pos{Line: 285-285 Pos: 5006-5014} + | "Expr": + | *binary_op.GreaterOrEqual Pos{Line: 285-285 Pos: 5006-5013} + | "Left": + | *expr.Variable Pos{Line: 285-285 Pos: 5006-5007} + | "VarName": + | *node.Identifier Pos{Line: 285-285 Pos: 5006-5007} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 285-285 Pos: 5012-5013} + | "VarName": + | *node.Identifier Pos{Line: 285-285 Pos: 5012-5013} map[Value:$b] + | *stmt.Expression Pos{Line: 286-286 Pos: 5018-5025} + | "Expr": + | *binary_op.Greater Pos{Line: 286-286 Pos: 5018-5024} + | "Left": + | *expr.Variable Pos{Line: 286-286 Pos: 5018-5019} + | "VarName": + | *node.Identifier Pos{Line: 286-286 Pos: 5018-5019} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 286-286 Pos: 5023-5024} + | "VarName": + | *node.Identifier Pos{Line: 286-286 Pos: 5023-5024} map[Value:$b] + | *stmt.Expression Pos{Line: 287-287 Pos: 5029-5038} + | "Expr": + | *binary_op.Identical Pos{Line: 287-287 Pos: 5029-5037} + | "Left": + | *expr.Variable Pos{Line: 287-287 Pos: 5029-5030} + | "VarName": + | *node.Identifier Pos{Line: 287-287 Pos: 5029-5030} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 287-287 Pos: 5036-5037} + | "VarName": + | *node.Identifier Pos{Line: 287-287 Pos: 5036-5037} map[Value:$b] + | *stmt.Expression Pos{Line: 288-288 Pos: 5042-5051} + | "Expr": + | *binary_op.LogicalAnd Pos{Line: 288-288 Pos: 5042-5050} + | "Left": + | *expr.Variable Pos{Line: 288-288 Pos: 5042-5043} + | "VarName": + | *node.Identifier Pos{Line: 288-288 Pos: 5042-5043} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 288-288 Pos: 5049-5050} + | "VarName": + | *node.Identifier Pos{Line: 288-288 Pos: 5049-5050} map[Value:$b] + | *stmt.Expression Pos{Line: 289-289 Pos: 5055-5063} + | "Expr": + | *binary_op.LogicalOr Pos{Line: 289-289 Pos: 5055-5062} + | "Left": + | *expr.Variable Pos{Line: 289-289 Pos: 5055-5056} + | "VarName": + | *node.Identifier Pos{Line: 289-289 Pos: 5055-5056} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 289-289 Pos: 5061-5062} + | "VarName": + | *node.Identifier Pos{Line: 289-289 Pos: 5061-5062} map[Value:$b] + | *stmt.Expression Pos{Line: 290-290 Pos: 5067-5076} + | "Expr": + | *binary_op.LogicalXor Pos{Line: 290-290 Pos: 5067-5075} + | "Left": + | *expr.Variable Pos{Line: 290-290 Pos: 5067-5068} + | "VarName": + | *node.Identifier Pos{Line: 290-290 Pos: 5067-5068} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 290-290 Pos: 5074-5075} + | "VarName": + | *node.Identifier Pos{Line: 290-290 Pos: 5074-5075} map[Value:$b] + | *stmt.Expression Pos{Line: 291-291 Pos: 5080-5087} + | "Expr": + | *binary_op.Minus Pos{Line: 291-291 Pos: 5080-5086} + | "Left": + | *expr.Variable Pos{Line: 291-291 Pos: 5080-5081} + | "VarName": + | *node.Identifier Pos{Line: 291-291 Pos: 5080-5081} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 291-291 Pos: 5085-5086} + | "VarName": + | *node.Identifier Pos{Line: 291-291 Pos: 5085-5086} map[Value:$b] + | *stmt.Expression Pos{Line: 292-292 Pos: 5091-5098} + | "Expr": + | *binary_op.Mod Pos{Line: 292-292 Pos: 5091-5097} + | "Left": + | *expr.Variable Pos{Line: 292-292 Pos: 5091-5092} + | "VarName": + | *node.Identifier Pos{Line: 292-292 Pos: 5091-5092} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 292-292 Pos: 5096-5097} + | "VarName": + | *node.Identifier Pos{Line: 292-292 Pos: 5096-5097} map[Value:$b] + | *stmt.Expression Pos{Line: 293-293 Pos: 5102-5109} + | "Expr": + | *binary_op.Mul Pos{Line: 293-293 Pos: 5102-5108} + | "Left": + | *expr.Variable Pos{Line: 293-293 Pos: 5102-5103} + | "VarName": + | *node.Identifier Pos{Line: 293-293 Pos: 5102-5103} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 293-293 Pos: 5107-5108} + | "VarName": + | *node.Identifier Pos{Line: 293-293 Pos: 5107-5108} map[Value:$b] + | *stmt.Expression Pos{Line: 294-294 Pos: 5113-5121} + | "Expr": + | *binary_op.NotEqual Pos{Line: 294-294 Pos: 5113-5120} + | "Left": + | *expr.Variable Pos{Line: 294-294 Pos: 5113-5114} + | "VarName": + | *node.Identifier Pos{Line: 294-294 Pos: 5113-5114} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 294-294 Pos: 5119-5120} + | "VarName": + | *node.Identifier Pos{Line: 294-294 Pos: 5119-5120} map[Value:$b] + | *stmt.Expression Pos{Line: 295-295 Pos: 5125-5134} + | "Expr": + | *binary_op.NotIdentical Pos{Line: 295-295 Pos: 5125-5133} + | "Left": + | *expr.Variable Pos{Line: 295-295 Pos: 5125-5126} + | "VarName": + | *node.Identifier Pos{Line: 295-295 Pos: 5125-5126} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 295-295 Pos: 5132-5133} + | "VarName": + | *node.Identifier Pos{Line: 295-295 Pos: 5132-5133} map[Value:$b] + | *stmt.Expression Pos{Line: 296-296 Pos: 5138-5145} + | "Expr": + | *binary_op.Plus Pos{Line: 296-296 Pos: 5138-5144} + | "Left": + | *expr.Variable Pos{Line: 296-296 Pos: 5138-5139} + | "VarName": + | *node.Identifier Pos{Line: 296-296 Pos: 5138-5139} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 296-296 Pos: 5143-5144} + | "VarName": + | *node.Identifier Pos{Line: 296-296 Pos: 5143-5144} map[Value:$b] + | *stmt.Expression Pos{Line: 297-297 Pos: 5149-5157} + | "Expr": + | *binary_op.Pow Pos{Line: 297-297 Pos: 5149-5156} + | "Left": + | *expr.Variable Pos{Line: 297-297 Pos: 5149-5150} + | "VarName": + | *node.Identifier Pos{Line: 297-297 Pos: 5149-5150} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 297-297 Pos: 5155-5156} + | "VarName": + | *node.Identifier Pos{Line: 297-297 Pos: 5155-5156} map[Value:$b] + | *stmt.Expression Pos{Line: 298-298 Pos: 5161-5169} + | "Expr": + | *binary_op.ShiftLeft Pos{Line: 298-298 Pos: 5161-5168} + | "Left": + | *expr.Variable Pos{Line: 298-298 Pos: 5161-5162} + | "VarName": + | *node.Identifier Pos{Line: 298-298 Pos: 5161-5162} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 298-298 Pos: 5167-5168} + | "VarName": + | *node.Identifier Pos{Line: 298-298 Pos: 5167-5168} map[Value:$b] + | *stmt.Expression Pos{Line: 299-299 Pos: 5173-5181} + | "Expr": + | *binary_op.ShiftRight Pos{Line: 299-299 Pos: 5173-5180} + | "Left": + | *expr.Variable Pos{Line: 299-299 Pos: 5173-5174} + | "VarName": + | *node.Identifier Pos{Line: 299-299 Pos: 5173-5174} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 299-299 Pos: 5179-5180} + | "VarName": + | *node.Identifier Pos{Line: 299-299 Pos: 5179-5180} map[Value:$b] + | *stmt.Expression Pos{Line: 300-300 Pos: 5185-5193} + | "Expr": + | *binary_op.SmallerOrEqual Pos{Line: 300-300 Pos: 5185-5192} + | "Left": + | *expr.Variable Pos{Line: 300-300 Pos: 5185-5186} + | "VarName": + | *node.Identifier Pos{Line: 300-300 Pos: 5185-5186} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 300-300 Pos: 5191-5192} + | "VarName": + | *node.Identifier Pos{Line: 300-300 Pos: 5191-5192} map[Value:$b] + | *stmt.Expression Pos{Line: 301-301 Pos: 5197-5204} + | "Expr": + | *binary_op.Smaller Pos{Line: 301-301 Pos: 5197-5203} + | "Left": + | *expr.Variable Pos{Line: 301-301 Pos: 5197-5198} + | "VarName": + | *node.Identifier Pos{Line: 301-301 Pos: 5197-5198} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 301-301 Pos: 5202-5203} + | "VarName": + | *node.Identifier Pos{Line: 301-301 Pos: 5202-5203} map[Value:$b] + | *stmt.Expression Pos{Line: 302-302 Pos: 5208-5217} + | "Expr": + | *binary_op.Spaceship Pos{Line: 302-302 Pos: 5208-5216} + | "Left": + | *expr.Variable Pos{Line: 302-302 Pos: 5208-5209} + | "VarName": + | *node.Identifier Pos{Line: 302-302 Pos: 5208-5209} map[Value:$a] + | "Right": + | *expr.Variable Pos{Line: 302-302 Pos: 5215-5216} + | "VarName": + | *node.Identifier Pos{Line: 302-302 Pos: 5215-5216} map[Value:$b] + | *stmt.Expression Pos{Line: 304-304 Pos: 5222-5230} + | "Expr": + | *assign_op.AssignRef Pos{Line: 304-304 Pos: 5222-5229} + | "Variable": + | *expr.Variable Pos{Line: 304-304 Pos: 5222-5223} + | "VarName": + | *node.Identifier Pos{Line: 304-304 Pos: 5222-5223} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 304-304 Pos: 5228-5229} + | "VarName": + | *node.Identifier Pos{Line: 304-304 Pos: 5228-5229} map[Value:$b] + | *stmt.Expression Pos{Line: 305-305 Pos: 5234-5241} + | "Expr": + | *assign_op.Assign Pos{Line: 305-305 Pos: 5234-5240} + | "Variable": + | *expr.Variable Pos{Line: 305-305 Pos: 5234-5235} + | "VarName": + | *node.Identifier Pos{Line: 305-305 Pos: 5234-5235} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 305-305 Pos: 5239-5240} + | "VarName": + | *node.Identifier Pos{Line: 305-305 Pos: 5239-5240} map[Value:$b] + | *stmt.Expression Pos{Line: 306-306 Pos: 5245-5253} + | "Expr": + | *assign_op.BitwiseAnd Pos{Line: 306-306 Pos: 5245-5252} + | "Variable": + | *expr.Variable Pos{Line: 306-306 Pos: 5245-5246} + | "VarName": + | *node.Identifier Pos{Line: 306-306 Pos: 5245-5246} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 306-306 Pos: 5251-5252} + | "VarName": + | *node.Identifier Pos{Line: 306-306 Pos: 5251-5252} map[Value:$b] + | *stmt.Expression Pos{Line: 307-307 Pos: 5257-5265} + | "Expr": + | *assign_op.BitwiseOr Pos{Line: 307-307 Pos: 5257-5264} + | "Variable": + | *expr.Variable Pos{Line: 307-307 Pos: 5257-5258} + | "VarName": + | *node.Identifier Pos{Line: 307-307 Pos: 5257-5258} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 307-307 Pos: 5263-5264} + | "VarName": + | *node.Identifier Pos{Line: 307-307 Pos: 5263-5264} map[Value:$b] + | *stmt.Expression Pos{Line: 308-308 Pos: 5269-5277} + | "Expr": + | *assign_op.BitwiseXor Pos{Line: 308-308 Pos: 5269-5276} + | "Variable": + | *expr.Variable Pos{Line: 308-308 Pos: 5269-5270} + | "VarName": + | *node.Identifier Pos{Line: 308-308 Pos: 5269-5270} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 308-308 Pos: 5275-5276} + | "VarName": + | *node.Identifier Pos{Line: 308-308 Pos: 5275-5276} map[Value:$b] + | *stmt.Expression Pos{Line: 309-309 Pos: 5281-5289} + | "Expr": + | *assign_op.Concat Pos{Line: 309-309 Pos: 5281-5288} + | "Variable": + | *expr.Variable Pos{Line: 309-309 Pos: 5281-5282} + | "VarName": + | *node.Identifier Pos{Line: 309-309 Pos: 5281-5282} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 309-309 Pos: 5287-5288} + | "VarName": + | *node.Identifier Pos{Line: 309-309 Pos: 5287-5288} map[Value:$b] + | *stmt.Expression Pos{Line: 310-310 Pos: 5293-5301} + | "Expr": + | *assign_op.Div Pos{Line: 310-310 Pos: 5293-5300} + | "Variable": + | *expr.Variable Pos{Line: 310-310 Pos: 5293-5294} + | "VarName": + | *node.Identifier Pos{Line: 310-310 Pos: 5293-5294} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 310-310 Pos: 5299-5300} + | "VarName": + | *node.Identifier Pos{Line: 310-310 Pos: 5299-5300} map[Value:$b] + | *stmt.Expression Pos{Line: 311-311 Pos: 5305-5313} + | "Expr": + | *assign_op.Minus Pos{Line: 311-311 Pos: 5305-5312} + | "Variable": + | *expr.Variable Pos{Line: 311-311 Pos: 5305-5306} + | "VarName": + | *node.Identifier Pos{Line: 311-311 Pos: 5305-5306} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 311-311 Pos: 5311-5312} + | "VarName": + | *node.Identifier Pos{Line: 311-311 Pos: 5311-5312} map[Value:$b] + | *stmt.Expression Pos{Line: 312-312 Pos: 5317-5325} + | "Expr": + | *assign_op.Mod Pos{Line: 312-312 Pos: 5317-5324} + | "Variable": + | *expr.Variable Pos{Line: 312-312 Pos: 5317-5318} + | "VarName": + | *node.Identifier Pos{Line: 312-312 Pos: 5317-5318} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 312-312 Pos: 5323-5324} + | "VarName": + | *node.Identifier Pos{Line: 312-312 Pos: 5323-5324} map[Value:$b] + | *stmt.Expression Pos{Line: 313-313 Pos: 5329-5337} + | "Expr": + | *assign_op.Mul Pos{Line: 313-313 Pos: 5329-5336} + | "Variable": + | *expr.Variable Pos{Line: 313-313 Pos: 5329-5330} + | "VarName": + | *node.Identifier Pos{Line: 313-313 Pos: 5329-5330} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 313-313 Pos: 5335-5336} + | "VarName": + | *node.Identifier Pos{Line: 313-313 Pos: 5335-5336} map[Value:$b] + | *stmt.Expression Pos{Line: 314-314 Pos: 5341-5349} + | "Expr": + | *assign_op.Plus Pos{Line: 314-314 Pos: 5341-5348} + | "Variable": + | *expr.Variable Pos{Line: 314-314 Pos: 5341-5342} + | "VarName": + | *node.Identifier Pos{Line: 314-314 Pos: 5341-5342} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 314-314 Pos: 5347-5348} + | "VarName": + | *node.Identifier Pos{Line: 314-314 Pos: 5347-5348} map[Value:$b] + | *stmt.Expression Pos{Line: 315-315 Pos: 5353-5362} + | "Expr": + | *assign_op.Pow Pos{Line: 315-315 Pos: 5353-5361} + | "Variable": + | *expr.Variable Pos{Line: 315-315 Pos: 5353-5354} + | "VarName": + | *node.Identifier Pos{Line: 315-315 Pos: 5353-5354} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 315-315 Pos: 5360-5361} + | "VarName": + | *node.Identifier Pos{Line: 315-315 Pos: 5360-5361} map[Value:$b] + | *stmt.Expression Pos{Line: 316-316 Pos: 5366-5375} + | "Expr": + | *assign_op.ShiftLeft Pos{Line: 316-316 Pos: 5366-5374} + | "Variable": + | *expr.Variable Pos{Line: 316-316 Pos: 5366-5367} + | "VarName": + | *node.Identifier Pos{Line: 316-316 Pos: 5366-5367} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 316-316 Pos: 5373-5374} + | "VarName": + | *node.Identifier Pos{Line: 316-316 Pos: 5373-5374} map[Value:$b] + | *stmt.Expression Pos{Line: 317-317 Pos: 5379-5388} + | "Expr": + | *assign_op.ShiftRight Pos{Line: 317-317 Pos: 5379-5387} + | "Variable": + | *expr.Variable Pos{Line: 317-317 Pos: 5379-5380} + | "VarName": + | *node.Identifier Pos{Line: 317-317 Pos: 5379-5380} map[Value:$a] + | "Expression": + | *expr.Variable Pos{Line: 317-317 Pos: 5386-5387} + | "VarName": + | *node.Identifier Pos{Line: 317-317 Pos: 5386-5387} map[Value:$b] + | *stmt.Class Pos{Line: 319-319 Pos: 5393-5431} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 319-319 Pos: 5399-5401} map[Value:foo] + | "Stmts": + | *stmt.ClassMethod Pos{Line: 319-319 Pos: 5404-5429} map[ReturnsRef:false PhpDocComment:] + | "MethodName": + | *node.Identifier Pos{Line: 319-319 Pos: 5420-5424} map[Value:class] + | "Modifiers": + | *node.Identifier Pos{Line: 319-319 Pos: 5404-5409} map[Value:public] + | "Stmts": + | *stmt.Expression Pos{Line: 320-320 Pos: 5435-5445} + | "Expr": + | *expr.FunctionCall Pos{Line: 320-320 Pos: 5435-5444} + | "Function": + | *name.FullyQualified Pos{Line: 320-320 Pos: 5435-5442} + | "Parts": + | *name.NamePart Pos{Line: 320-320 Pos: 5436-5438} map[Value:foo] + | *name.NamePart Pos{Line: 320-320 Pos: 5440-5442} map[Value:bar] + | "Arguments": + | *stmt.Function Pos{Line: 322-328 Pos: 5450-5576} map[PhpDocComment: ReturnsRef:false] + | "FunctionName": + | *node.Identifier Pos{Line: 322-322 Pos: 5459-5461} map[Value:foo] + | "Params": + | *node.Parameter Pos{Line: 322-322 Pos: 5463-5465} map[ByRef:true Variadic:false] + | "Variable": + | *expr.Variable Pos{Line: 322-322 Pos: 5464-5465} + | "VarName": + | *node.Identifier Pos{Line: 322-322 Pos: 5464-5465} map[Value:$a] + | *node.Parameter Pos{Line: 322-322 Pos: 5468-5472} map[ByRef:false Variadic:true] + | "Variable": + | *expr.Variable Pos{Line: 322-322 Pos: 5471-5472} + | "VarName": + | *node.Identifier Pos{Line: 322-322 Pos: 5471-5472} map[Value:$b] + | "Stmts": + | *stmt.HaltCompiler Pos{Line: 323-323 Pos: 5480-5497} + | *stmt.Function Pos{Line: 324-324 Pos: 5502-5518} map[ReturnsRef:false PhpDocComment:] + | "FunctionName": + | *node.Identifier Pos{Line: 324-324 Pos: 5511-5513} map[Value:bar] + | "Stmts": + | *stmt.Class Pos{Line: 325-325 Pos: 5523-5534} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 325-325 Pos: 5529-5531} map[Value:Baz] + | "Stmts": + | *stmt.Trait Pos{Line: 326-326 Pos: 5539-5550} map[PhpDocComment:] + | "TraitName": + | *node.Identifier Pos{Line: 326-326 Pos: 5545-5548} map[Value:Quux] + | "Stmts": + | *stmt.Interface Pos{Line: 327-327 Pos: 5555-5572} map[PhpDocComment:] + | "InterfaceName": + | *node.Identifier Pos{Line: 327-327 Pos: 5565-5569} map[Value:Quuux] + | "Stmts": diff --git a/php7/php7.go b/php7/php7.go index d0eace0..3e81f0d 100644 --- a/php7/php7.go +++ b/php7/php7.go @@ -5,6 +5,7 @@ import __yyfmt__ "fmt" //line php7/php7.y:2 import ( + "fmt" "strconv" "strings" @@ -19,7 +20,7 @@ import ( "github.com/z7zmey/php-parser/token" ) -//line php7/php7.y:21 +//line php7/php7.y:22 type yySymType struct { yys int node node.Node @@ -343,7 +344,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php7/php7.y:2583 +//line php7/php7.y:2584 //line yacctab:1 var yyExca = [...]int{ @@ -2026,563 +2027,579 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:254 + //line php7/php7.y:255 { rootnode = stmt.NewStmtList(yyDollar[1].list) positions.AddPosition(rootnode, positionBuilder.NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:261 + //line php7/php7.y:262 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:262 + //line php7/php7.y:263 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:263 + //line php7/php7.y:264 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:264 + //line php7/php7.y:265 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:265 + //line php7/php7.y:266 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:266 + //line php7/php7.y:267 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:267 + //line php7/php7.y:268 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:271 + //line php7/php7.y:272 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:272 + //line php7/php7.y:273 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:272 + //line php7/php7.y:273 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:272 + //line php7/php7.y:273 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:272 + //line php7/php7.y:273 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:272 + //line php7/php7.y:273 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:272 + //line php7/php7.y:273 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:276 + //line php7/php7.y:277 { + fmt.Println("1") yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:277 + //line php7/php7.y:278 { + fmt.Println("2") yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:281 + //line php7/php7.y:282 { + fmt.Println("3") yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:282 + //line php7/php7.y:283 { + fmt.Println("4") yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:287 + //line php7/php7.y:288 { namePart := name.NewNamePart(yyDollar[1].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("5") yyVAL.list = []node.Node{namePart} comments.AddComments(namePart, yyDollar[1].token.Comments()) } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:294 + //line php7/php7.y:295 { namePart := name.NewNamePart(yyDollar[3].token.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("6") yyVAL.list = append(yyDollar[1].list, namePart) comments.AddComments(namePart, yyDollar[3].token.Comments()) } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:305 { + fmt.Println("7") yyVAL.node = name.NewName(yyDollar[1].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:310 + //line php7/php7.y:311 { + fmt.Println("8") yyVAL.node = name.NewRelative(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:316 + //line php7/php7.y:317 { + fmt.Println("9") yyVAL.node = name.NewFullyQualified(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:324 + //line php7/php7.y:325 { + fmt.Println("10") yyVAL.node = yyDollar[1].node } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:325 + //line php7/php7.y:326 { + fmt.Println("11") yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:326 + //line php7/php7.y:327 { + fmt.Println("12") yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:327 + //line php7/php7.y:328 { + fmt.Println("13") yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:328 + //line php7/php7.y:329 { + fmt.Println("14") yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:329 + //line php7/php7.y:330 { + fmt.Println("15") yyVAL.node = stmt.NewHaltCompiler() } case 91: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:331 + //line php7/php7.y:332 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + fmt.Println("16") yyVAL.node = stmt.NewNamespace(name, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2591,10 +2608,11 @@ yydefault: } case 92: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:341 + //line php7/php7.y:342 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + fmt.Println("17") yyVAL.node = stmt.NewNamespace(name, yyDollar[4].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2603,68 +2621,77 @@ yydefault: } case 93: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:351 + //line php7/php7.y:352 { + fmt.Println("18") yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 94: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:356 + //line php7/php7.y:357 { + fmt.Println("19") yyVAL.node = yyDollar[2].node } case 95: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:357 + //line php7/php7.y:358 { + fmt.Println("20") yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) } case 96: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:359 + //line php7/php7.y:360 { + fmt.Println("21") yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 97: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:364 + //line php7/php7.y:365 { + fmt.Println("22") yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) } case 98: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:366 + //line php7/php7.y:367 { + fmt.Println("23") yyVAL.node = stmt.NewConstList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 99: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:375 + //line php7/php7.y:376 { + fmt.Println("24") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:381 + //line php7/php7.y:382 { + fmt.Println("25") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 101: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:390 + //line php7/php7.y:391 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + fmt.Println("26") yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) @@ -2673,10 +2700,11 @@ yydefault: } case 102: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:400 + //line php7/php7.y:401 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + fmt.Println("27") yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) @@ -2685,10 +2713,11 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:413 + //line php7/php7.y:414 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + fmt.Println("28") yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[6].token)) @@ -2697,10 +2726,11 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:423 + //line php7/php7.y:424 { name := name.NewName(yyDollar[2].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[2].list)) + fmt.Println("29") yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) @@ -2709,58 +2739,67 @@ yydefault: } case 107: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:441 + //line php7/php7.y:442 { + fmt.Println("30") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 108: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:442 + //line php7/php7.y:443 { + fmt.Println("31") yyVAL.list = []node.Node{yyDollar[1].node} } case 109: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:447 + //line php7/php7.y:448 { + fmt.Println("32") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 110: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:448 + //line php7/php7.y:449 { + fmt.Println("33") yyVAL.list = []node.Node{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:452 + //line php7/php7.y:453 { + fmt.Println("34") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 112: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:453 + //line php7/php7.y:454 { + fmt.Println("35") yyVAL.list = []node.Node{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:457 + //line php7/php7.y:458 { + fmt.Println("36") yyVAL.node = yyDollar[1].node } case 114: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:458 + //line php7/php7.y:459 { + fmt.Println("37") yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } case 115: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:463 + //line php7/php7.y:464 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) + fmt.Println("38") yyVAL.node = stmt.NewUse(nil, name, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2769,12 +2808,13 @@ yydefault: } case 116: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:473 + //line php7/php7.y:474 { name := name.NewName(yyDollar[1].list) positions.AddPosition(name, positionBuilder.NewNodeListPosition(yyDollar[1].list)) alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("39") yyVAL.node = stmt.NewUse(nil, name, alias) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -2784,242 +2824,276 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:488 + //line php7/php7.y:489 { + fmt.Println("40") yyVAL.node = yyDollar[1].node } case 118: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:489 + //line php7/php7.y:490 { + fmt.Println("41") yyVAL.node = yyDollar[2].node } case 119: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:493 + //line php7/php7.y:494 { + fmt.Println("42") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 120: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:494 + //line php7/php7.y:495 { + fmt.Println("43") yyVAL.list = []node.Node{yyDollar[1].node} } case 121: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:498 + //line php7/php7.y:499 { + fmt.Println("44") yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 122: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:499 + //line php7/php7.y:500 { + fmt.Println("45") yyVAL.list = []node.Node{} } case 123: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:503 + //line php7/php7.y:504 { + fmt.Println("46") yyVAL.node = yyDollar[1].node } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:504 + //line php7/php7.y:505 { + fmt.Println("47") yyVAL.node = yyDollar[1].node } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:505 + //line php7/php7.y:506 { + fmt.Println("48") yyVAL.node = yyDollar[1].node } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:506 + //line php7/php7.y:507 { + fmt.Println("49") yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:507 + //line php7/php7.y:508 { + fmt.Println("50") yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:509 + //line php7/php7.y:510 { + fmt.Println("51") yyVAL.node = stmt.NewHaltCompiler() positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 129: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:517 + //line php7/php7.y:518 { + fmt.Println("52") yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 130: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:522 + //line php7/php7.y:523 { + fmt.Println("53") yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:523 + //line php7/php7.y:524 { + fmt.Println("54") yyVAL.node = yyDollar[1].node } case 132: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:525 + //line php7/php7.y:526 { + fmt.Println("55") yyVAL.node = stmt.NewWhile(yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 133: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:531 + //line php7/php7.y:532 { + fmt.Println("56") yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 134: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:537 + //line php7/php7.y:538 { + fmt.Println("57") yyVAL.node = stmt.NewFor(yyDollar[3].list, yyDollar[5].list, yyDollar[7].list, yyDollar[9].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 135: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:543 + //line php7/php7.y:544 { + fmt.Println("58") yyVAL.node = stmt.NewSwitch(yyDollar[3].node, yyDollar[5].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 136: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:549 + //line php7/php7.y:550 { + fmt.Println("59") yyVAL.node = stmt.NewBreak(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 137: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:555 + //line php7/php7.y:556 { + fmt.Println("60") yyVAL.node = stmt.NewContinue(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:561 + //line php7/php7.y:562 { + fmt.Println("61") yyVAL.node = stmt.NewReturn(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:567 + //line php7/php7.y:568 { + fmt.Println("62") yyVAL.node = stmt.NewGlobal(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:573 + //line php7/php7.y:574 { + fmt.Println("63") yyVAL.node = stmt.NewStatic(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:579 + //line php7/php7.y:580 { + fmt.Println("64") yyVAL.node = stmt.NewEcho(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 142: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:585 + //line php7/php7.y:586 { + fmt.Println("65") yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 143: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:591 + //line php7/php7.y:592 { + fmt.Println("66") yyVAL.node = stmt.NewExpression(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 144: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:597 + //line php7/php7.y:598 { + fmt.Println("67") yyVAL.node = stmt.NewUnset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 145: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:603 + //line php7/php7.y:604 { + fmt.Println("68") yyVAL.node = stmt.NewForeach(yyDollar[3].node, nil, yyDollar[5].foreachVariable.node, yyDollar[7].node, yyDollar[5].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[7].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 146: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:609 + //line php7/php7.y:610 { + fmt.Println("69") yyVAL.node = stmt.NewForeach(yyDollar[3].node, yyDollar[5].node, yyDollar[7].foreachVariable.node, yyDollar[9].node, yyDollar[7].foreachVariable.byRef) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[9].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 147: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:615 + //line php7/php7.y:616 { + fmt.Println("70") yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:621 + //line php7/php7.y:622 { + fmt.Println("71") yyVAL.node = stmt.NewNop() positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 149: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:627 + //line php7/php7.y:628 { if yyDollar[6].node == nil { + fmt.Println("72") yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[5].list)) } else { + fmt.Println("73") yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) } @@ -3028,18 +3102,20 @@ yydefault: } case 150: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:639 + //line php7/php7.y:640 { + fmt.Println("74") yyVAL.node = stmt.NewThrow(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 151: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:645 + //line php7/php7.y:646 { label := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("75") yyVAL.node = stmt.NewGoto(label) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3048,10 +3124,11 @@ yydefault: } case 152: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:655 + //line php7/php7.y:656 { label := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("76") yyVAL.node = stmt.NewLabel(label) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -3060,13 +3137,14 @@ yydefault: } case 153: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:666 + //line php7/php7.y:667 { + fmt.Println("77") yyVAL.list = []node.Node{} } case 154: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:668 + //line php7/php7.y:669 { identifier := node.NewIdentifier(yyDollar[5].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[5].token)) @@ -3074,6 +3152,7 @@ yydefault: positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[5].token)) catch := stmt.NewCatch(yyDollar[4].list, variable, yyDollar[8].list) positions.AddPosition(catch, positionBuilder.NewTokensPosition(yyDollar[2].token, yyDollar[9].token)) + fmt.Println("78") yyVAL.list = append(yyDollar[1].list, catch) comments.AddComments(identifier, yyDollar[5].token.Comments()) @@ -3082,54 +3161,62 @@ yydefault: } case 155: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:683 + //line php7/php7.y:684 { + fmt.Println("79") yyVAL.list = []node.Node{yyDollar[1].node} } case 156: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:684 + //line php7/php7.y:685 { + fmt.Println("80") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 157: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:688 + //line php7/php7.y:689 { + fmt.Println("81") yyVAL.node = nil } case 158: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:690 + //line php7/php7.y:691 { + fmt.Println("82") yyVAL.node = stmt.NewFinally(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 159: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:698 + //line php7/php7.y:699 { + fmt.Println("83") yyVAL.list = []node.Node{yyDollar[1].node} } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:699 + //line php7/php7.y:700 { + fmt.Println("84") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:703 + //line php7/php7.y:704 { + fmt.Println("85") yyVAL.node = yyDollar[1].node } case 162: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:708 + //line php7/php7.y:709 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("86") yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) @@ -3138,34 +3225,39 @@ yydefault: } case 163: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:720 + //line php7/php7.y:721 { + fmt.Println("87") yyVAL.boolWithToken = boolWithToken{false, nil} } case 164: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:721 + //line php7/php7.y:722 { + fmt.Println("88") yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 165: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:725 + //line php7/php7.y:726 { + fmt.Println("89") yyVAL.boolWithToken = boolWithToken{false, nil} } case 166: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:726 + //line php7/php7.y:727 { + fmt.Println("90") yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 167: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:731 + //line php7/php7.y:732 { name := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("91") yyVAL.node = stmt.NewClass(name, yyDollar[1].list, nil, yyDollar[4].node, yyDollar[5].list, yyDollar[8].list, yyDollar[6].str) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[9].token)) @@ -3174,10 +3266,11 @@ yydefault: } case 168: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:741 + //line php7/php7.y:742 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("92") yyVAL.node = stmt.NewClass(name, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) @@ -3186,38 +3279,43 @@ yydefault: } case 169: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:753 + //line php7/php7.y:754 { + fmt.Println("93") yyVAL.list = []node.Node{yyDollar[1].node} } case 170: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:754 + //line php7/php7.y:755 { + fmt.Println("94") yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 171: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:759 + //line php7/php7.y:760 { + fmt.Println("95") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 172: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:765 + //line php7/php7.y:766 { + fmt.Println("96") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 173: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:774 + //line php7/php7.y:775 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("97") yyVAL.node = stmt.NewTrait(name, yyDollar[5].list, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) @@ -3226,10 +3324,11 @@ yydefault: } case 174: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:787 + //line php7/php7.y:788 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("98") yyVAL.node = stmt.NewInterface(name, yyDollar[3].list, yyDollar[6].list, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[7].token)) @@ -3238,188 +3337,215 @@ yydefault: } case 175: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:799 + //line php7/php7.y:800 { + fmt.Println("99") yyVAL.node = nil } case 176: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:800 + //line php7/php7.y:801 { + fmt.Println("100") yyVAL.node = yyDollar[2].node } case 177: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:804 + //line php7/php7.y:805 { + fmt.Println("101") yyVAL.list = nil } case 178: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:805 + //line php7/php7.y:806 { + fmt.Println("102") yyVAL.list = yyDollar[2].list } case 179: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:809 + //line php7/php7.y:810 { + fmt.Println("103") yyVAL.list = nil } case 180: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:810 + //line php7/php7.y:811 { + fmt.Println("104") yyVAL.list = yyDollar[2].list } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:814 + //line php7/php7.y:815 { + fmt.Println("105") yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 182: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:815 + //line php7/php7.y:816 { + fmt.Println("106") yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 183: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:817 + //line php7/php7.y:818 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + fmt.Println("107") yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } case 184: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:824 + //line php7/php7.y:825 { list := expr.NewShortList(yyDollar[2].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + fmt.Println("108") yyVAL.foreachVariable = foreachVariable{list, false} comments.AddComments(list, yyDollar[1].token.Comments()) } case 185: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:833 + //line php7/php7.y:834 { + fmt.Println("109") yyVAL.node = yyDollar[1].node } case 186: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:835 + //line php7/php7.y:836 { + fmt.Println("110") yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:843 + //line php7/php7.y:844 { + fmt.Println("111") yyVAL.node = yyDollar[1].node } case 188: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:845 + //line php7/php7.y:846 { + fmt.Println("112") yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:853 + //line php7/php7.y:854 { + fmt.Println("113") yyVAL.node = yyDollar[1].node } case 190: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:855 + //line php7/php7.y:856 { + fmt.Println("114") yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:863 + //line php7/php7.y:864 { + fmt.Println("115") yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:864 + //line php7/php7.y:865 { + fmt.Println("116") yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[4].token} } case 193: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:865 + //line php7/php7.y:866 { + fmt.Println("117") yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 194: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:866 + //line php7/php7.y:867 { + fmt.Println("118") yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[3].list, yyDollar[5].token} } case 195: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:870 + //line php7/php7.y:871 { + fmt.Println("119") yyVAL.list = []node.Node{} } case 196: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:872 + //line php7/php7.y:873 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) + fmt.Println("120") yyVAL.list = append(yyDollar[1].list, _case) comments.AddComments(_case, yyDollar[2].token.Comments()) } case 197: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:879 + //line php7/php7.y:880 { _default := stmt.NewDefault(yyDollar[4].list) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) + fmt.Println("121") yyVAL.list = append(yyDollar[1].list, _default) comments.AddComments(_default, yyDollar[2].token.Comments()) } case 200: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:893 + //line php7/php7.y:894 { + fmt.Println("122") yyVAL.node = yyDollar[1].node } case 201: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:895 + //line php7/php7.y:896 { + fmt.Println("123") yyVAL.node = stmt.NewStmtList(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 202: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:904 + //line php7/php7.y:905 { + fmt.Println("124") yyVAL.node = stmt.NewIf(yyDollar[3].node, yyDollar[5].node, nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 203: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:910 + //line php7/php7.y:911 { _elseIf := stmt.NewElseIf(yyDollar[4].node, yyDollar[6].node) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) + fmt.Println("125") yyVAL.node = yyDollar[1].node.(*stmt.If).AddElseIf(_elseIf) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) @@ -3427,16 +3553,18 @@ yydefault: } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:921 + //line php7/php7.y:922 { + fmt.Println("126") yyVAL.node = yyDollar[1].node } case 205: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:923 + //line php7/php7.y:924 { _else := stmt.NewElse(yyDollar[3].node) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[3].node)) + fmt.Println("127") yyVAL.node = yyDollar[1].node.(*stmt.If).SetElse(_else) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -3444,10 +3572,11 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:935 + //line php7/php7.y:936 { stmts := stmt.NewStmtList(yyDollar[6].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[6].list)) + fmt.Println("128") yyVAL.node = stmt.NewAltIf(yyDollar[3].node, stmts, nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[6].list)) @@ -3456,12 +3585,13 @@ yydefault: } case 207: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:945 + //line php7/php7.y:946 { stmts := stmt.NewStmtList(yyDollar[7].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[7].list)) _elseIf := stmt.NewAltElseIf(yyDollar[4].node, stmts) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[7].list)) + fmt.Println("129") yyVAL.node = yyDollar[1].node.(*stmt.AltIf).AddElseIf(_elseIf) comments.AddComments(stmts, yyDollar[6].token.Comments()) @@ -3469,19 +3599,21 @@ yydefault: } case 208: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:959 + //line php7/php7.y:960 { + fmt.Println("130") yyVAL.node = yyDollar[1].node positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) } case 209: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:964 + //line php7/php7.y:965 { stmts := stmt.NewStmtList(yyDollar[4].list) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition(yyDollar[4].list)) _else := stmt.NewAltElse(stmts) positions.AddPosition(_else, positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) + fmt.Println("131") yyVAL.node = yyDollar[1].node.(*stmt.AltIf).SetElse(_else) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token)) @@ -3490,31 +3622,35 @@ yydefault: } case 210: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:978 + //line php7/php7.y:979 { + fmt.Println("132") yyVAL.list = yyDollar[1].list } case 211: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:979 + //line php7/php7.y:980 { + fmt.Println("133") yyVAL.list = nil } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:983 + //line php7/php7.y:984 { + fmt.Println("134") yyVAL.list = []node.Node{yyDollar[1].node} } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:984 + //line php7/php7.y:985 { + fmt.Println("135") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 214: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:989 + //line php7/php7.y:990 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3525,18 +3661,22 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) if yyDollar[1].node != nil { + fmt.Println("136") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } else if yyDollar[2].boolWithToken.value == true { + fmt.Println("137") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[2].boolWithToken.token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) } else if yyDollar[3].boolWithToken.value == true { + fmt.Println("138") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(*yyDollar[3].boolWithToken.token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) } else { + fmt.Println("139") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) @@ -3544,7 +3684,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1017 + //line php7/php7.y:1018 { identifier := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3555,18 +3695,22 @@ yydefault: comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) if yyDollar[1].node != nil { + fmt.Println("140") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } else if yyDollar[2].boolWithToken.value == true { + fmt.Println("141") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[2].boolWithToken.token, yyDollar[6].node)) comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) } else if yyDollar[3].boolWithToken.value == true { + fmt.Println("142") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(*yyDollar[3].boolWithToken.token, yyDollar[6].node)) comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) } else { + fmt.Println("143") yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node)) comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) @@ -3574,142 +3718,163 @@ yydefault: } case 216: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1047 + //line php7/php7.y:1048 { + fmt.Println("144") yyVAL.node = nil } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1048 + //line php7/php7.y:1049 { + fmt.Println("145") yyVAL.node = yyDollar[1].node } case 218: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1052 + //line php7/php7.y:1053 { + fmt.Println("146") yyVAL.node = yyDollar[1].node } case 219: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1054 + //line php7/php7.y:1055 { + fmt.Println("147") yyVAL.node = node.NewNullable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 220: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1063 + //line php7/php7.y:1064 { + fmt.Println("148") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1069 + //line php7/php7.y:1070 { + fmt.Println("149") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 222: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1074 + //line php7/php7.y:1075 { + fmt.Println("150") yyVAL.node = yyDollar[1].node } case 223: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1078 + //line php7/php7.y:1079 { + fmt.Println("151") yyVAL.node = nil } case 224: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1079 + //line php7/php7.y:1080 { + fmt.Println("152") yyVAL.node = yyDollar[2].node } case 225: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1083 + //line php7/php7.y:1084 { + fmt.Println("153") yyVAL.nodesWithEndToken = &nodesWithEndToken{[]node.Node{}, yyDollar[2].token} } case 226: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1084 + //line php7/php7.y:1085 { + fmt.Println("154") yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[4].token} } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1088 + //line php7/php7.y:1089 { + fmt.Println("155") yyVAL.list = []node.Node{yyDollar[1].node} } case 228: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1089 + //line php7/php7.y:1090 { + fmt.Println("156") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 229: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1094 + //line php7/php7.y:1095 { + fmt.Println("157") yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 230: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1100 + //line php7/php7.y:1101 { + fmt.Println("158") yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1108 + //line php7/php7.y:1109 { + fmt.Println("159") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 232: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1109 + //line php7/php7.y:1110 { + fmt.Println("160") yyVAL.list = []node.Node{yyDollar[1].node} } case 233: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1113 + //line php7/php7.y:1114 { + fmt.Println("161") yyVAL.node = yyDollar[1].node } case 234: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1117 + //line php7/php7.y:1118 { + fmt.Println("162") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 235: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1118 + //line php7/php7.y:1119 { + fmt.Println("163") yyVAL.list = []node.Node{yyDollar[1].node} } case 236: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1123 + //line php7/php7.y:1124 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("164") yyVAL.node = stmt.NewStaticVar(variable, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3719,12 +3884,13 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1136 + //line php7/php7.y:1137 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("165") yyVAL.node = stmt.NewStaticVar(variable, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -3734,46 +3900,52 @@ yydefault: } case 238: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1151 + //line php7/php7.y:1152 { + fmt.Println("166") yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 239: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1152 + //line php7/php7.y:1153 { + fmt.Println("167") yyVAL.list = []node.Node{} } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1157 + //line php7/php7.y:1158 { + fmt.Println("168") yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 241: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1163 + //line php7/php7.y:1164 { + fmt.Println("169") yyVAL.node = stmt.NewClassConstList(yyDollar[1].list, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, ListGetFirstNodeComments(yyDollar[1].list)) } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1169 + //line php7/php7.y:1170 { + fmt.Println("170") yyVAL.node = stmt.NewTraitUse(yyDollar[2].list, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 243: yyDollar = yyS[yypt-10 : yypt+1] - //line php7/php7.y:1175 + //line php7/php7.y:1176 { name := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[4].token)) + fmt.Println("171") yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[7].list, yyDollar[9].node, yyDollar[10].nodesWithEndToken.nodes, yyDollar[5].str) positions.AddPosition(yyVAL.node, positionBuilder.NewOptionalListTokensPosition(yyDollar[1].list, yyDollar[2].token, yyDollar[10].nodesWithEndToken.endToken)) @@ -3782,72 +3954,83 @@ yydefault: } case 244: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1187 + //line php7/php7.y:1188 { + fmt.Println("172") yyVAL.list = []node.Node{yyDollar[1].node} } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1188 + //line php7/php7.y:1189 { + fmt.Println("173") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 246: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1192 + //line php7/php7.y:1193 { + fmt.Println("174") yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 247: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1193 + //line php7/php7.y:1194 { + fmt.Println("175") yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[2].token} } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1194 + //line php7/php7.y:1195 { + fmt.Println("176") yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 249: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1198 + //line php7/php7.y:1199 { + fmt.Println("177") yyVAL.list = []node.Node{yyDollar[1].node} } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1199 + //line php7/php7.y:1200 { + fmt.Println("178") yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1203 + //line php7/php7.y:1204 { + fmt.Println("179") yyVAL.node = yyDollar[1].node } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1204 + //line php7/php7.y:1205 { + fmt.Println("180") yyVAL.node = yyDollar[1].node } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1209 + //line php7/php7.y:1210 { + fmt.Println("181") yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1218 + //line php7/php7.y:1219 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("182") yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) @@ -3856,10 +4039,11 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1228 + //line php7/php7.y:1229 { alias := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("183") yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, nil, alias) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) @@ -3868,10 +4052,11 @@ yydefault: } case 256: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1238 + //line php7/php7.y:1239 { alias := node.NewIdentifier(yyDollar[4].token.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition(yyDollar[4].token)) + fmt.Println("184") yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, alias) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -3880,18 +4065,20 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1248 + //line php7/php7.y:1249 { + fmt.Println("185") yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 258: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1257 + //line php7/php7.y:1258 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("186") yyVAL.node = stmt.NewTraitMethodRef(nil, name) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3900,16 +4087,18 @@ yydefault: } case 259: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1266 + //line php7/php7.y:1267 { + fmt.Println("187") yyVAL.node = yyDollar[1].node } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1271 + //line php7/php7.y:1272 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("188") yyVAL.node = stmt.NewTraitMethodRef(yyDollar[1].node, target) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) @@ -3918,123 +4107,140 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1283 + //line php7/php7.y:1284 { + fmt.Println("189") yyVAL.nodesWithEndToken = &nodesWithEndToken{nil, yyDollar[1].token} } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1284 + //line php7/php7.y:1285 { + fmt.Println("190") yyVAL.nodesWithEndToken = &nodesWithEndToken{yyDollar[2].list, yyDollar[3].token} } case 263: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1288 + //line php7/php7.y:1289 { + fmt.Println("191") yyVAL.list = yyDollar[1].list } case 264: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1290 + //line php7/php7.y:1291 { modifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("192") yyVAL.list = []node.Node{modifier} comments.AddComments(modifier, yyDollar[1].token.Comments()) } case 265: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1299 + //line php7/php7.y:1300 { + fmt.Println("193") yyVAL.list = nil } case 266: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1300 + //line php7/php7.y:1301 { + fmt.Println("194") yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1304 + //line php7/php7.y:1305 { + fmt.Println("195") yyVAL.list = []node.Node{yyDollar[1].node} } case 268: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1305 + //line php7/php7.y:1306 { + fmt.Println("196") yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 269: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1310 + //line php7/php7.y:1311 { + fmt.Println("197") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 270: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1316 + //line php7/php7.y:1317 { + fmt.Println("198") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 271: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1322 + //line php7/php7.y:1323 { + fmt.Println("199") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1328 + //line php7/php7.y:1329 { + fmt.Println("200") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 273: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1334 + //line php7/php7.y:1335 { + fmt.Println("201") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 274: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1340 + //line php7/php7.y:1341 { + fmt.Println("202") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1348 + //line php7/php7.y:1349 { + fmt.Println("203") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 276: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1349 + //line php7/php7.y:1350 { + fmt.Println("204") yyVAL.list = []node.Node{yyDollar[1].node} } case 277: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1354 + //line php7/php7.y:1355 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("205") yyVAL.node = stmt.NewProperty(variable, nil, yyDollar[2].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4044,12 +4250,13 @@ yydefault: } case 278: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1367 + //line php7/php7.y:1368 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("206") yyVAL.node = stmt.NewProperty(variable, yyDollar[3].node, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -4059,22 +4266,25 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1382 + //line php7/php7.y:1383 { + fmt.Println("207") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 280: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1383 + //line php7/php7.y:1384 { + fmt.Println("208") yyVAL.list = []node.Node{yyDollar[1].node} } case 281: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1388 + //line php7/php7.y:1389 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("209") yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -4083,10 +4293,11 @@ yydefault: } case 282: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1401 + //line php7/php7.y:1402 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("210") yyVAL.node = stmt.NewConstant(name, yyDollar[3].node, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[3].node)) @@ -4095,54 +4306,63 @@ yydefault: } case 283: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1413 + //line php7/php7.y:1414 { + fmt.Println("211") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1414 + //line php7/php7.y:1415 { + fmt.Println("212") yyVAL.list = []node.Node{yyDollar[1].node} } case 285: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1418 + //line php7/php7.y:1419 { + fmt.Println("213") yyVAL.node = yyDollar[1].node } case 286: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1422 + //line php7/php7.y:1423 { + fmt.Println("214") yyVAL.list = nil } case 287: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1423 + //line php7/php7.y:1424 { + fmt.Println("215") yyVAL.list = yyDollar[1].list } case 288: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1426 + //line php7/php7.y:1427 { + fmt.Println("216") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 289: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1427 + //line php7/php7.y:1428 { + fmt.Println("217") yyVAL.list = []node.Node{yyDollar[1].node} } case 290: yyDollar = yyS[yypt-8 : yypt+1] - //line php7/php7.y:1432 + //line php7/php7.y:1433 { if yyDollar[2].nodesWithEndToken != nil { + fmt.Println("218") yyVAL.node = stmt.NewClass(nil, nil, yyDollar[2].nodesWithEndToken.nodes, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) } else { + fmt.Println("219") yyVAL.node = stmt.NewClass(nil, nil, nil, yyDollar[3].node, yyDollar[4].list, yyDollar[7].list, yyDollar[5].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[8].token)) } @@ -4151,12 +4371,14 @@ yydefault: } case 291: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1447 + //line php7/php7.y:1448 { if yyDollar[3].nodesWithEndToken != nil { + fmt.Println("220") yyVAL.node = expr.NewNew(yyDollar[2].node, yyDollar[3].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].nodesWithEndToken.endToken)) } else { + fmt.Println("221") yyVAL.node = expr.NewNew(yyDollar[2].node, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) } @@ -4165,16 +4387,18 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1458 + //line php7/php7.y:1459 { + fmt.Println("222") yyVAL.node = expr.NewNew(yyDollar[2].node, nil) } case 293: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1463 + //line php7/php7.y:1464 { list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + fmt.Println("223") yyVAL.node = assign_op.NewAssign(list, yyDollar[6].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[6].node)) @@ -4183,10 +4407,11 @@ yydefault: } case 294: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1473 + //line php7/php7.y:1474 { shortList := expr.NewShortList(yyDollar[2].list) positions.AddPosition(shortList, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) + fmt.Println("224") yyVAL.node = assign_op.NewAssign(shortList, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -4195,576 +4420,649 @@ yydefault: } case 295: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1483 + //line php7/php7.y:1484 { + fmt.Println("225") yyVAL.node = assign_op.NewAssign(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 296: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1489 + //line php7/php7.y:1490 { + fmt.Println("226") yyVAL.node = assign_op.NewAssignRef(yyDollar[1].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1495 + //line php7/php7.y:1496 { + fmt.Println("227") yyVAL.node = expr.NewClone(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 298: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1501 + //line php7/php7.y:1502 { + fmt.Println("228") yyVAL.node = assign_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 299: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1507 + //line php7/php7.y:1508 { + fmt.Println("229") yyVAL.node = assign_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 300: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1513 + //line php7/php7.y:1514 { + fmt.Println("230") yyVAL.node = assign_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1519 + //line php7/php7.y:1520 { + fmt.Println("231") yyVAL.node = assign_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 302: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1525 + //line php7/php7.y:1526 { + fmt.Println("232") yyVAL.node = assign_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 303: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1531 + //line php7/php7.y:1532 { + fmt.Println("233") yyVAL.node = assign_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 304: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1537 + //line php7/php7.y:1538 { + fmt.Println("234") yyVAL.node = assign_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 305: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1543 + //line php7/php7.y:1544 { + fmt.Println("235") yyVAL.node = assign_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 306: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1549 + //line php7/php7.y:1550 { + fmt.Println("236") yyVAL.node = assign_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 307: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1555 + //line php7/php7.y:1556 { + fmt.Println("237") yyVAL.node = assign_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 308: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1561 + //line php7/php7.y:1562 { + fmt.Println("238") yyVAL.node = assign_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 309: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1567 + //line php7/php7.y:1568 { + fmt.Println("239") yyVAL.node = assign_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 310: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1573 + //line php7/php7.y:1574 { + fmt.Println("240") yyVAL.node = expr.NewPostInc(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 311: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1579 + //line php7/php7.y:1580 { + fmt.Println("241") yyVAL.node = expr.NewPreInc(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 312: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1585 + //line php7/php7.y:1586 { + fmt.Println("242") yyVAL.node = expr.NewPostDec(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 313: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1591 + //line php7/php7.y:1592 { + fmt.Println("243") yyVAL.node = expr.NewPreDec(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 314: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1597 + //line php7/php7.y:1598 { + fmt.Println("244") yyVAL.node = binary_op.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1603 + //line php7/php7.y:1604 { + fmt.Println("245") yyVAL.node = binary_op.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 316: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1609 + //line php7/php7.y:1610 { + fmt.Println("246") yyVAL.node = binary_op.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 317: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1615 + //line php7/php7.y:1616 { + fmt.Println("247") yyVAL.node = binary_op.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 318: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1621 + //line php7/php7.y:1622 { + fmt.Println("248") yyVAL.node = binary_op.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1627 + //line php7/php7.y:1628 { + fmt.Println("249") yyVAL.node = binary_op.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 320: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1633 + //line php7/php7.y:1634 { + fmt.Println("250") yyVAL.node = binary_op.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 321: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1639 + //line php7/php7.y:1640 { + fmt.Println("251") yyVAL.node = binary_op.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 322: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1645 + //line php7/php7.y:1646 { + fmt.Println("252") yyVAL.node = binary_op.NewConcat(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 323: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1651 + //line php7/php7.y:1652 { + fmt.Println("253") yyVAL.node = binary_op.NewPlus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 324: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1657 + //line php7/php7.y:1658 { + fmt.Println("254") yyVAL.node = binary_op.NewMinus(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1663 + //line php7/php7.y:1664 { + fmt.Println("255") yyVAL.node = binary_op.NewMul(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 326: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1669 + //line php7/php7.y:1670 { + fmt.Println("256") yyVAL.node = binary_op.NewPow(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 327: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1675 + //line php7/php7.y:1676 { + fmt.Println("257") yyVAL.node = binary_op.NewDiv(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 328: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1681 + //line php7/php7.y:1682 { + fmt.Println("258") yyVAL.node = binary_op.NewMod(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 329: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1687 + //line php7/php7.y:1688 { + fmt.Println("259") yyVAL.node = binary_op.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 330: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1693 + //line php7/php7.y:1694 { + fmt.Println("260") yyVAL.node = binary_op.NewShiftRight(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 331: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1699 + //line php7/php7.y:1700 { + fmt.Println("261") yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 332: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1705 + //line php7/php7.y:1706 { + fmt.Println("262") yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 333: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1711 + //line php7/php7.y:1712 { + fmt.Println("263") yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1717 + //line php7/php7.y:1718 { + fmt.Println("264") yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 335: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1723 + //line php7/php7.y:1724 { + fmt.Println("265") yyVAL.node = binary_op.NewIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1729 + //line php7/php7.y:1730 { + fmt.Println("266") yyVAL.node = binary_op.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 337: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1735 + //line php7/php7.y:1736 { + fmt.Println("267") yyVAL.node = binary_op.NewEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 338: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1741 + //line php7/php7.y:1742 { + fmt.Println("268") yyVAL.node = binary_op.NewNotEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 339: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1747 + //line php7/php7.y:1748 { + fmt.Println("269") yyVAL.node = binary_op.NewSmaller(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 340: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1753 + //line php7/php7.y:1754 { + fmt.Println("270") yyVAL.node = binary_op.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 341: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1759 + //line php7/php7.y:1760 { + fmt.Println("271") yyVAL.node = binary_op.NewGreater(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 342: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1765 + //line php7/php7.y:1766 { + fmt.Println("272") yyVAL.node = binary_op.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 343: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1771 + //line php7/php7.y:1772 { + fmt.Println("273") yyVAL.node = binary_op.NewSpaceship(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 344: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1777 + //line php7/php7.y:1778 { + fmt.Println("274") yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 345: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1782 + //line php7/php7.y:1783 { + fmt.Println("275") yyVAL.node = yyDollar[2].node } case 346: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1783 + //line php7/php7.y:1784 { + fmt.Println("276") yyVAL.node = yyDollar[1].node } case 347: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1785 + //line php7/php7.y:1786 { + fmt.Println("277") yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 348: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1791 + //line php7/php7.y:1792 { + fmt.Println("278") yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 349: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1797 + //line php7/php7.y:1798 { + fmt.Println("279") yyVAL.node = binary_op.NewCoalesce(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1802 + //line php7/php7.y:1803 { + fmt.Println("280") yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1804 + //line php7/php7.y:1805 { + fmt.Println("281") yyVAL.node = cast.NewCastInt(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 352: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1810 + //line php7/php7.y:1811 { + fmt.Println("282") yyVAL.node = cast.NewCastDouble(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 353: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1816 + //line php7/php7.y:1817 { + fmt.Println("283") yyVAL.node = cast.NewCastString(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 354: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1822 + //line php7/php7.y:1823 { + fmt.Println("284") yyVAL.node = cast.NewCastArray(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 355: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1828 + //line php7/php7.y:1829 { + fmt.Println("285") yyVAL.node = cast.NewCastObject(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 356: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1834 + //line php7/php7.y:1835 { + fmt.Println("286") yyVAL.node = cast.NewCastBool(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 357: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1840 + //line php7/php7.y:1841 { + fmt.Println("287") yyVAL.node = cast.NewCastUnset(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 358: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1846 + //line php7/php7.y:1847 { + fmt.Println("288") yyVAL.node = expr.NewExit(yyDollar[2].node, strings.EqualFold(yyDollar[1].token.Value, "die")) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 359: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1852 + //line php7/php7.y:1853 { + fmt.Println("289") yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1857 + //line php7/php7.y:1858 { + fmt.Println("290") yyVAL.node = yyDollar[1].node } case 361: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1859 + //line php7/php7.y:1860 { + fmt.Println("291") yyVAL.node = expr.NewShellExec(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 362: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1865 + //line php7/php7.y:1866 { + fmt.Println("292") yyVAL.node = expr.NewPrint(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 363: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1871 + //line php7/php7.y:1872 { + fmt.Println("293") yyVAL.node = expr.NewYield(nil, nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1877 + //line php7/php7.y:1878 { + fmt.Println("294") yyVAL.node = expr.NewYield(nil, yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 365: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1883 + //line php7/php7.y:1884 { + fmt.Println("295") yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 366: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1889 + //line php7/php7.y:1890 { + fmt.Println("296") yyVAL.node = expr.NewYieldFrom(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 367: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:1895 + //line php7/php7.y:1896 { + fmt.Println("297") yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) @@ -4772,8 +5070,9 @@ yydefault: } case 368: yyDollar = yyS[yypt-12 : yypt+1] - //line php7/php7.y:1902 + //line php7/php7.y:1903 { + fmt.Println("298") yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) @@ -4781,55 +5080,63 @@ yydefault: } case 369: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1911 + //line php7/php7.y:1912 { + fmt.Println("299") yyVAL.str = yylex.(*lexer).PhpDocComment yylex.(*lexer).PhpDocComment = "" } case 370: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1915 + //line php7/php7.y:1916 { + fmt.Println("300") yyVAL.boolWithToken = boolWithToken{false, nil} } case 371: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1916 + //line php7/php7.y:1917 { + fmt.Println("301") yyVAL.boolWithToken = boolWithToken{true, &yyDollar[1].token} } case 372: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1920 + //line php7/php7.y:1921 { + fmt.Println("302") yyVAL.list = []node.Node{} } case 373: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1921 + //line php7/php7.y:1922 { + fmt.Println("303") yyVAL.list = yyDollar[3].list } case 374: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1925 + //line php7/php7.y:1926 { + fmt.Println("304") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1926 + //line php7/php7.y:1927 { + fmt.Println("305") yyVAL.list = []node.Node{yyDollar[1].node} } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1931 + //line php7/php7.y:1932 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("306") yyVAL.node = expr.NewClosureUse(variable, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4839,12 +5146,13 @@ yydefault: } case 377: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1944 + //line php7/php7.y:1945 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("307") yyVAL.node = expr.NewClosureUse(variable, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -4854,266 +5162,302 @@ yydefault: } case 378: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1960 + //line php7/php7.y:1961 { + fmt.Println("308") yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 379: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1966 + //line php7/php7.y:1967 { + fmt.Println("309") yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 380: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1972 + //line php7/php7.y:1973 { + fmt.Println("310") yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 381: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1978 + //line php7/php7.y:1979 { + fmt.Println("311") yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 382: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1987 + //line php7/php7.y:1988 { + fmt.Println("312") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 383: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1992 + //line php7/php7.y:1993 { + fmt.Println("313") yyVAL.node = yyDollar[1].node } case 384: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1996 + //line php7/php7.y:1997 { + fmt.Println("314") yyVAL.node = yyDollar[1].node } case 385: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1997 + //line php7/php7.y:1998 { + fmt.Println("315") yyVAL.node = yyDollar[1].node } case 386: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2001 + //line php7/php7.y:2002 { + fmt.Println("316") yyVAL.node = nil } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2002 + //line php7/php7.y:2003 { + fmt.Println("317") yyVAL.node = yyDollar[2].node } case 388: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2006 + //line php7/php7.y:2007 { + fmt.Println("318") yyVAL.list = []node.Node{} } case 389: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2007 + //line php7/php7.y:2008 { + fmt.Println("319") yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 390: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2008 + //line php7/php7.y:2009 { + fmt.Println("320") yyVAL.list = yyDollar[1].list } case 391: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2012 + //line php7/php7.y:2013 { + fmt.Println("321") yyVAL.nodesWithEndToken = nil } case 392: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2013 + //line php7/php7.y:2014 { + fmt.Println("322") yyVAL.nodesWithEndToken = yyDollar[1].nodesWithEndToken } case 393: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2018 + //line php7/php7.y:2019 { + fmt.Println("323") yyVAL.node = expr.NewArray(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2024 + //line php7/php7.y:2025 { + fmt.Println("324") yyVAL.node = expr.NewShortArray(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 395: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2030 + //line php7/php7.y:2031 { + fmt.Println("325") yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 396: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2039 + //line php7/php7.y:2040 { + fmt.Println("326") yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 397: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2045 + //line php7/php7.y:2046 { + fmt.Println("327") yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 398: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2051 + //line php7/php7.y:2052 { + fmt.Println("328") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 399: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2057 + //line php7/php7.y:2058 { + fmt.Println("329") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 400: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2063 + //line php7/php7.y:2064 { + fmt.Println("330") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 401: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2069 + //line php7/php7.y:2070 { + fmt.Println("331") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 402: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2075 + //line php7/php7.y:2076 { + fmt.Println("332") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 403: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2081 + //line php7/php7.y:2082 { + fmt.Println("333") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 404: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2087 + //line php7/php7.y:2088 { + fmt.Println("334") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 405: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2093 + //line php7/php7.y:2094 { + fmt.Println("335") yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 406: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2099 + //line php7/php7.y:2100 { + fmt.Println("336") yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) /* TODO: mark as Heredoc*/ comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2104 + //line php7/php7.y:2105 { + fmt.Println("337") yyVAL.node = scalar.NewEncapsed(nil) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 408: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2110 + //line php7/php7.y:2111 { + fmt.Println("338") yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2116 + //line php7/php7.y:2117 { + fmt.Println("339") yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2121 + //line php7/php7.y:2122 { + fmt.Println("340") yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2122 + //line php7/php7.y:2123 { + fmt.Println("341") yyVAL.node = yyDollar[1].node } case 412: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2127 + //line php7/php7.y:2128 { + fmt.Println("342") yyVAL.node = expr.NewConstFetch(yyDollar[1].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 413: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2133 + //line php7/php7.y:2134 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("343") yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) @@ -5122,10 +5466,11 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2143 + //line php7/php7.y:2144 { target := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("344") yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token)) @@ -5134,140 +5479,161 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2155 + //line php7/php7.y:2156 { + fmt.Println("345") yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2156 + //line php7/php7.y:2157 { + fmt.Println("346") yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2160 + //line php7/php7.y:2161 { + fmt.Println("347") yyVAL.node = nil } case 418: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2161 + //line php7/php7.y:2162 { + fmt.Println("348") yyVAL.node = yyDollar[1].node } case 419: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2165 + //line php7/php7.y:2166 { + fmt.Println("349") yyVAL.node = yyDollar[1].node } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2169 + //line php7/php7.y:2170 { + fmt.Println("350") yyVAL.node = yyDollar[1].node } case 421: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2170 + //line php7/php7.y:2171 { + fmt.Println("351") yyVAL.node = yyDollar[2].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2171 + //line php7/php7.y:2172 { + fmt.Println("352") yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2175 + //line php7/php7.y:2176 { + fmt.Println("353") yyVAL.node = yyDollar[1].node } case 424: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2176 + //line php7/php7.y:2177 { + fmt.Println("354") yyVAL.node = yyDollar[2].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2177 + //line php7/php7.y:2178 { + fmt.Println("355") yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2181 + //line php7/php7.y:2182 { + fmt.Println("356") yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2183 + //line php7/php7.y:2184 { + fmt.Println("357") yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 428: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2189 + //line php7/php7.y:2190 { + fmt.Println("358") yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 429: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2195 + //line php7/php7.y:2196 { + fmt.Println("359") yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 430: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2201 + //line php7/php7.y:2202 { + fmt.Println("360") yyVAL.node = expr.NewMethodCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].nodesWithEndToken.nodes) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].nodesWithEndToken.endToken)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 431: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2206 + //line php7/php7.y:2207 { + fmt.Println("361") yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2210 + //line php7/php7.y:2211 { + fmt.Println("362") yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2211 + //line php7/php7.y:2212 { + fmt.Println("363") yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2213 + //line php7/php7.y:2214 { + fmt.Println("364") yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2222 + //line php7/php7.y:2223 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("365") yyVAL.node = expr.NewVariable(name) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5276,195 +5642,222 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2232 + //line php7/php7.y:2233 { + fmt.Println("366") yyVAL.node = expr.NewVariable(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 437: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2238 + //line php7/php7.y:2239 { + fmt.Println("367") yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 438: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2247 + //line php7/php7.y:2248 { + fmt.Println("368") yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 439: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2253 + //line php7/php7.y:2254 { + fmt.Println("369") yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 440: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2261 + //line php7/php7.y:2262 { + fmt.Println("370") yyVAL.node = yyDollar[1].node } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2263 + //line php7/php7.y:2264 { + fmt.Println("371") yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2269 + //line php7/php7.y:2270 { + fmt.Println("372") yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 443: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2275 + //line php7/php7.y:2276 { + fmt.Println("373") yyVAL.node = expr.NewPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 444: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2281 + //line php7/php7.y:2282 { + fmt.Println("374") yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 445: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2287 + //line php7/php7.y:2288 { + fmt.Println("375") yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 446: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2296 + //line php7/php7.y:2297 { + fmt.Println("376") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 447: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2301 + //line php7/php7.y:2302 { + fmt.Println("377") yyVAL.node = yyDollar[2].node } case 448: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2302 + //line php7/php7.y:2303 { + fmt.Println("378") yyVAL.node = yyDollar[1].node } case 449: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2307 + //line php7/php7.y:2308 { + fmt.Println("379") yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2312 + //line php7/php7.y:2313 { + fmt.Println("380") yyVAL.node = yyDollar[2].node } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2313 + //line php7/php7.y:2314 { + fmt.Println("381") yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2318 + //line php7/php7.y:2319 { if yyDollar[1].list[len(yyDollar[1].list)-1] == nil { + fmt.Println("382") yyVAL.list = yyDollar[1].list[:len(yyDollar[1].list)-1] } else { + fmt.Println("383") yyVAL.list = yyDollar[1].list } } case 453: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:2328 + //line php7/php7.y:2329 { + fmt.Println("384") yyVAL.node = nil } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2329 + //line php7/php7.y:2330 { + fmt.Println("385") yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2334 + //line php7/php7.y:2335 { + fmt.Println("386") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2335 + //line php7/php7.y:2336 { + fmt.Println("387") yyVAL.list = []node.Node{yyDollar[1].node} } case 457: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2340 + //line php7/php7.y:2341 { + fmt.Println("388") yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 458: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2346 + //line php7/php7.y:2347 { + fmt.Println("389") yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodePosition(yyDollar[1].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 459: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2352 + //line php7/php7.y:2353 { + fmt.Println("390") yyVAL.node = expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) comments.AddComments(yyVAL.node, comments[yyDollar[1].node]) } case 460: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2358 + //line php7/php7.y:2359 { + fmt.Println("391") yyVAL.node = expr.NewArrayItem(nil, yyDollar[2].node, true) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 461: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2364 + //line php7/php7.y:2365 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[5].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[3].token, yyDollar[6].token)) + fmt.Println("392") yyVAL.node = expr.NewArrayItem(yyDollar[1].node, list, false) positions.AddPosition(yyVAL.node, positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token)) @@ -5473,11 +5866,12 @@ yydefault: } case 462: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2375 + //line php7/php7.y:2376 { // TODO: Cannot use list() as standalone expression list := expr.NewList(yyDollar[3].list) positions.AddPosition(list, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) + fmt.Println("393") yyVAL.node = expr.NewArrayItem(nil, list, false) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5486,40 +5880,45 @@ yydefault: } case 463: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2388 + //line php7/php7.y:2389 { + fmt.Println("394") yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 464: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2390 + //line php7/php7.y:2391 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("395") yyVAL.list = append(yyDollar[1].list, encapsed) comments.AddComments(encapsed, yyDollar[2].token.Comments()) } case 465: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2396 + //line php7/php7.y:2397 { + fmt.Println("396") yyVAL.list = []node.Node{yyDollar[1].node} } case 466: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2398 + //line php7/php7.y:2399 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("397") yyVAL.list = []node.Node{encapsed, yyDollar[2].node} comments.AddComments(encapsed, yyDollar[1].token.Comments()) } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2408 + //line php7/php7.y:2409 { name := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("398") yyVAL.node = expr.NewVariable(name) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5528,12 +5927,13 @@ yydefault: } case 468: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2418 + //line php7/php7.y:2419 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("399") yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5543,7 +5943,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2431 + //line php7/php7.y:2432 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5551,6 +5951,7 @@ yydefault: positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[1].token)) fetch := node.NewIdentifier(yyDollar[3].token.Value) positions.AddPosition(fetch, positionBuilder.NewTokenPosition(yyDollar[3].token)) + fmt.Println("400") yyVAL.node = expr.NewPropertyFetch(variable, fetch) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5561,18 +5962,20 @@ yydefault: } case 470: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2447 + //line php7/php7.y:2448 { + fmt.Println("401") yyVAL.node = expr.NewVariable(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 471: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2453 + //line php7/php7.y:2454 { name := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("402") yyVAL.node = expr.NewVariable(name) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5581,12 +5984,13 @@ yydefault: } case 472: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:2463 + //line php7/php7.y:2464 { identifier := node.NewIdentifier(yyDollar[2].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[2].token)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition(yyDollar[2].token)) + fmt.Println("403") yyVAL.node = expr.NewArrayDimFetch(variable, yyDollar[4].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token)) @@ -5596,27 +6000,31 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2476 + //line php7/php7.y:2477 { + fmt.Println("404") yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2480 + //line php7/php7.y:2481 { + fmt.Println("405") yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 475: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2486 + //line php7/php7.y:2487 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { + fmt.Println("406") yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) } else { + fmt.Println("407") yyVAL.node = scalar.NewString(yyDollar[1].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) } @@ -5624,18 +6032,20 @@ yydefault: } case 476: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2498 + //line php7/php7.y:2499 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[2].token.Value); err == nil { lnumber := scalar.NewLnumber(yyDollar[2].token.Value) positions.AddPosition(lnumber, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) + fmt.Println("408") yyVAL.node = expr.NewUnaryMinus(lnumber) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) comments.AddComments(lnumber, yyDollar[1].token.Comments()) } else { yyDollar[2].token.Value = "-" + yyDollar[2].token.Value + fmt.Println("409") yyVAL.node = scalar.NewString(yyDollar[2].token.Value) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) } @@ -5644,10 +6054,11 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2516 + //line php7/php7.y:2517 { identifier := node.NewIdentifier(yyDollar[1].token.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition(yyDollar[1].token)) + fmt.Println("410") yyVAL.node = expr.NewVariable(identifier) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5656,76 +6067,86 @@ yydefault: } case 478: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:2529 + //line php7/php7.y:2530 { + fmt.Println("411") yyVAL.node = expr.NewIsset(yyDollar[3].list) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2535 + //line php7/php7.y:2536 { + fmt.Println("412") yyVAL.node = expr.NewEmpty(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 480: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2541 + //line php7/php7.y:2542 { + fmt.Println("413") yyVAL.node = expr.NewInclude(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 481: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2547 + //line php7/php7.y:2548 { + fmt.Println("414") yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 482: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:2553 + //line php7/php7.y:2554 { + fmt.Println("415") yyVAL.node = expr.NewEval(yyDollar[3].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 483: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2559 + //line php7/php7.y:2560 { + fmt.Println("416") yyVAL.node = expr.NewRequire(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 484: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:2565 + //line php7/php7.y:2566 { + fmt.Println("417") yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) positions.AddPosition(yyVAL.node, positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 485: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2573 + //line php7/php7.y:2574 { + fmt.Println("418") yyVAL.list = []node.Node{yyDollar[1].node} } case 486: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:2574 + //line php7/php7.y:2575 { + fmt.Println("419") yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 487: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:2578 + //line php7/php7.y:2579 { + fmt.Println("420") yyVAL.node = yyDollar[1].node } } diff --git a/php7/php7.y b/php7/php7.y index 807f917..1d9aa98 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -2,6 +2,7 @@ package php7 import ( + "fmt" "strings" "strconv" @@ -273,13 +274,13 @@ semi_reserved: ; identifier: - T_STRING { $$ = $1 } - | semi_reserved { $$ = $1 } + T_STRING { fmt.Println("1"); $$ = $1 } + | semi_reserved { fmt.Println("2"); $$ = $1 } ; top_statement_list: - top_statement_list top_statement { $$ = append($1, $2) } - | /* empty */ { $$ = []node.Node{} } + top_statement_list top_statement { fmt.Println("3"); $$ = append($1, $2) } + | /* empty */ { fmt.Println("4"); $$ = []node.Node{} } ; namespace_name: @@ -287,14 +288,14 @@ namespace_name: { namePart := name.NewNamePart($1.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition($1)) - $$ = []node.Node{namePart} + fmt.Println("5"); $$ = []node.Node{namePart} comments.AddComments(namePart, $1.Comments()) } | namespace_name T_NS_SEPARATOR T_STRING { namePart := name.NewNamePart($3.Value) positions.AddPosition(namePart, positionBuilder.NewTokenPosition($3)) - $$ = append($1, namePart) + fmt.Println("6"); $$ = append($1, namePart) comments.AddComments(namePart, $3.Comments()) } ; @@ -302,36 +303,36 @@ namespace_name: name: namespace_name { - $$ = name.NewName($1) + fmt.Println("7"); $$ = name.NewName($1) positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) comments.AddComments($$, ListGetFirstNodeComments($1)) } | T_NAMESPACE T_NS_SEPARATOR namespace_name { - $$ = name.NewRelative($3) + fmt.Println("8"); $$ = name.NewRelative($3) positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_NS_SEPARATOR namespace_name { - $$ = name.NewFullyQualified($2) + fmt.Println("9"); $$ = name.NewFullyQualified($2) positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $2)) comments.AddComments($$, $1.Comments()) } ; top_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | trait_declaration_statement { $$ = $1; } - | interface_declaration_statement { $$ = $1; } - | T_HALT_COMPILER '(' ')' ';' { $$ = stmt.NewHaltCompiler() } + statement { fmt.Println("10"); $$ = $1; } + | function_declaration_statement { fmt.Println("11"); $$ = $1; } + | class_declaration_statement { fmt.Println("12"); $$ = $1; } + | trait_declaration_statement { fmt.Println("13"); $$ = $1; } + | interface_declaration_statement { fmt.Println("14"); $$ = $1; } + | T_HALT_COMPILER '(' ')' ';' { fmt.Println("15"); $$ = stmt.NewHaltCompiler() } | T_NAMESPACE namespace_name ';' { name := name.NewName($2) positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewNamespace(name, nil) + fmt.Println("16"); $$ = stmt.NewNamespace(name, nil) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments(name, ListGetFirstNodeComments($2)) @@ -341,7 +342,7 @@ top_statement: { name := name.NewName($2) positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewNamespace(name, $4) + fmt.Println("17"); $$ = stmt.NewNamespace(name, $4) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) comments.AddComments(name, ListGetFirstNodeComments($2)) @@ -349,22 +350,22 @@ top_statement: } | T_NAMESPACE '{' top_statement_list '}' { - $$ = stmt.NewNamespace(nil, $3) + fmt.Println("18"); $$ = stmt.NewNamespace(nil, $3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } - | T_USE mixed_group_use_declaration ';' { $$ = $2 } - | T_USE use_type group_use_declaration ';' { $$ = $3.(*stmt.GroupUse).SetUseType($2) } + | T_USE mixed_group_use_declaration ';' { fmt.Println("19"); $$ = $2 } + | T_USE use_type group_use_declaration ';' { fmt.Println("20"); $$ = $3.(*stmt.GroupUse).SetUseType($2) } | T_USE use_declarations ';' { - $$ = stmt.NewUseList(nil, $2) + fmt.Println("21"); $$ = stmt.NewUseList(nil, $2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } - | T_USE use_type use_declarations ';' { $$ = stmt.NewUseList($2, $3) } + | T_USE use_type use_declarations ';' { fmt.Println("22"); $$ = stmt.NewUseList($2, $3) } | T_CONST const_list ';' { - $$ = stmt.NewConstList($2) + fmt.Println("23"); $$ = stmt.NewConstList($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } @@ -373,13 +374,13 @@ top_statement: use_type: T_FUNCTION { - $$ = node.NewIdentifier($1.Value) + fmt.Println("24"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_CONST { - $$ = node.NewIdentifier($1.Value) + fmt.Println("25"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } @@ -390,7 +391,7 @@ group_use_declaration: { name := name.NewName($1) positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) - $$ = stmt.NewGroupUse(nil, name, $4) + fmt.Println("26"); $$ = stmt.NewGroupUse(nil, name, $4) positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $6)) comments.AddComments(name, ListGetFirstNodeComments($1)) @@ -400,7 +401,7 @@ group_use_declaration: { name := name.NewName($2) positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewGroupUse(nil, name, $5) + fmt.Println("27"); $$ = stmt.NewGroupUse(nil, name, $5) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) comments.AddComments(name, ListGetFirstNodeComments($2)) @@ -413,7 +414,7 @@ mixed_group_use_declaration: { name := name.NewName($1) positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) - $$ = stmt.NewGroupUse(nil, name, $4) + fmt.Println("28"); $$ = stmt.NewGroupUse(nil, name, $4) positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $6)) comments.AddComments(name, ListGetFirstNodeComments($1)) @@ -423,7 +424,7 @@ mixed_group_use_declaration: { name := name.NewName($2) positions.AddPosition(name, positionBuilder.NewNodeListPosition($2)) - $$ = stmt.NewGroupUse(nil, name, $5) + fmt.Println("29"); $$ = stmt.NewGroupUse(nil, name, $5) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) comments.AddComments(name, ListGetFirstNodeComments($2)) @@ -438,24 +439,24 @@ possible_comma: inline_use_declarations: inline_use_declarations ',' inline_use_declaration - { $$ = append($1, $3) } - | inline_use_declaration { $$ = []node.Node{$1} } + { fmt.Println("30"); $$ = append($1, $3) } + | inline_use_declaration { fmt.Println("31"); $$ = []node.Node{$1} } ; unprefixed_use_declarations: unprefixed_use_declarations ',' unprefixed_use_declaration - { $$ = append($1, $3) } - | unprefixed_use_declaration { $$ = []node.Node{$1} } + { fmt.Println("32"); $$ = append($1, $3) } + | unprefixed_use_declaration { fmt.Println("33"); $$ = []node.Node{$1} } ; use_declarations: - use_declarations ',' use_declaration { $$ = append($1, $3) } - | use_declaration { $$ = []node.Node{$1} } + use_declarations ',' use_declaration { fmt.Println("34"); $$ = append($1, $3) } + | use_declaration { fmt.Println("35"); $$ = []node.Node{$1} } ; inline_use_declaration: - unprefixed_use_declaration { $$ = $1; } - | use_type unprefixed_use_declaration { $$ = $2.(*stmt.Use).SetUseType($1) } + unprefixed_use_declaration { fmt.Println("36"); $$ = $1; } + | use_type unprefixed_use_declaration { fmt.Println("37"); $$ = $2.(*stmt.Use).SetUseType($1) } ; unprefixed_use_declaration: @@ -463,7 +464,7 @@ unprefixed_use_declaration: { name := name.NewName($1) positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) - $$ = stmt.NewUse(nil, name, nil) + fmt.Println("38"); $$ = stmt.NewUse(nil, name, nil) positions.AddPosition($$, positionBuilder.NewNodeListPosition($1)) comments.AddComments(name, ListGetFirstNodeComments($1)) @@ -475,7 +476,7 @@ unprefixed_use_declaration: positions.AddPosition(name, positionBuilder.NewNodeListPosition($1)) alias := node.NewIdentifier($3.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewUse(nil, name, alias) + fmt.Println("39"); $$ = stmt.NewUse(nil, name, alias) positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) comments.AddComments(name, ListGetFirstNodeComments($1)) @@ -485,29 +486,29 @@ unprefixed_use_declaration: ; use_declaration: - unprefixed_use_declaration { $$ = $1; } - | T_NS_SEPARATOR unprefixed_use_declaration { $$ = $2; } + unprefixed_use_declaration { fmt.Println("40"); $$ = $1; } + | T_NS_SEPARATOR unprefixed_use_declaration { fmt.Println("41"); $$ = $2; } ; const_list: - const_list ',' const_decl { $$ = append($1, $3) } - | const_decl { $$ = []node.Node{$1} } + const_list ',' const_decl { fmt.Println("42"); $$ = append($1, $3) } + | const_decl { fmt.Println("43"); $$ = []node.Node{$1} } ; inner_statement_list: - inner_statement_list inner_statement { $$ = append($1, $2) } - | /* empty */ { $$ = []node.Node{} } + inner_statement_list inner_statement { fmt.Println("44"); $$ = append($1, $2) } + | /* empty */ { fmt.Println("45"); $$ = []node.Node{} } ; inner_statement: - statement { $$ = $1; } - | function_declaration_statement { $$ = $1; } - | class_declaration_statement { $$ = $1; } - | trait_declaration_statement { $$ = $1; } - | interface_declaration_statement { $$ = $1; } + statement { fmt.Println("46"); $$ = $1; } + | function_declaration_statement { fmt.Println("47"); $$ = $1; } + | class_declaration_statement { fmt.Println("48"); $$ = $1; } + | trait_declaration_statement { fmt.Println("49"); $$ = $1; } + | interface_declaration_statement { fmt.Println("50"); $$ = $1; } | T_HALT_COMPILER '(' ')' ';' { - $$ = stmt.NewHaltCompiler() + fmt.Println("51"); $$ = stmt.NewHaltCompiler() positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } @@ -515,121 +516,121 @@ inner_statement: statement: '{' inner_statement_list '}' { - $$ = stmt.NewStmtList($2) + fmt.Println("52"); $$ = stmt.NewStmtList($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } - | if_stmt { $$ = $1; } - | alt_if_stmt { $$ = $1; } + | if_stmt { fmt.Println("53"); $$ = $1; } + | alt_if_stmt { fmt.Println("54"); $$ = $1; } | T_WHILE '(' expr ')' while_statement { - $$ = stmt.NewWhile($3, $5) + fmt.Println("55"); $$ = stmt.NewWhile($3, $5) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) comments.AddComments($$, $1.Comments()) } | T_DO statement T_WHILE '(' expr ')' ';' { - $$ = stmt.NewDo($2, $5) + fmt.Println("56"); $$ = stmt.NewDo($2, $5) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) comments.AddComments($$, $1.Comments()) } | T_FOR '(' for_exprs ';' for_exprs ';' for_exprs ')' for_statement { - $$ = stmt.NewFor($3, $5, $7, $9) + fmt.Println("57"); $$ = stmt.NewFor($3, $5, $7, $9) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) comments.AddComments($$, $1.Comments()) } | T_SWITCH '(' expr ')' switch_case_list { - $$ = stmt.NewSwitch($3, $5.nodes) + fmt.Println("58"); $$ = stmt.NewSwitch($3, $5.nodes) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5.endToken)) comments.AddComments($$, $1.Comments()) } | T_BREAK optional_expr ';' { - $$ = stmt.NewBreak($2) + fmt.Println("59"); $$ = stmt.NewBreak($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_CONTINUE optional_expr ';' { - $$ = stmt.NewContinue($2) + fmt.Println("60"); $$ = stmt.NewContinue($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_RETURN optional_expr ';' { - $$ = stmt.NewReturn($2) + fmt.Println("61"); $$ = stmt.NewReturn($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_GLOBAL global_var_list ';' { - $$ = stmt.NewGlobal($2) + fmt.Println("62"); $$ = stmt.NewGlobal($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_STATIC static_var_list ';' { - $$ = stmt.NewStatic($2) + fmt.Println("63"); $$ = stmt.NewStatic($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_ECHO echo_expr_list ';' { - $$ = stmt.NewEcho($2) + fmt.Println("64"); $$ = stmt.NewEcho($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_INLINE_HTML { - $$ = stmt.NewInlineHtml($1.Value) + fmt.Println("65"); $$ = stmt.NewInlineHtml($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | expr ';' { - $$ = stmt.NewExpression($1) + fmt.Println("66"); $$ = stmt.NewExpression($1) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) comments.AddComments($$, comments[$1]) } | T_UNSET '(' unset_variables possible_comma ')' ';' { - $$ = stmt.NewUnset($3) + fmt.Println("67"); $$ = stmt.NewUnset($3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) comments.AddComments($$, $1.Comments()) } | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement { - $$ = stmt.NewForeach($3, nil, $5.node, $7, $5.byRef) + fmt.Println("68"); $$ = stmt.NewForeach($3, nil, $5.node, $7, $5.byRef) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $7)) comments.AddComments($$, $1.Comments()) } | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement { - $$ = stmt.NewForeach($3, $5, $7.node, $9, $7.byRef) + fmt.Println("69"); $$ = stmt.NewForeach($3, $5, $7.node, $9, $7.byRef) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $9)) comments.AddComments($$, $1.Comments()) } | T_DECLARE '(' const_list ')' declare_statement { - $$ = stmt.NewDeclare($3, $5) + fmt.Println("70"); $$ = stmt.NewDeclare($3, $5) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) comments.AddComments($$, $1.Comments()) } | ';' { - $$ = stmt.NewNop() + fmt.Println("71"); $$ = stmt.NewNop() positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_TRY '{' inner_statement_list '}' catch_list finally_statement { if $6 == nil { - $$ = stmt.NewTry($3, $5, $6) + fmt.Println("72"); $$ = stmt.NewTry($3, $5, $6) positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $5)) } else { - $$ = stmt.NewTry($3, $5, $6) + fmt.Println("73"); $$ = stmt.NewTry($3, $5, $6) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) } @@ -637,7 +638,7 @@ statement: } | T_THROW expr ';' { - $$ = stmt.NewThrow($2) + fmt.Println("74"); $$ = stmt.NewThrow($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } @@ -645,7 +646,7 @@ statement: { label := node.NewIdentifier($2.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewGoto(label) + fmt.Println("75"); $$ = stmt.NewGoto(label) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments(label, $2.Comments()) @@ -655,7 +656,7 @@ statement: { label := node.NewIdentifier($1.Value) positions.AddPosition(label, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewLabel(label) + fmt.Println("76"); $$ = stmt.NewLabel(label) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) comments.AddComments(label, $1.Comments()) @@ -663,7 +664,7 @@ statement: } catch_list: - /* empty */ { $$ = []node.Node{} } + /* empty */ { fmt.Println("77"); $$ = []node.Node{} } | catch_list T_CATCH '(' catch_name_list T_VARIABLE ')' '{' inner_statement_list '}' { identifier := node.NewIdentifier($5.Value) @@ -672,7 +673,7 @@ catch_list: positions.AddPosition(variable, positionBuilder.NewTokenPosition($5)) catch := stmt.NewCatch($4, variable, $8) positions.AddPosition(catch, positionBuilder.NewTokensPosition($2, $9)) - $$ = append($1, catch) + fmt.Println("78"); $$ = append($1, catch) comments.AddComments(identifier, $5.Comments()) comments.AddComments(variable, $5.Comments()) @@ -680,27 +681,27 @@ catch_list: } ; catch_name_list: - name { $$ = []node.Node{$1} } - | catch_name_list '|' name { $$ = append($1, $3) } + name { fmt.Println("79"); $$ = []node.Node{$1} } + | catch_name_list '|' name { fmt.Println("80"); $$ = append($1, $3) } ; finally_statement: - /* empty */ { $$ = nil } + /* empty */ { fmt.Println("81"); $$ = nil } | T_FINALLY '{' inner_statement_list '}' { - $$ = stmt.NewFinally($3) + fmt.Println("82"); $$ = stmt.NewFinally($3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } ; unset_variables: - unset_variable { $$ = []node.Node{$1} } - | unset_variables ',' unset_variable { $$ = append($1, $3) } + unset_variable { fmt.Println("83"); $$ = []node.Node{$1} } + | unset_variables ',' unset_variable { fmt.Println("84"); $$ = append($1, $3) } ; unset_variable: - variable { $$ = $1 } + variable { fmt.Println("85"); $$ = $1 } ; function_declaration_statement: @@ -708,7 +709,7 @@ function_declaration_statement: { name := node.NewIdentifier($3.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewFunction(name, $2.value, $6, $8, $10, $4) + fmt.Println("86"); $$ = stmt.NewFunction(name, $2.value, $6, $8, $10, $4) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $11)) comments.AddComments(name, $3.Comments()) @@ -717,13 +718,13 @@ function_declaration_statement: ; is_reference: - /* empty */ { $$ = boolWithToken{false, nil} } - | '&' { $$ = boolWithToken{true, &$1} } + /* empty */ { fmt.Println("87"); $$ = boolWithToken{false, nil} } + | '&' { fmt.Println("88"); $$ = boolWithToken{true, &$1} } ; is_variadic: - /* empty */ { $$ = boolWithToken{false, nil} } - | T_ELLIPSIS { $$ = boolWithToken{true, &$1} } + /* empty */ { fmt.Println("89"); $$ = boolWithToken{false, nil} } + | T_ELLIPSIS { fmt.Println("90"); $$ = boolWithToken{true, &$1} } ; class_declaration_statement: @@ -731,7 +732,7 @@ class_declaration_statement: { name := node.NewIdentifier($3.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewClass(name, $1, nil, $4, $5, $8, $6) + fmt.Println("91"); $$ = stmt.NewClass(name, $1, nil, $4, $5, $8, $6) positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $9)) comments.AddComments(name, $3.Comments()) @@ -741,7 +742,7 @@ class_declaration_statement: { name := node.NewIdentifier($2.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewClass(name, nil, nil, $3, $4, $7, $5) + fmt.Println("92"); $$ = stmt.NewClass(name, nil, nil, $3, $4, $7, $5) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) comments.AddComments(name, $2.Comments()) @@ -750,20 +751,20 @@ class_declaration_statement: ; class_modifiers: - class_modifier { $$ = []node.Node{$1} } - | class_modifiers class_modifier { $$ = append($1, $2) } + class_modifier { fmt.Println("93"); $$ = []node.Node{$1} } + | class_modifiers class_modifier { fmt.Println("94"); $$ = append($1, $2) } ; class_modifier: T_ABSTRACT { - $$ = node.NewIdentifier($1.Value) + fmt.Println("95"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_FINAL { - $$ = node.NewIdentifier($1.Value) + fmt.Println("96"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } @@ -774,7 +775,7 @@ trait_declaration_statement: { name := node.NewIdentifier($2.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewTrait(name, $5, $3) + fmt.Println("97"); $$ = stmt.NewTrait(name, $5, $3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) comments.AddComments(name, $2.Comments()) @@ -787,7 +788,7 @@ interface_declaration_statement: { name := node.NewIdentifier($2.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = stmt.NewInterface(name, $3, $6, $4) + fmt.Println("98"); $$ = stmt.NewInterface(name, $3, $6, $4) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $7)) comments.AddComments(name, $2.Comments()) @@ -796,90 +797,90 @@ interface_declaration_statement: ; extends_from: - /* empty */ { $$ = nil } - | T_EXTENDS name { $$ = $2; } + /* empty */ { fmt.Println("99"); $$ = nil } + | T_EXTENDS name { fmt.Println("100"); $$ = $2; } ; interface_extends_list: - /* empty */ { $$ = nil } - | T_EXTENDS name_list { $$ = $2 } + /* empty */ { fmt.Println("101"); $$ = nil } + | T_EXTENDS name_list { fmt.Println("102"); $$ = $2 } ; implements_list: - /* empty */ { $$ = nil } - | T_IMPLEMENTS name_list { $$ = $2 } + /* empty */ { fmt.Println("103"); $$ = nil } + | T_IMPLEMENTS name_list { fmt.Println("104"); $$ = $2 } ; foreach_variable: - variable { $$ = foreachVariable{$1, false} } - | '&' variable { $$ = foreachVariable{$2, true} } + variable { fmt.Println("105"); $$ = foreachVariable{$1, false} } + | '&' variable { fmt.Println("106"); $$ = foreachVariable{$2, true} } | T_LIST '(' array_pair_list ')' { list := expr.NewList($3) positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) - $$ = foreachVariable{list, false} + fmt.Println("107"); $$ = foreachVariable{list, false} comments.AddComments(list, $1.Comments()) } | '[' array_pair_list ']' { list := expr.NewShortList($2) positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $3)) - $$ = foreachVariable{list, false} + fmt.Println("108"); $$ = foreachVariable{list, false} comments.AddComments(list, $1.Comments()) } ; for_statement: - statement { $$ = $1; } + statement { fmt.Println("109"); $$ = $1; } | ':' inner_statement_list T_ENDFOR ';' { - $$ = stmt.NewStmtList($2) + fmt.Println("110"); $$ = stmt.NewStmtList($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } ; foreach_statement: - statement { $$ = $1; } + statement { fmt.Println("111"); $$ = $1; } | ':' inner_statement_list T_ENDFOREACH ';' { - $$ = stmt.NewStmtList($2) + fmt.Println("112"); $$ = stmt.NewStmtList($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } ; declare_statement: - statement { $$ = $1; } + statement { fmt.Println("113"); $$ = $1; } | ':' inner_statement_list T_ENDDECLARE ';' { - $$ = stmt.NewStmtList($2) + fmt.Println("114"); $$ = stmt.NewStmtList($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } ; switch_case_list: - '{' case_list '}' { $$ = &nodesWithEndToken{$2, $3} } - | '{' ';' case_list '}' { $$ = &nodesWithEndToken{$3, $4} } - | ':' case_list T_ENDSWITCH ';' { $$ = &nodesWithEndToken{$2, $4} } - | ':' ';' case_list T_ENDSWITCH ';' { $$ = &nodesWithEndToken{$3, $5} } + '{' case_list '}' { fmt.Println("115"); $$ = &nodesWithEndToken{$2, $3} } + | '{' ';' case_list '}' { fmt.Println("116"); $$ = &nodesWithEndToken{$3, $4} } + | ':' case_list T_ENDSWITCH ';' { fmt.Println("117"); $$ = &nodesWithEndToken{$2, $4} } + | ':' ';' case_list T_ENDSWITCH ';' { fmt.Println("118"); $$ = &nodesWithEndToken{$3, $5} } ; case_list: - /* empty */ { $$ = []node.Node{} } + /* empty */ { fmt.Println("119"); $$ = []node.Node{} } | case_list T_CASE expr case_separator inner_statement_list { _case := stmt.NewCase($3, $5) positions.AddPosition(_case, positionBuilder.NewTokenNodeListPosition($2, $5)) - $$ = append($1, _case) + fmt.Println("120"); $$ = append($1, _case) comments.AddComments(_case, $2.Comments()) } | case_list T_DEFAULT case_separator inner_statement_list { _default := stmt.NewDefault($4) positions.AddPosition(_default, positionBuilder.NewTokenNodeListPosition($2, $4)) - $$ = append($1, _default) + fmt.Println("121"); $$ = append($1, _default) comments.AddComments(_default, $2.Comments()) } ; @@ -890,10 +891,10 @@ case_separator: ; while_statement: - statement { $$ = $1; } + statement { fmt.Println("122"); $$ = $1; } | ':' inner_statement_list T_ENDWHILE ';' { - $$ = stmt.NewStmtList($2) + fmt.Println("123"); $$ = stmt.NewStmtList($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } @@ -902,7 +903,7 @@ while_statement: if_stmt_without_else: T_IF '(' expr ')' statement { - $$ = stmt.NewIf($3, $5, nil, nil) + fmt.Println("124"); $$ = stmt.NewIf($3, $5, nil, nil) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) comments.AddComments($$, $1.Comments()) } @@ -910,7 +911,7 @@ if_stmt_without_else: { _elseIf := stmt.NewElseIf($4, $6) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodePosition($2, $6)) - $$ = $1.(*stmt.If).AddElseIf(_elseIf) + fmt.Println("125"); $$ = $1.(*stmt.If).AddElseIf(_elseIf) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $6)) comments.AddComments(_elseIf, $2.Comments()) @@ -918,12 +919,12 @@ if_stmt_without_else: ; if_stmt: - if_stmt_without_else %prec T_NOELSE { $$ = $1; } + if_stmt_without_else %prec T_NOELSE { fmt.Println("126"); $$ = $1; } | if_stmt_without_else T_ELSE statement { _else := stmt.NewElse($3) positions.AddPosition(_else, positionBuilder.NewTokenNodePosition($2, $3)) - $$ = $1.(*stmt.If).SetElse(_else) + fmt.Println("127"); $$ = $1.(*stmt.If).SetElse(_else) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, $2.Comments()) @@ -935,7 +936,7 @@ alt_if_stmt_without_else: { stmts := stmt.NewStmtList($6) positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($6)) - $$ = stmt.NewAltIf($3, stmts, nil, nil) + fmt.Println("128"); $$ = stmt.NewAltIf($3, stmts, nil, nil) positions.AddPosition($$, positionBuilder.NewTokenNodeListPosition($1, $6)) comments.AddComments(stmts, $5.Comments()) @@ -947,7 +948,7 @@ alt_if_stmt_without_else: positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($7)) _elseIf := stmt.NewAltElseIf($4, stmts) positions.AddPosition(_elseIf, positionBuilder.NewTokenNodeListPosition($2, $7)) - $$ = $1.(*stmt.AltIf).AddElseIf(_elseIf) + fmt.Println("129"); $$ = $1.(*stmt.AltIf).AddElseIf(_elseIf) comments.AddComments(stmts, $6.Comments()) comments.AddComments(_elseIf, $2.Comments()) @@ -957,7 +958,7 @@ alt_if_stmt_without_else: alt_if_stmt: alt_if_stmt_without_else T_ENDIF ';' { - $$ = $1 + fmt.Println("130"); $$ = $1 positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) } | alt_if_stmt_without_else T_ELSE ':' inner_statement_list T_ENDIF ';' @@ -966,7 +967,7 @@ alt_if_stmt: positions.AddPosition(stmts, positionBuilder.NewNodeListPosition($4)) _else := stmt.NewAltElse(stmts) positions.AddPosition(_else, positionBuilder.NewTokenNodeListPosition($2, $4)) - $$ = $1.(*stmt.AltIf).SetElse(_else) + fmt.Println("131"); $$ = $1.(*stmt.AltIf).SetElse(_else) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $6)) comments.AddComments(stmts, $3.Comments()) @@ -975,13 +976,13 @@ alt_if_stmt: ; parameter_list: - non_empty_parameter_list { $$ = $1; } - | /* empty */ { $$ = nil } + non_empty_parameter_list { fmt.Println("132"); $$ = $1; } + | /* empty */ { fmt.Println("133"); $$ = nil } ; non_empty_parameter_list: - parameter { $$ = []node.Node{$1} } - | non_empty_parameter_list ',' parameter { $$ = append($1, $3) } + parameter { fmt.Println("134"); $$ = []node.Node{$1} } + | non_empty_parameter_list ',' parameter { fmt.Println("135"); $$ = append($1, $3) } ; parameter: @@ -996,19 +997,19 @@ parameter: comments.AddComments($$, $4.Comments()) if $1 != nil { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + fmt.Println("136"); $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments($$, comments[$1]) } else if $2.value == true { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + fmt.Println("137"); $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewTokensPosition(*$2.token, $4)) comments.AddComments($$, $2.token.Comments()) } else if $3.value == true { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + fmt.Println("138"); $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewTokensPosition(*$3.token, $4)) comments.AddComments($$, $3.token.Comments()) } else { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + fmt.Println("139"); $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewTokenPosition($4)) comments.AddComments($$, $4.Comments()) } @@ -1024,19 +1025,19 @@ parameter: comments.AddComments($$, $4.Comments()) if $1 != nil { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + fmt.Println("140"); $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $6)) comments.AddComments($$, comments[$1]) } else if $2.value == true { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + fmt.Println("141"); $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$2.token, $6)) comments.AddComments($$, $2.token.Comments()) } else if $3.value == true { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + fmt.Println("142"); $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewTokenNodePosition(*$3.token, $6)) comments.AddComments($$, $3.token.Comments()) } else { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + fmt.Println("143"); $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($4, $6)) comments.AddComments($$, $4.Comments()) } @@ -1044,15 +1045,15 @@ parameter: ; optional_type: - /* empty */ { $$ = nil } - | type_expr { $$ = $1; } + /* empty */ { fmt.Println("144"); $$ = nil } + | type_expr { fmt.Println("145"); $$ = $1; } ; type_expr: - type { $$ = $1; } + type { fmt.Println("146"); $$ = $1; } | '?' type { - $$ = node.NewNullable($2) + fmt.Println("147"); $$ = node.NewNullable($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } @@ -1061,61 +1062,61 @@ type_expr: type: T_ARRAY { - $$ = node.NewIdentifier($1.Value) + fmt.Println("148"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_CALLABLE { - $$ = node.NewIdentifier($1.Value) + fmt.Println("149"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } - | name { $$ = $1; } + | name { fmt.Println("150"); $$ = $1; } ; return_type: - /* empty */ { $$ = nil } - | ':' type_expr { $$ = $2; } + /* empty */ { fmt.Println("151"); $$ = nil } + | ':' type_expr { fmt.Println("152"); $$ = $2; } ; argument_list: - '(' ')' { $$ = &nodesWithEndToken{[]node.Node{}, $2} } - | '(' non_empty_argument_list possible_comma ')' { $$ = &nodesWithEndToken{$2, $4} } + '(' ')' { fmt.Println("153"); $$ = &nodesWithEndToken{[]node.Node{}, $2} } + | '(' non_empty_argument_list possible_comma ')' { fmt.Println("154"); $$ = &nodesWithEndToken{$2, $4} } ; non_empty_argument_list: - argument { $$ = []node.Node{$1} } - | non_empty_argument_list ',' argument { $$ = append($1, $3) } + argument { fmt.Println("155"); $$ = []node.Node{$1} } + | non_empty_argument_list ',' argument { fmt.Println("156"); $$ = append($1, $3) } ; argument: expr { - $$ = node.NewArgument($1, false, false) + fmt.Println("157"); $$ = node.NewArgument($1, false, false) positions.AddPosition($$, positionBuilder.NewNodePosition($1)) comments.AddComments($$, comments[$1]) } | T_ELLIPSIS expr { - $$ = node.NewArgument($2, true, false) + fmt.Println("158"); $$ = node.NewArgument($2, true, false) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } ; global_var_list: - global_var_list ',' global_var { $$ = append($1, $3); } - | global_var { $$ = []node.Node{$1} } + global_var_list ',' global_var { fmt.Println("159"); $$ = append($1, $3); } + | global_var { fmt.Println("160"); $$ = []node.Node{$1} } ; global_var: - simple_variable { $$ = $1 } + simple_variable { fmt.Println("161"); $$ = $1 } ; static_var_list: - static_var_list ',' static_var { $$ = append($1, $3) } - | static_var { $$ = []node.Node{$1} } + static_var_list ',' static_var { fmt.Println("162"); $$ = append($1, $3) } + | static_var { fmt.Println("163"); $$ = []node.Node{$1} } ; static_var: @@ -1125,7 +1126,7 @@ static_var: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewStaticVar(variable, nil) + fmt.Println("164"); $$ = stmt.NewStaticVar(variable, nil) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments(identifier, $1.Comments()) @@ -1138,7 +1139,7 @@ static_var: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewStaticVar(variable, $3) + fmt.Println("165"); $$ = stmt.NewStaticVar(variable, $3) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) comments.AddComments(identifier, $1.Comments()) @@ -1148,26 +1149,26 @@ static_var: ; class_statement_list: - class_statement_list class_statement { $$ = append($1, $2) } - | /* empty */ { $$ = []node.Node{} } + class_statement_list class_statement { fmt.Println("166"); $$ = append($1, $2) } + | /* empty */ { fmt.Println("167"); $$ = []node.Node{} } ; class_statement: variable_modifiers property_list ';' { - $$ = stmt.NewPropertyList($1, $2) + fmt.Println("168"); $$ = stmt.NewPropertyList($1, $2) positions.AddPosition($$, positionBuilder.NewNodeListTokenPosition($1, $3)) comments.AddComments($$, ListGetFirstNodeComments($1)) } | method_modifiers T_CONST class_const_list ';' { - $$ = stmt.NewClassConstList($1, $3) + fmt.Println("169"); $$ = stmt.NewClassConstList($1, $3) positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $4)) comments.AddComments($$, ListGetFirstNodeComments($1)) } | T_USE name_list trait_adaptations { - $$ = stmt.NewTraitUse($2, $3.nodes) + fmt.Println("170"); $$ = stmt.NewTraitUse($2, $3.nodes) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) comments.AddComments($$, $1.Comments()) } @@ -1175,7 +1176,7 @@ class_statement: { name := node.NewIdentifier($4.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($4)) - $$ = stmt.NewClassMethod(name, $1, $3.value, $7, $9, $10.nodes, $5) + fmt.Println("171"); $$ = stmt.NewClassMethod(name, $1, $3.value, $7, $9, $10.nodes, $5) positions.AddPosition($$, positionBuilder.NewOptionalListTokensPosition($1, $2, $10.endToken)) comments.AddComments(name, $4.Comments()) @@ -1184,30 +1185,30 @@ class_statement: ; name_list: - name { $$ = []node.Node{$1} } - | name_list ',' name { $$ = append($1, $3) } + name { fmt.Println("172"); $$ = []node.Node{$1} } + | name_list ',' name { fmt.Println("173"); $$ = append($1, $3) } ; trait_adaptations: - ';' { $$ = &nodesWithEndToken{nil, $1} } - | '{' '}' { $$ = &nodesWithEndToken{nil, $2} } - | '{' trait_adaptation_list '}' { $$ = &nodesWithEndToken{$2, $3} } + ';' { fmt.Println("174"); $$ = &nodesWithEndToken{nil, $1} } + | '{' '}' { fmt.Println("175"); $$ = &nodesWithEndToken{nil, $2} } + | '{' trait_adaptation_list '}' { fmt.Println("176"); $$ = &nodesWithEndToken{$2, $3} } ; trait_adaptation_list: - trait_adaptation { $$ = []node.Node{$1} } - | trait_adaptation_list trait_adaptation { $$ = append($1, $2) } + trait_adaptation { fmt.Println("177"); $$ = []node.Node{$1} } + | trait_adaptation_list trait_adaptation { fmt.Println("178"); $$ = append($1, $2) } ; trait_adaptation: - trait_precedence ';' { $$ = $1; } - | trait_alias ';' { $$ = $1; } + trait_precedence ';' { fmt.Println("179"); $$ = $1; } + | trait_alias ';' { fmt.Println("180"); $$ = $1; } ; trait_precedence: absolute_trait_method_reference T_INSTEADOF name_list { - $$ = stmt.NewTraitUsePrecedence($1, $3) + fmt.Println("181"); $$ = stmt.NewTraitUsePrecedence($1, $3) positions.AddPosition($$, positionBuilder.NewNodeNodeListPosition($1, $3)) comments.AddComments($$, comments[$1]) } @@ -1218,7 +1219,7 @@ trait_alias: { alias := node.NewIdentifier($3.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewTraitUseAlias($1, nil, alias) + fmt.Println("182"); $$ = stmt.NewTraitUseAlias($1, nil, alias) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) comments.AddComments(alias, $3.Comments()) @@ -1228,7 +1229,7 @@ trait_alias: { alias := node.NewIdentifier($3.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewTraitUseAlias($1, nil, alias) + fmt.Println("183"); $$ = stmt.NewTraitUseAlias($1, nil, alias) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) comments.AddComments(alias, $3.Comments()) @@ -1238,7 +1239,7 @@ trait_alias: { alias := node.NewIdentifier($4.Value) positions.AddPosition(alias, positionBuilder.NewTokenPosition($4)) - $$ = stmt.NewTraitUseAlias($1, $3, alias) + fmt.Println("184"); $$ = stmt.NewTraitUseAlias($1, $3, alias) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments(alias, $4.Comments()) @@ -1246,7 +1247,7 @@ trait_alias: } | trait_method_reference T_AS member_modifier { - $$ = stmt.NewTraitUseAlias($1, $3, nil) + fmt.Println("185"); $$ = stmt.NewTraitUseAlias($1, $3, nil) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } @@ -1257,13 +1258,13 @@ trait_method_reference: { name := node.NewIdentifier($1.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewTraitMethodRef(nil, name) + fmt.Println("186"); $$ = stmt.NewTraitMethodRef(nil, name) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments(name, $1.Comments()) comments.AddComments($$, $1.Comments()) } - | absolute_trait_method_reference { $$ = $1; } + | absolute_trait_method_reference { fmt.Println("187"); $$ = $1; } ; absolute_trait_method_reference: @@ -1271,7 +1272,7 @@ absolute_trait_method_reference: { target := node.NewIdentifier($3.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) - $$ = stmt.NewTraitMethodRef($1, target) + fmt.Println("188"); $$ = stmt.NewTraitMethodRef($1, target) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) comments.AddComments(target, $3.Comments()) @@ -1280,73 +1281,73 @@ absolute_trait_method_reference: ; method_body: - ';' /* abstract method */ { $$ = &nodesWithEndToken{nil, $1} } - | '{' inner_statement_list '}' { $$ = &nodesWithEndToken{$2, $3} } + ';' /* abstract method */ { fmt.Println("189"); $$ = &nodesWithEndToken{nil, $1} } + | '{' inner_statement_list '}' { fmt.Println("190"); $$ = &nodesWithEndToken{$2, $3} } ; variable_modifiers: - non_empty_member_modifiers { $$ = $1; } + non_empty_member_modifiers { fmt.Println("191"); $$ = $1; } | T_VAR { modifier := node.NewIdentifier($1.Value) positions.AddPosition(modifier, positionBuilder.NewTokenPosition($1)) - $$ = []node.Node{modifier} + fmt.Println("192"); $$ = []node.Node{modifier} comments.AddComments(modifier, $1.Comments()) } ; method_modifiers: - /* empty */ { $$ = nil } - | non_empty_member_modifiers { $$ = $1 } + /* empty */ { fmt.Println("193"); $$ = nil } + | non_empty_member_modifiers { fmt.Println("194"); $$ = $1 } ; non_empty_member_modifiers: - member_modifier { $$ = []node.Node{$1} } - | non_empty_member_modifiers member_modifier { $$ = append($1, $2) } + member_modifier { fmt.Println("195"); $$ = []node.Node{$1} } + | non_empty_member_modifiers member_modifier { fmt.Println("196"); $$ = append($1, $2) } ; member_modifier: T_PUBLIC { - $$ = node.NewIdentifier($1.Value) + fmt.Println("197"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_PROTECTED { - $$ = node.NewIdentifier($1.Value) + fmt.Println("198"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_PRIVATE { - $$ = node.NewIdentifier($1.Value) + fmt.Println("199"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_STATIC { - $$ = node.NewIdentifier($1.Value) + fmt.Println("200"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_ABSTRACT { - $$ = node.NewIdentifier($1.Value) + fmt.Println("201"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_FINAL { - $$ = node.NewIdentifier($1.Value) + fmt.Println("202"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } ; property_list: - property_list ',' property { $$ = append($1, $3) } - | property { $$ = []node.Node{$1} } + property_list ',' property { fmt.Println("203"); $$ = append($1, $3) } + | property { fmt.Println("204"); $$ = []node.Node{$1} } ; property: @@ -1356,7 +1357,7 @@ property: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewProperty(variable, nil, $2) + fmt.Println("205"); $$ = stmt.NewProperty(variable, nil, $2) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments(identifier, $1.Comments()) @@ -1369,7 +1370,7 @@ property: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewProperty(variable, $3, $4) + fmt.Println("206"); $$ = stmt.NewProperty(variable, $3, $4) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) comments.AddComments(identifier, $1.Comments()) @@ -1379,8 +1380,8 @@ property: ; class_const_list: - class_const_list ',' class_const_decl { $$ = append($1, $3) } - | class_const_decl { $$ = []node.Node{$1} } + class_const_list ',' class_const_decl { fmt.Println("207"); $$ = append($1, $3) } + | class_const_decl { fmt.Println("208"); $$ = []node.Node{$1} } ; class_const_decl: @@ -1388,7 +1389,7 @@ class_const_decl: { name := node.NewIdentifier($1.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewConstant(name, $3, $4) + fmt.Println("209"); $$ = stmt.NewConstant(name, $3, $4) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) comments.AddComments(name, $1.Comments()) @@ -1401,7 +1402,7 @@ const_decl: { name := node.NewIdentifier($1.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = stmt.NewConstant(name, $3, $4) + fmt.Println("210"); $$ = stmt.NewConstant(name, $3, $4) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $3)) comments.AddComments(name, $1.Comments()) @@ -1410,31 +1411,31 @@ const_decl: ; echo_expr_list: - echo_expr_list ',' echo_expr { $$ = append($1, $3) } - | echo_expr { $$ = []node.Node{$1} } + echo_expr_list ',' echo_expr { fmt.Println("211"); $$ = append($1, $3) } + | echo_expr { fmt.Println("212"); $$ = []node.Node{$1} } ; echo_expr: - expr { $$ = $1 } + expr { fmt.Println("213"); $$ = $1 } ; for_exprs: - /* empty */ { $$ = nil; } - | non_empty_for_exprs { $$ = $1; } + /* empty */ { fmt.Println("214"); $$ = nil; } + | non_empty_for_exprs { fmt.Println("215"); $$ = $1; } ; non_empty_for_exprs: - non_empty_for_exprs ',' expr { $$ = append($1, $3) } - | expr { $$ = []node.Node{$1} } + non_empty_for_exprs ',' expr { fmt.Println("216"); $$ = append($1, $3) } + | expr { fmt.Println("217"); $$ = []node.Node{$1} } ; anonymous_class: T_CLASS ctor_arguments extends_from implements_list backup_doc_comment '{' class_statement_list '}' { if $2 != nil { - $$ = stmt.NewClass(nil, nil, $2.nodes, $3, $4, $7, $5) + fmt.Println("218"); $$ = stmt.NewClass(nil, nil, $2.nodes, $3, $4, $7, $5) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) } else { - $$ = stmt.NewClass(nil, nil, nil, $3, $4, $7, $5) + fmt.Println("219"); $$ = stmt.NewClass(nil, nil, nil, $3, $4, $7, $5) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $8)) } @@ -1446,16 +1447,16 @@ new_expr: T_NEW class_name_reference ctor_arguments { if $3 != nil { - $$ = expr.NewNew($2, $3.nodes) + fmt.Println("220"); $$ = expr.NewNew($2, $3.nodes) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3.endToken)) } else { - $$ = expr.NewNew($2, nil) + fmt.Println("221"); $$ = expr.NewNew($2, nil) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) } comments.AddComments($$, $1.Comments()) } - | T_NEW anonymous_class { $$ = expr.NewNew($2, nil) } + | T_NEW anonymous_class { fmt.Println("222"); $$ = expr.NewNew($2, nil) } ; expr_without_variable: @@ -1463,7 +1464,7 @@ expr_without_variable: { list := expr.NewList($3) positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) - $$ = assign_op.NewAssign(list, $6) + fmt.Println("223"); $$ = assign_op.NewAssign(list, $6) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $6)) comments.AddComments(list, $1.Comments()) @@ -1473,7 +1474,7 @@ expr_without_variable: { shortList := expr.NewShortList($2) positions.AddPosition(shortList, positionBuilder.NewTokensPosition($1, $3)) - $$ = assign_op.NewAssign(shortList, $5) + fmt.Println("224"); $$ = assign_op.NewAssign(shortList, $5) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $5)) comments.AddComments(shortList, $1.Comments()) @@ -1481,426 +1482,426 @@ expr_without_variable: } | variable '=' expr { - $$ = assign_op.NewAssign($1, $3) + fmt.Println("225"); $$ = assign_op.NewAssign($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable '=' '&' expr { - $$ = assign_op.NewAssignRef($1, $4) + fmt.Println("226"); $$ = assign_op.NewAssignRef($1, $4) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) comments.AddComments($$, comments[$1]) } | T_CLONE expr { - $$ = expr.NewClone($2) + fmt.Println("227"); $$ = expr.NewClone($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | variable T_PLUS_EQUAL expr { - $$ = assign_op.NewPlus($1, $3) + fmt.Println("228"); $$ = assign_op.NewPlus($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_MINUS_EQUAL expr { - $$ = assign_op.NewMinus($1, $3) + fmt.Println("229"); $$ = assign_op.NewMinus($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_MUL_EQUAL expr { - $$ = assign_op.NewMul($1, $3) + fmt.Println("230"); $$ = assign_op.NewMul($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_POW_EQUAL expr { - $$ = assign_op.NewPow($1, $3) + fmt.Println("231"); $$ = assign_op.NewPow($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_DIV_EQUAL expr { - $$ = assign_op.NewDiv($1, $3) + fmt.Println("232"); $$ = assign_op.NewDiv($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_CONCAT_EQUAL expr { - $$ = assign_op.NewConcat($1, $3) + fmt.Println("233"); $$ = assign_op.NewConcat($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_MOD_EQUAL expr { - $$ = assign_op.NewMod($1, $3) + fmt.Println("234"); $$ = assign_op.NewMod($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_AND_EQUAL expr { - $$ = assign_op.NewBitwiseAnd($1, $3) + fmt.Println("235"); $$ = assign_op.NewBitwiseAnd($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_OR_EQUAL expr { - $$ = assign_op.NewBitwiseOr($1, $3) + fmt.Println("236"); $$ = assign_op.NewBitwiseOr($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_XOR_EQUAL expr { - $$ = assign_op.NewBitwiseXor($1, $3) + fmt.Println("237"); $$ = assign_op.NewBitwiseXor($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_SL_EQUAL expr { - $$ = assign_op.NewShiftLeft($1, $3) + fmt.Println("238"); $$ = assign_op.NewShiftLeft($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_SR_EQUAL expr { - $$ = assign_op.NewShiftRight($1, $3) + fmt.Println("239"); $$ = assign_op.NewShiftRight($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable T_INC { - $$ = expr.NewPostInc($1) + fmt.Println("240"); $$ = expr.NewPostInc($1) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) comments.AddComments($$, comments[$1]) } | T_INC variable { - $$ = expr.NewPreInc($2) + fmt.Println("241"); $$ = expr.NewPreInc($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | variable T_DEC { - $$ = expr.NewPostDec($1) + fmt.Println("242"); $$ = expr.NewPostDec($1) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2)) comments.AddComments($$, comments[$1]) } | T_DEC variable { - $$ = expr.NewPreDec($2) + fmt.Println("243"); $$ = expr.NewPreDec($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | expr T_BOOLEAN_OR expr { - $$ = binary_op.NewBooleanOr($1, $3) + fmt.Println("244"); $$ = binary_op.NewBooleanOr($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_BOOLEAN_AND expr { - $$ = binary_op.NewBooleanAnd($1, $3) + fmt.Println("245"); $$ = binary_op.NewBooleanAnd($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_LOGICAL_OR expr { - $$ = binary_op.NewLogicalOr($1, $3) + fmt.Println("246"); $$ = binary_op.NewLogicalOr($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_LOGICAL_AND expr { - $$ = binary_op.NewLogicalAnd($1, $3) + fmt.Println("247"); $$ = binary_op.NewLogicalAnd($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_LOGICAL_XOR expr { - $$ = binary_op.NewLogicalXor($1, $3) + fmt.Println("248"); $$ = binary_op.NewLogicalXor($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '|' expr { - $$ = binary_op.NewBitwiseOr($1, $3) + fmt.Println("249"); $$ = binary_op.NewBitwiseOr($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '&' expr { - $$ = binary_op.NewBitwiseAnd($1, $3) + fmt.Println("250"); $$ = binary_op.NewBitwiseAnd($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '^' expr { - $$ = binary_op.NewBitwiseXor($1, $3) + fmt.Println("251"); $$ = binary_op.NewBitwiseXor($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '.' expr { - $$ = binary_op.NewConcat($1, $3) + fmt.Println("252"); $$ = binary_op.NewConcat($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '+' expr { - $$ = binary_op.NewPlus($1, $3) + fmt.Println("253"); $$ = binary_op.NewPlus($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '-' expr { - $$ = binary_op.NewMinus($1, $3) + fmt.Println("254"); $$ = binary_op.NewMinus($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '*' expr { - $$ = binary_op.NewMul($1, $3) + fmt.Println("255"); $$ = binary_op.NewMul($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_POW expr { - $$ = binary_op.NewPow($1, $3) + fmt.Println("256"); $$ = binary_op.NewPow($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '/' expr { - $$ = binary_op.NewDiv($1, $3) + fmt.Println("257"); $$ = binary_op.NewDiv($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '%' expr { - $$ = binary_op.NewMod($1, $3) + fmt.Println("258"); $$ = binary_op.NewMod($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_SL expr { - $$ = binary_op.NewShiftLeft($1, $3) + fmt.Println("259"); $$ = binary_op.NewShiftLeft($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_SR expr { - $$ = binary_op.NewShiftRight($1, $3) + fmt.Println("260"); $$ = binary_op.NewShiftRight($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | '+' expr %prec T_INC { - $$ = expr.NewUnaryPlus($2) + fmt.Println("261"); $$ = expr.NewUnaryPlus($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | '-' expr %prec T_INC { - $$ = expr.NewUnaryMinus($2) + fmt.Println("262"); $$ = expr.NewUnaryMinus($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | '!' expr { - $$ = expr.NewBooleanNot($2) + fmt.Println("263"); $$ = expr.NewBooleanNot($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | '~' expr { - $$ = expr.NewBitwiseNot($2) + fmt.Println("264"); $$ = expr.NewBitwiseNot($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | expr T_IS_IDENTICAL expr { - $$ = binary_op.NewIdentical($1, $3) + fmt.Println("265"); $$ = binary_op.NewIdentical($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_IS_NOT_IDENTICAL expr { - $$ = binary_op.NewNotIdentical($1, $3) + fmt.Println("266"); $$ = binary_op.NewNotIdentical($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_IS_EQUAL expr { - $$ = binary_op.NewEqual($1, $3) + fmt.Println("267"); $$ = binary_op.NewEqual($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_IS_NOT_EQUAL expr { - $$ = binary_op.NewNotEqual($1, $3) + fmt.Println("268"); $$ = binary_op.NewNotEqual($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '<' expr { - $$ = binary_op.NewSmaller($1, $3) + fmt.Println("269"); $$ = binary_op.NewSmaller($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_IS_SMALLER_OR_EQUAL expr { - $$ = binary_op.NewSmallerOrEqual($1, $3) + fmt.Println("270"); $$ = binary_op.NewSmallerOrEqual($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr '>' expr { - $$ = binary_op.NewGreater($1, $3) + fmt.Println("271"); $$ = binary_op.NewGreater($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_IS_GREATER_OR_EQUAL expr { - $$ = binary_op.NewGreaterOrEqual($1, $3) + fmt.Println("272"); $$ = binary_op.NewGreaterOrEqual($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_SPACESHIP expr { - $$ = binary_op.NewSpaceship($1, $3) + fmt.Println("273"); $$ = binary_op.NewSpaceship($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr T_INSTANCEOF class_name_reference { - $$ = expr.NewInstanceOf($1, $3) + fmt.Println("274"); $$ = expr.NewInstanceOf($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } - | '(' expr ')' { $$ = $2; } - | new_expr { $$ = $1; } + | '(' expr ')' { fmt.Println("275"); $$ = $2; } + | new_expr { fmt.Println("276"); $$ = $1; } | expr '?' expr ':' expr { - $$ = expr.NewTernary($1, $3, $5) + fmt.Println("277"); $$ = expr.NewTernary($1, $3, $5) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $5)) comments.AddComments($$, comments[$1]) } | expr '?' ':' expr { - $$ = expr.NewTernary($1, nil, $4) + fmt.Println("278"); $$ = expr.NewTernary($1, nil, $4) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) comments.AddComments($$, comments[$1]) } | expr T_COALESCE expr { - $$ = binary_op.NewCoalesce($1, $3) + fmt.Println("279"); $$ = binary_op.NewCoalesce($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } - | internal_functions_in_yacc { $$ = $1} + | internal_functions_in_yacc { fmt.Println("280"); $$ = $1} | T_INT_CAST expr { - $$ = cast.NewCastInt($2) + fmt.Println("281"); $$ = cast.NewCastInt($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_DOUBLE_CAST expr { - $$ = cast.NewCastDouble($2) + fmt.Println("282"); $$ = cast.NewCastDouble($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_STRING_CAST expr { - $$ = cast.NewCastString($2) + fmt.Println("283"); $$ = cast.NewCastString($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_ARRAY_CAST expr { - $$ = cast.NewCastArray($2) + fmt.Println("284"); $$ = cast.NewCastArray($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_OBJECT_CAST expr { - $$ = cast.NewCastObject($2) + fmt.Println("285"); $$ = cast.NewCastObject($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_BOOL_CAST expr { - $$ = cast.NewCastBool($2) + fmt.Println("286"); $$ = cast.NewCastBool($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_UNSET_CAST expr { - $$ = cast.NewCastUnset($2) + fmt.Println("287"); $$ = cast.NewCastUnset($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_EXIT exit_expr { - $$ = expr.NewExit($2, strings.EqualFold($1.Value, "die")) + fmt.Println("288"); $$ = expr.NewExit($2, strings.EqualFold($1.Value, "die")) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | '@' expr { - $$ = expr.NewErrorSuppress($2) + fmt.Println("289"); $$ = expr.NewErrorSuppress($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } - | scalar { $$ = $1; } + | scalar { fmt.Println("290"); $$ = $1; } | '`' backticks_expr '`' { - $$ = expr.NewShellExec($2) + fmt.Println("291"); $$ = expr.NewShellExec($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_PRINT expr { - $$ = expr.NewPrint($2) + fmt.Println("292"); $$ = expr.NewPrint($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_YIELD { - $$ = expr.NewYield(nil, nil) + fmt.Println("293"); $$ = expr.NewYield(nil, nil) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_YIELD expr { - $$ = expr.NewYield(nil, $2) + fmt.Println("294"); $$ = expr.NewYield(nil, $2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_YIELD expr T_DOUBLE_ARROW expr { - $$ = expr.NewYield($2, $4) + fmt.Println("295"); $$ = expr.NewYield($2, $4) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $4)) comments.AddComments($$, $1.Comments()) } | T_YIELD_FROM expr { - $$ = expr.NewYieldFrom($2) + fmt.Println("296"); $$ = expr.NewYieldFrom($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' { - $$ = expr.NewClosure($5, $7, $8, $10, false, $2.value, $3) + fmt.Println("297"); $$ = expr.NewClosure($5, $7, $8, $10, false, $2.value, $3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $11)) comments.AddComments($$, $1.Comments()) } | T_STATIC T_FUNCTION returns_ref backup_doc_comment '(' parameter_list ')' lexical_vars return_type '{' inner_statement_list '}' { - $$ = expr.NewClosure($6, $8, $9, $11, true, $3.value, $4) + fmt.Println("298"); $$ = expr.NewClosure($6, $8, $9, $11, true, $3.value, $4) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $12)) comments.AddComments($$, $1.Comments()) @@ -1908,22 +1909,22 @@ expr_without_variable: ; backup_doc_comment: - /* empty */ { $$ = yylex.(*lexer).PhpDocComment; yylex.(*lexer).PhpDocComment = "" } + /* empty */ { fmt.Println("299"); $$ = yylex.(*lexer).PhpDocComment; yylex.(*lexer).PhpDocComment = "" } ; returns_ref: - /* empty */ { $$ = boolWithToken{false, nil} } - | '&' { $$ = boolWithToken{true, &$1} } + /* empty */ { fmt.Println("300"); $$ = boolWithToken{false, nil} } + | '&' { fmt.Println("301"); $$ = boolWithToken{true, &$1} } ; lexical_vars: - /* empty */ { $$ = []node.Node{} } - | T_USE '(' lexical_var_list ')' { $$ = $3; } + /* empty */ { fmt.Println("302"); $$ = []node.Node{} } + | T_USE '(' lexical_var_list ')' { fmt.Println("303"); $$ = $3; } ; lexical_var_list: - lexical_var_list ',' lexical_var { $$ = append($1, $3) } - | lexical_var { $$ = []node.Node{$1} } + lexical_var_list ',' lexical_var { fmt.Println("304"); $$ = append($1, $3) } + | lexical_var { fmt.Println("305"); $$ = []node.Node{$1} } ; lexical_var: @@ -1933,7 +1934,7 @@ lexical_var: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewClosureUse(variable, false) + fmt.Println("306"); $$ = expr.NewClosureUse(variable, false) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments(identifier, $1.Comments()) @@ -1946,7 +1947,7 @@ lexical_var: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) - $$ = expr.NewClosureUse(variable, true) + fmt.Println("307"); $$ = expr.NewClosureUse(variable, true) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) comments.AddComments(identifier, $2.Comments()) @@ -1958,25 +1959,25 @@ lexical_var: function_call: name argument_list { - $$ = expr.NewFunctionCall($1, $2.nodes) + fmt.Println("308"); $$ = expr.NewFunctionCall($1, $2.nodes) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2.endToken)) comments.AddComments($$, comments[$1]) } | class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { - $$ = expr.NewStaticCall($1, $3, $4.nodes) + fmt.Println("309"); $$ = expr.NewStaticCall($1, $3, $4.nodes) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) comments.AddComments($$, comments[$1]) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list { - $$ = expr.NewStaticCall($1, $3, $4.nodes) + fmt.Println("310"); $$ = expr.NewStaticCall($1, $3, $4.nodes) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) comments.AddComments($$, comments[$1]) } | callable_expr argument_list { - $$ = expr.NewFunctionCall($1, $2.nodes) + fmt.Println("311"); $$ = expr.NewFunctionCall($1, $2.nodes) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $2.endToken)) comments.AddComments($$, comments[$1]) } @@ -1985,50 +1986,50 @@ function_call: class_name: T_STATIC { - $$ = node.NewIdentifier($1.Value) + fmt.Println("312"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } - | name { $$ = $1; } + | name { fmt.Println("313"); $$ = $1; } ; class_name_reference: - class_name { $$ = $1; } - | new_variable { $$ = $1; } + class_name { fmt.Println("314"); $$ = $1; } + | new_variable { fmt.Println("315"); $$ = $1; } ; exit_expr: - /* empty */ { $$ = nil } - | '(' optional_expr ')' { $$ = $2; } + /* empty */ { fmt.Println("316"); $$ = nil } + | '(' optional_expr ')' { fmt.Println("317"); $$ = $2; } ; backticks_expr: - /* empty */ { $$ = []node.Node{} } - | T_ENCAPSED_AND_WHITESPACE { $$ = []node.Node{scalar.NewEncapsedStringPart($1.Value)} } - | encaps_list { $$ = $1; } + /* empty */ { fmt.Println("318"); $$ = []node.Node{} } + | T_ENCAPSED_AND_WHITESPACE { fmt.Println("319"); $$ = []node.Node{scalar.NewEncapsedStringPart($1.Value)} } + | encaps_list { fmt.Println("320"); $$ = $1; } ; ctor_arguments: - /* empty */ { $$ = nil } - | argument_list { $$ = $1 } + /* empty */ { fmt.Println("321"); $$ = nil } + | argument_list { fmt.Println("322"); $$ = $1 } ; dereferencable_scalar: T_ARRAY '(' array_pair_list ')' { - $$ = expr.NewArray($3) + fmt.Println("323"); $$ = expr.NewArray($3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } | '[' array_pair_list ']' { - $$ = expr.NewShortArray($2) + fmt.Println("324"); $$ = expr.NewShortArray($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_CONSTANT_ENCAPSED_STRING { - $$ = scalar.NewString($1.Value) + fmt.Println("325"); $$ = scalar.NewString($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } @@ -2037,96 +2038,96 @@ dereferencable_scalar: scalar: T_LNUMBER { - $$ = scalar.NewLnumber($1.Value) + fmt.Println("326"); $$ = scalar.NewLnumber($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_DNUMBER { - $$ = scalar.NewDnumber($1.Value) + fmt.Println("327"); $$ = scalar.NewDnumber($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_LINE { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("328"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_FILE { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("329"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_DIR { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("330"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_TRAIT_C { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("331"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_METHOD_C { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("332"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_FUNC_C { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("333"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_NS_C { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("334"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_CLASS_C { - $$ = scalar.NewMagicConstant($1.Value) + fmt.Println("335"); $$ = scalar.NewMagicConstant($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC { - $$ = scalar.NewString($2.Value) + fmt.Println("336"); $$ = scalar.NewString($2.Value) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3))/* TODO: mark as Heredoc*/ comments.AddComments($$, $1.Comments()) } | T_START_HEREDOC T_END_HEREDOC { - $$ = scalar.NewEncapsed(nil) + fmt.Println("337"); $$ = scalar.NewEncapsed(nil) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) comments.AddComments($$, $1.Comments()) } | '"' encaps_list '"' { - $$ = scalar.NewEncapsed($2) + fmt.Println("338"); $$ = scalar.NewEncapsed($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } | T_START_HEREDOC encaps_list T_END_HEREDOC { - $$ = scalar.NewEncapsed($2) + fmt.Println("339"); $$ = scalar.NewEncapsed($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } - | dereferencable_scalar { $$ = $1; } - | constant { $$ = $1; } + | dereferencable_scalar { fmt.Println("340"); $$ = $1; } + | constant { fmt.Println("341"); $$ = $1; } ; constant: name { - $$ = expr.NewConstFetch($1) + fmt.Println("342"); $$ = expr.NewConstFetch($1) positions.AddPosition($$, positionBuilder.NewNodePosition($1)) comments.AddComments($$, comments[$1]) } @@ -2134,7 +2135,7 @@ constant: { target := node.NewIdentifier($3.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) - $$ = expr.NewClassConstFetch($1, target) + fmt.Println("343"); $$ = expr.NewClassConstFetch($1, target) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) comments.AddComments(target, $3.Comments()) @@ -2144,7 +2145,7 @@ constant: { target := node.NewIdentifier($3.Value) positions.AddPosition(target, positionBuilder.NewTokenPosition($3)) - $$ = expr.NewClassConstFetch($1, target) + fmt.Println("344"); $$ = expr.NewClassConstFetch($1, target) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $3)) comments.AddComments(target, $3.Comments()) @@ -2153,66 +2154,66 @@ constant: ; expr: - variable { $$ = $1; } - | expr_without_variable { $$ = $1; } + variable { fmt.Println("345"); $$ = $1; } + | expr_without_variable { fmt.Println("346"); $$ = $1; } ; optional_expr: - /* empty */ { $$ = nil } - | expr { $$ = $1; } + /* empty */ { fmt.Println("347"); $$ = nil } + | expr { fmt.Println("348"); $$ = $1; } ; variable_class_name: - dereferencable { $$ = $1; } + dereferencable { fmt.Println("349"); $$ = $1; } ; dereferencable: - variable { $$ = $1; } - | '(' expr ')' { $$ = $2; } - | dereferencable_scalar { $$ = $1; } + variable { fmt.Println("350"); $$ = $1; } + | '(' expr ')' { fmt.Println("351"); $$ = $2; } + | dereferencable_scalar { fmt.Println("352"); $$ = $1; } ; callable_expr: - callable_variable { $$ = $1; } - | '(' expr ')' { $$ = $2; } - | dereferencable_scalar { $$ = $1; } + callable_variable { fmt.Println("353"); $$ = $1; } + | '(' expr ')' { fmt.Println("354"); $$ = $2; } + | dereferencable_scalar { fmt.Println("355"); $$ = $1; } ; callable_variable: - simple_variable { $$ = $1; } + simple_variable { fmt.Println("356"); $$ = $1; } | dereferencable '[' optional_expr ']' { - $$ = expr.NewArrayDimFetch($1, $3) + fmt.Println("357"); $$ = expr.NewArrayDimFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments($$, comments[$1]) } | constant '[' optional_expr ']' { - $$ = expr.NewArrayDimFetch($1, $3) + fmt.Println("358"); $$ = expr.NewArrayDimFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments($$, comments[$1]) } | dereferencable '{' expr '}' { - $$ = expr.NewArrayDimFetch($1, $3) + fmt.Println("359"); $$ = expr.NewArrayDimFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments($$, comments[$1]) } | dereferencable T_OBJECT_OPERATOR property_name argument_list { - $$ = expr.NewMethodCall($1, $3, $4.nodes) + fmt.Println("360"); $$ = expr.NewMethodCall($1, $3, $4.nodes) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4.endToken)) comments.AddComments($$, comments[$1]) } - | function_call { $$ = $1; } + | function_call { fmt.Println("361"); $$ = $1; } ; variable: - callable_variable { $$ = $1; } - | static_member { $$ = $1; } + callable_variable { fmt.Println("362"); $$ = $1; } + | static_member { fmt.Println("363"); $$ = $1; } | dereferencable T_OBJECT_OPERATOR property_name { - $$ = expr.NewPropertyFetch($1, $3) + fmt.Println("364"); $$ = expr.NewPropertyFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } @@ -2223,7 +2224,7 @@ simple_variable: { name := node.NewIdentifier($1.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewVariable(name) + fmt.Println("365"); $$ = expr.NewVariable(name) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments(name, $1.Comments()) @@ -2231,13 +2232,13 @@ simple_variable: } | '$' '{' expr '}' { - $$ = expr.NewVariable($3) + fmt.Println("366"); $$ = expr.NewVariable($3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } | '$' simple_variable { - $$ = expr.NewVariable($2) + fmt.Println("367"); $$ = expr.NewVariable($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } @@ -2246,47 +2247,47 @@ simple_variable: static_member: class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { - $$ = expr.NewStaticPropertyFetch($1, $3) + fmt.Println("368"); $$ = expr.NewStaticPropertyFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | variable_class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { - $$ = expr.NewStaticPropertyFetch($1, $3) + fmt.Println("369"); $$ = expr.NewStaticPropertyFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } ; new_variable: - simple_variable { $$ = $1 } + simple_variable { fmt.Println("370"); $$ = $1 } | new_variable '[' optional_expr ']' { - $$ = expr.NewArrayDimFetch($1, $3) + fmt.Println("371"); $$ = expr.NewArrayDimFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments($$, comments[$1]) } | new_variable '{' expr '}' { - $$ = expr.NewArrayDimFetch($1, $3) + fmt.Println("372"); $$ = expr.NewArrayDimFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $4)) comments.AddComments($$, comments[$1]) } | new_variable T_OBJECT_OPERATOR property_name { - $$ = expr.NewPropertyFetch($1, $3) + fmt.Println("373"); $$ = expr.NewPropertyFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable { - $$ = expr.NewStaticPropertyFetch($1, $3) + fmt.Println("374"); $$ = expr.NewStaticPropertyFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | new_variable T_PAAMAYIM_NEKUDOTAYIM simple_variable { - $$ = expr.NewStaticPropertyFetch($1, $3) + fmt.Println("375"); $$ = expr.NewStaticPropertyFetch($1, $3) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } @@ -2295,69 +2296,69 @@ new_variable: member_name: identifier { - $$ = node.NewIdentifier($1.Value) + fmt.Println("376"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } - | '{' expr '}' { $$ = $2; } - | simple_variable { $$ = $1 } + | '{' expr '}' { fmt.Println("377"); $$ = $2; } + | simple_variable { fmt.Println("378"); $$ = $1 } ; property_name: T_STRING { - $$ = node.NewIdentifier($1.Value) + fmt.Println("379"); $$ = node.NewIdentifier($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } - | '{' expr '}' { $$ = $2; } - | simple_variable { $$ = $1 } + | '{' expr '}' { fmt.Println("380"); $$ = $2; } + | simple_variable { fmt.Println("381"); $$ = $1 } ; array_pair_list: non_empty_array_pair_list { if ($1[len($1)-1] == nil) { - $$ = $1[:len($1)-1] + fmt.Println("382"); $$ = $1[:len($1)-1] } else { - $$ = $1 + fmt.Println("383"); $$ = $1 } } ; possible_array_pair: - /* empty */ { $$ = nil } - | array_pair { $$ = $1; } + /* empty */ { fmt.Println("384"); $$ = nil } + | array_pair { fmt.Println("385"); $$ = $1; } ; non_empty_array_pair_list: non_empty_array_pair_list ',' possible_array_pair - { $$ = append($1, $3) } - | possible_array_pair { $$ = []node.Node{$1} } + { fmt.Println("386"); $$ = append($1, $3) } + | possible_array_pair { fmt.Println("387"); $$ = []node.Node{$1} } ; array_pair: expr T_DOUBLE_ARROW expr { - $$ = expr.NewArrayItem($1, $3, false) + fmt.Println("388"); $$ = expr.NewArrayItem($1, $3, false) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $3)) comments.AddComments($$, comments[$1]) } | expr { - $$ = expr.NewArrayItem(nil, $1, false) + fmt.Println("389"); $$ = expr.NewArrayItem(nil, $1, false) positions.AddPosition($$, positionBuilder.NewNodePosition($1)) comments.AddComments($$, comments[$1]) } | expr T_DOUBLE_ARROW '&' variable { - $$ = expr.NewArrayItem($1, $4, true) + fmt.Println("390"); $$ = expr.NewArrayItem($1, $4, true) positions.AddPosition($$, positionBuilder.NewNodesPosition($1, $4)) comments.AddComments($$, comments[$1]) } | '&' variable { - $$ = expr.NewArrayItem(nil, $2, true) + fmt.Println("391"); $$ = expr.NewArrayItem(nil, $2, true) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } @@ -2366,7 +2367,7 @@ array_pair: // TODO: Cannot use list() as standalone expression list := expr.NewList($5) positions.AddPosition(list, positionBuilder.NewTokensPosition($3, $6)) - $$ = expr.NewArrayItem($1, list, false) + fmt.Println("392"); $$ = expr.NewArrayItem($1, list, false) positions.AddPosition($$, positionBuilder.NewNodeTokenPosition($1, $6)) comments.AddComments(list, $3.Comments()) @@ -2377,7 +2378,7 @@ array_pair: // TODO: Cannot use list() as standalone expression list := expr.NewList($3) positions.AddPosition(list, positionBuilder.NewTokensPosition($1, $4)) - $$ = expr.NewArrayItem(nil, list, false) + fmt.Println("393"); $$ = expr.NewArrayItem(nil, list, false) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments(list, $1.Comments()) @@ -2386,20 +2387,20 @@ array_pair: ; encaps_list: - encaps_list encaps_var { $$ = append($1, $2) } + encaps_list encaps_var { fmt.Println("394"); $$ = append($1, $2) } | encaps_list T_ENCAPSED_AND_WHITESPACE { encapsed := scalar.NewEncapsedStringPart($2.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($2)) - $$ = append($1, encapsed) + fmt.Println("395"); $$ = append($1, encapsed) comments.AddComments(encapsed, $2.Comments()) } - | encaps_var { $$ = []node.Node{$1} } + | encaps_var { fmt.Println("396"); $$ = []node.Node{$1} } | T_ENCAPSED_AND_WHITESPACE encaps_var { encapsed := scalar.NewEncapsedStringPart($1.Value) positions.AddPosition(encapsed, positionBuilder.NewTokenPosition($1)) - $$ = []node.Node{encapsed, $2} + fmt.Println("397"); $$ = []node.Node{encapsed, $2} comments.AddComments(encapsed, $1.Comments()) } ; @@ -2409,7 +2410,7 @@ encaps_var: { name := node.NewIdentifier($1.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewVariable(name) + fmt.Println("398"); $$ = expr.NewVariable(name) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments(name, $1.Comments()) @@ -2421,7 +2422,7 @@ encaps_var: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewArrayDimFetch(variable, $3) + fmt.Println("399"); $$ = expr.NewArrayDimFetch(variable, $3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments(identifier, $1.Comments()) @@ -2436,7 +2437,7 @@ encaps_var: positions.AddPosition(variable, positionBuilder.NewTokenPosition($1)) fetch := node.NewIdentifier($3.Value) positions.AddPosition(fetch, positionBuilder.NewTokenPosition($3)) - $$ = expr.NewPropertyFetch(variable, fetch) + fmt.Println("400"); $$ = expr.NewPropertyFetch(variable, fetch) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments(identifier, $1.Comments()) @@ -2446,7 +2447,7 @@ encaps_var: } | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { - $$ = expr.NewVariable($2) + fmt.Println("401"); $$ = expr.NewVariable($2) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments($$, $1.Comments()) } @@ -2454,7 +2455,7 @@ encaps_var: { name := node.NewIdentifier($2.Value) positions.AddPosition(name, positionBuilder.NewTokenPosition($2)) - $$ = expr.NewVariable(name) + fmt.Println("402"); $$ = expr.NewVariable(name) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $3)) comments.AddComments(name, $2.Comments()) @@ -2466,7 +2467,7 @@ encaps_var: positions.AddPosition(identifier, positionBuilder.NewTokenPosition($2)) variable := expr.NewVariable(identifier) positions.AddPosition(variable, positionBuilder.NewTokenPosition($2)) - $$ = expr.NewArrayDimFetch(variable, $4) + fmt.Println("403"); $$ = expr.NewArrayDimFetch(variable, $4) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $6)) @@ -2474,12 +2475,12 @@ encaps_var: comments.AddComments(variable, $1.Comments()) comments.AddComments($$, $1.Comments()) } - | T_CURLY_OPEN variable '}' { $$ = $2; } + | T_CURLY_OPEN variable '}' { fmt.Println("404"); $$ = $2; } ; encaps_var_offset: T_STRING { - $$ = scalar.NewString($1.Value) + fmt.Println("405"); $$ = scalar.NewString($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments($$, $1.Comments()) } @@ -2487,10 +2488,10 @@ encaps_var_offset: { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi($1.Value); err == nil { - $$ = scalar.NewLnumber($1.Value) + fmt.Println("406"); $$ = scalar.NewLnumber($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) } else { - $$ = scalar.NewString($1.Value) + fmt.Println("407"); $$ = scalar.NewString($1.Value) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) } comments.AddComments($$, $1.Comments()) @@ -2501,13 +2502,13 @@ encaps_var_offset: if _, err := strconv.Atoi($2.Value); err == nil { lnumber := scalar.NewLnumber($2.Value) positions.AddPosition(lnumber, positionBuilder.NewTokensPosition($1, $2)) - $$ = expr.NewUnaryMinus(lnumber) + fmt.Println("408"); $$ = expr.NewUnaryMinus(lnumber) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) comments.AddComments(lnumber, $1.Comments()) } else { $2.Value = "-"+$2.Value - $$ = scalar.NewString($2.Value) + fmt.Println("409"); $$ = scalar.NewString($2.Value) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $2)) } @@ -2517,7 +2518,7 @@ encaps_var_offset: { identifier := node.NewIdentifier($1.Value) positions.AddPosition(identifier, positionBuilder.NewTokenPosition($1)) - $$ = expr.NewVariable(identifier) + fmt.Println("410"); $$ = expr.NewVariable(identifier) positions.AddPosition($$, positionBuilder.NewTokenPosition($1)) comments.AddComments(identifier, $1.Comments()) @@ -2528,55 +2529,55 @@ encaps_var_offset: internal_functions_in_yacc: T_ISSET '(' isset_variables possible_comma ')' { - $$ = expr.NewIsset($3) + fmt.Println("411"); $$ = expr.NewIsset($3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $5)) comments.AddComments($$, $1.Comments()) } | T_EMPTY '(' expr ')' { - $$ = expr.NewEmpty($3) + fmt.Println("412"); $$ = expr.NewEmpty($3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } | T_INCLUDE expr { - $$ = expr.NewInclude($2) + fmt.Println("413"); $$ = expr.NewInclude($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_INCLUDE_ONCE expr { - $$ = expr.NewIncludeOnce($2) + fmt.Println("414"); $$ = expr.NewIncludeOnce($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_EVAL '(' expr ')' { - $$ = expr.NewEval($3) + fmt.Println("415"); $$ = expr.NewEval($3) positions.AddPosition($$, positionBuilder.NewTokensPosition($1, $4)) comments.AddComments($$, $1.Comments()) } | T_REQUIRE expr { - $$ = expr.NewRequire($2) + fmt.Println("416"); $$ = expr.NewRequire($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } | T_REQUIRE_ONCE expr { - $$ = expr.NewRequireOnce($2) + fmt.Println("417"); $$ = expr.NewRequireOnce($2) positions.AddPosition($$, positionBuilder.NewTokenNodePosition($1, $2)) comments.AddComments($$, $1.Comments()) } ; isset_variables: - isset_variable { $$ = []node.Node{$1} } - | isset_variables ',' isset_variable { $$ = append($1, $3) } + isset_variable { fmt.Println("418"); $$ = []node.Node{$1} } + | isset_variables ',' isset_variable { fmt.Println("419"); $$ = append($1, $3) } ; isset_variable: - expr { $$ = $1 } + expr { fmt.Println("420"); $$ = $1 } ; ///////////////////////////////////////////////////////////////////////// diff --git a/php7/php7_test.go b/php7/php7_test.go index d7e5bf4..0a727c6 100644 --- a/php7/php7_test.go +++ b/php7/php7_test.go @@ -57,10 +57,15 @@ func TestPhp7(t *testing.T) { $test '; <<bar()"; "test ${foo}"; "test ${foo[0]}"; @@ -104,7 +114,7 @@ CAD; while (1) { break; } while (1) { break 2; } - while (1) { break(3); } + while (1) : break(3); endwhile; class foo{ public const FOO = 1, BAR = 2; } class foo{ const FOO = 1, BAR = 2; } class foo{ function bar() {} } @@ -127,11 +137,13 @@ CAD; echo $a, 1; echo($a); for($i = 0; $i < 10; $i++, $i++) {} + for(; $i < 10; $i++, $i++) : endfor; foreach ($a as $v) {} foreach ($a as $v) : endforeach; foreach ($a as $k => $v) {} foreach ($a as $k => &$v) {} foreach ($a as $k => list($v)) {} + foreach ($a as $k => [$v]) {} function foo() {} function foo() {return;} function &foo() {return 1;} @@ -159,13 +171,24 @@ CAD; switch (1) : case 1: default: + case 2: + endswitch; + + switch (1) :; + case 1; case 2; endswitch; switch (1) { case 1: break; + case 2: break; + } + + switch (1) {; + case 1; break; case 2; break; } + throw $e; trait Foo {} class Foo { use Bar; } @@ -181,14 +204,19 @@ CAD; unset($a, $b,); use Foo; + use \Foo; + use \Foo as Bar; use Foo, Bar; use Foo, Bar as Baz; - use function Foo, Bar; - use const Foo, Bar; - use Foo\{Bar, Baz}; + use function Foo, \Bar; + use function Foo as foo, \Bar as bar; + use const Foo, \Bar; + use const Foo as foo, \Bar as bar; + + use \Foo\{Bar, Baz}; use Foo\{Bar, Baz as quux}; use function Foo\{Bar, Baz}; - use const Foo\{Bar, Baz}; + use const \Foo\{Bar, Baz}; use Foo\{const Bar, function Baz}; $a[1]; @@ -326,6 +354,17 @@ CAD; $a **= $b; $a <<= $b; $a >>= $b; + + class foo {public function class() {} } + \foo\bar(); + + function foo(&$a, ...$b) { + __halt_compiler(); + function bar() {} + class Baz {} + trait Quux{} + interface Quuux {} + } ` expectedParams := []node.Node{ @@ -463,12 +502,24 @@ CAD; &stmt.Expression{ Expr: &scalar.String{Value: "'\n\t\t\t$test\n\t\t'"}, }, + &stmt.Expression{ + Expr: &scalar.Encapsed{}, + }, &stmt.Expression{ Expr: &scalar.String{Value: "\thello\n"}, }, &stmt.Expression{ Expr: &scalar.String{Value: "\thello\n"}, }, + &stmt.Expression{ + Expr: &scalar.Encapsed{ + Parts: []node.Node{ + &scalar.EncapsedStringPart{Value: "\thello "}, + &expr.Variable{VarName: &node.Identifier{Value: "$world"}}, + &scalar.EncapsedStringPart{Value: "\n"}, + }, + }, + }, &stmt.Expression{ Expr: &scalar.String{Value: "\thello $world\n"}, }, @@ -527,6 +578,59 @@ CAD; }, }, }, + &stmt.Expression{ + Expr: &scalar.Encapsed{ + Parts: []node.Node{ + &scalar.EncapsedStringPart{Value: "test "}, + &expr.ArrayDimFetch{ + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$var"}}, + Dim: &scalar.Lnumber{Value: "1"}, + }, + }, + }, + }, + &stmt.Expression{ + Expr: &scalar.Encapsed{ + Parts: []node.Node{ + &scalar.EncapsedStringPart{Value: "test "}, + &expr.ArrayDimFetch{ + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$var"}}, + Dim: &scalar.String{Value: "1234567890123456789012345678901234567890"}, + }, + }, + }, + }, + &stmt.Expression{ + Expr: &scalar.Encapsed{ + Parts: []node.Node{ + &scalar.EncapsedStringPart{Value: "test "}, + &expr.ArrayDimFetch{ + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$var"}}, + Dim: &scalar.String{Value: "bar"}, + }, + }, + }, + }, + &stmt.Expression{ + Expr: &scalar.Encapsed{ + Parts: []node.Node{ + &scalar.EncapsedStringPart{Value: "test "}, + &expr.ArrayDimFetch{ + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$var"}}, + Dim: &expr.Variable{VarName: &node.Identifier{Value: "$bar"}}, + }, + }, + }, + }, + &stmt.Expression{ + Expr: &scalar.Encapsed{ + Parts: []node.Node{ + &expr.Variable{VarName: &node.Identifier{Value: "$foo"}}, + &scalar.EncapsedStringPart{Value: " "}, + &expr.Variable{VarName: &node.Identifier{Value: "$bar"}}, + }, + }, + }, &stmt.Expression{ Expr: &scalar.Encapsed{ Parts: []node.Node{ @@ -920,6 +1024,23 @@ CAD; }, Stmt: &stmt.StmtList{Stmts: []node.Node{}}, }, + &stmt.For{ + Cond: []node.Node{ + &binary_op.Smaller{ + Left: &expr.Variable{VarName: &node.Identifier{Value: "$i"}}, + Right: &scalar.Lnumber{Value: "10"}, + }, + }, + Loop: []node.Node{ + &expr.PostInc{ + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$i"}}, + }, + &expr.PostInc{ + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$i"}}, + }, + }, + Stmt: &stmt.StmtList{Stmts: []node.Node{}}, + }, &stmt.Foreach{ Expr: &expr.Variable{VarName: &node.Identifier{Value: "$a"}}, Variable: &expr.Variable{VarName: &node.Identifier{Value: "$v"}}, @@ -957,6 +1078,20 @@ CAD; }, Stmt: &stmt.StmtList{Stmts: []node.Node{}}, }, + &stmt.Foreach{ + ByRef: false, + Expr: &expr.Variable{VarName: &node.Identifier{Value: "$a"}}, + Key: &expr.Variable{VarName: &node.Identifier{Value: "$k"}}, + Variable: &expr.ShortList{ + Items: []node.Node{ + &expr.ArrayItem{ + ByRef: false, + Val: &expr.Variable{VarName: &node.Identifier{Value: "$v"}}, + }, + }, + }, + Stmt: &stmt.StmtList{Stmts: []node.Node{}}, + }, &stmt.Function{ ReturnsRef: false, PhpDocComment: "", @@ -1181,6 +1316,36 @@ CAD; }, }, }, + &stmt.Switch{ + Cond: &scalar.Lnumber{Value: "1"}, + Cases: []node.Node{ + &stmt.Case{ + Cond: &scalar.Lnumber{Value: "1"}, + Stmts: []node.Node{}, + }, + &stmt.Case{ + Cond: &scalar.Lnumber{Value: "2"}, + Stmts: []node.Node{}, + }, + }, + }, + &stmt.Switch{ + Cond: &scalar.Lnumber{Value: "1"}, + Cases: []node.Node{ + &stmt.Case{ + Cond: &scalar.Lnumber{Value: "1"}, + Stmts: []node.Node{ + &stmt.Break{}, + }, + }, + &stmt.Case{ + Cond: &scalar.Lnumber{Value: "2"}, + Stmts: []node.Node{ + &stmt.Break{}, + }, + }, + }, + }, &stmt.Switch{ Cond: &scalar.Lnumber{Value: "1"}, Cases: []node.Node{ @@ -1410,6 +1575,29 @@ CAD; }, }, }, + &stmt.UseList{ + Uses: []node.Node{ + &stmt.Use{ + Use: &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Foo"}, + }, + }, + }, + }, + }, + &stmt.UseList{ + Uses: []node.Node{ + &stmt.Use{ + Use: &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Foo"}, + }, + }, + Alias: &node.Identifier{Value: "Bar"}, + }, + }, + }, &stmt.UseList{ Uses: []node.Node{ &stmt.Use{ @@ -1466,6 +1654,27 @@ CAD; }, }, }, + &stmt.UseList{ + UseType: &node.Identifier{Value: "function"}, + Uses: []node.Node{ + &stmt.Use{ + Use: &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Foo"}, + }, + }, + Alias: &node.Identifier{Value: "foo"}, + }, + &stmt.Use{ + Use: &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Bar"}, + }, + }, + Alias: &node.Identifier{Value: "bar"}, + }, + }, + }, &stmt.UseList{ UseType: &node.Identifier{Value: "const"}, Uses: []node.Node{ @@ -1485,6 +1694,27 @@ CAD; }, }, }, + &stmt.UseList{ + UseType: &node.Identifier{Value: "const"}, + Uses: []node.Node{ + &stmt.Use{ + Use: &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Foo"}, + }, + }, + Alias: &node.Identifier{Value: "foo"}, + }, + &stmt.Use{ + Use: &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Bar"}, + }, + }, + Alias: &node.Identifier{Value: "bar"}, + }, + }, + }, &stmt.GroupUse{ Prefix: &name.Name{ Parts: []node.Node{ @@ -2517,6 +2747,61 @@ CAD; Expression: &expr.Variable{VarName: &node.Identifier{Value: "$b"}}, }, }, + &stmt.Class{ + ClassName: &node.Identifier{Value: "foo"}, + Stmts: []node.Node{ + &stmt.ClassMethod{ + MethodName: &node.Identifier{Value: "class"}, + Modifiers: []node.Node{&node.Identifier{Value: "public"}}, + Stmts: []node.Node{}, + }, + }, + }, + &stmt.Expression{ + Expr: &expr.FunctionCall{ + Function: &name.FullyQualified{ + Parts: []node.Node{ + &name.NamePart{Value: "foo"}, + &name.NamePart{Value: "bar"}, + }, + }, + Arguments: []node.Node{}, + }, + }, + &stmt.Function{ + FunctionName: &node.Identifier{Value: "foo"}, + Params: []node.Node{ + &node.Parameter{ + ByRef: true, + Variadic: false, + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$a"}}, + }, + &node.Parameter{ + ByRef: false, + Variadic: true, + Variable: &expr.Variable{VarName: &node.Identifier{Value: "$b"}}, + }, + }, + Stmts: []node.Node{ + &stmt.HaltCompiler{}, + &stmt.Function{ + FunctionName: &node.Identifier{Value: "bar"}, + Stmts: []node.Node{}, + }, + &stmt.Class{ + ClassName: &node.Identifier{Value: "Baz"}, + Stmts: []node.Node{}, + }, + &stmt.Trait{ + TraitName: &node.Identifier{Value: "Quux"}, + Stmts: []node.Node{}, + }, + &stmt.Interface{ + InterfaceName: &node.Identifier{Value: "Quuux"}, + Stmts: []node.Node{}, + }, + }, + }, }, }