diff --git a/php5/php5.go b/php5/php5.go index 822ab09..77757d7 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -348,7 +348,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:7259 +//line php5/php5.y:7261 type simpleIndirectReference struct { all []*expr.Variable @@ -5638,11 +5638,13 @@ yydefault: // save comments yyDollar[2].token.Meta.SetTokenName(meta.EqualToken).AppendTo(yyVAL.node.GetMeta()) + yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta()) + yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } case 234: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3414 + //line php5/php5.y:3416 { yyVAL.node = assign.NewReference(yyDollar[1].node, yyDollar[4].node) @@ -5659,7 +5661,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3429 + //line php5/php5.y:3431 { var _new *expr.New @@ -5689,7 +5691,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3457 + //line php5/php5.y:3459 { yyVAL.node = expr.NewClone(yyDollar[2].node) @@ -5703,7 +5705,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3469 + //line php5/php5.y:3471 { yyVAL.node = assign.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -5719,7 +5721,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3483 + //line php5/php5.y:3485 { yyVAL.node = assign.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -5735,7 +5737,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3497 + //line php5/php5.y:3499 { yyVAL.node = assign.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -5751,7 +5753,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3511 + //line php5/php5.y:3513 { yyVAL.node = assign.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -5767,7 +5769,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3525 + //line php5/php5.y:3527 { yyVAL.node = assign.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -5783,7 +5785,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3539 + //line php5/php5.y:3541 { yyVAL.node = assign.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -5799,7 +5801,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3553 + //line php5/php5.y:3555 { yyVAL.node = assign.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -5815,7 +5817,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3567 + //line php5/php5.y:3569 { yyVAL.node = assign.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -5831,7 +5833,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3581 + //line php5/php5.y:3583 { yyVAL.node = assign.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -5847,7 +5849,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3595 + //line php5/php5.y:3597 { yyVAL.node = assign.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -5863,7 +5865,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3609 + //line php5/php5.y:3611 { yyVAL.node = assign.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -5879,7 +5881,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3623 + //line php5/php5.y:3625 { yyVAL.node = assign.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -5895,7 +5897,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3637 + //line php5/php5.y:3639 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) @@ -5911,7 +5913,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3651 + //line php5/php5.y:3653 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) @@ -5925,7 +5927,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3663 + //line php5/php5.y:3665 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) @@ -5941,7 +5943,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3677 + //line php5/php5.y:3679 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) @@ -5955,7 +5957,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3689 + //line php5/php5.y:3691 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) @@ -5971,7 +5973,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3703 + //line php5/php5.y:3705 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) @@ -5987,7 +5989,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3717 + //line php5/php5.y:3719 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) @@ -6003,7 +6005,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3731 + //line php5/php5.y:3733 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) @@ -6019,7 +6021,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3745 + //line php5/php5.y:3747 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) @@ -6035,7 +6037,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3759 + //line php5/php5.y:3761 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -6051,7 +6053,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3773 + //line php5/php5.y:3775 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -6067,7 +6069,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3787 + //line php5/php5.y:3789 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -6083,7 +6085,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3801 + //line php5/php5.y:3803 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -6099,7 +6101,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3815 + //line php5/php5.y:3817 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -6115,7 +6117,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3829 + //line php5/php5.y:3831 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -6131,7 +6133,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3843 + //line php5/php5.y:3845 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -6147,7 +6149,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3857 + //line php5/php5.y:3859 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -6163,7 +6165,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3871 + //line php5/php5.y:3873 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -6179,7 +6181,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3885 + //line php5/php5.y:3887 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -6195,7 +6197,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3899 + //line php5/php5.y:3901 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -6211,7 +6213,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3913 + //line php5/php5.y:3915 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -6227,7 +6229,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3927 + //line php5/php5.y:3929 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) @@ -6241,7 +6243,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3939 + //line php5/php5.y:3941 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) @@ -6255,7 +6257,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3951 + //line php5/php5.y:3953 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) @@ -6269,7 +6271,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3963 + //line php5/php5.y:3965 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) @@ -6283,7 +6285,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3975 + //line php5/php5.y:3977 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) @@ -6299,7 +6301,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3989 + //line php5/php5.y:3991 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) @@ -6315,7 +6317,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4003 + //line php5/php5.y:4005 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) @@ -6331,7 +6333,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4017 + //line php5/php5.y:4019 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) @@ -6348,7 +6350,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4032 + //line php5/php5.y:4034 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) @@ -6364,7 +6366,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4046 + //line php5/php5.y:4048 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -6380,7 +6382,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4060 + //line php5/php5.y:4062 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) @@ -6396,7 +6398,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4074 + //line php5/php5.y:4076 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -6412,7 +6414,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4088 + //line php5/php5.y:4090 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) @@ -6428,7 +6430,7 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4102 + //line php5/php5.y:4104 { yyVAL.node = yyDollar[1].node @@ -6439,7 +6441,7 @@ yydefault: } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4111 + //line php5/php5.y:4113 { yyVAL.node = yyDollar[1].node @@ -6447,7 +6449,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4117 + //line php5/php5.y:4119 { yyVAL.node = yyDollar[2].node @@ -6483,7 +6485,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:4151 + //line php5/php5.y:4153 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) @@ -6500,7 +6502,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4166 + //line php5/php5.y:4168 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) @@ -6517,7 +6519,7 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4181 + //line php5/php5.y:4183 { yyVAL.node = yyDollar[1].node @@ -6525,7 +6527,7 @@ yydefault: } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4187 + //line php5/php5.y:4189 { yyVAL.node = cast.NewInt(yyDollar[2].node) @@ -6540,7 +6542,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4200 + //line php5/php5.y:4202 { yyVAL.node = cast.NewDouble(yyDollar[2].node) @@ -6555,7 +6557,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4213 + //line php5/php5.y:4215 { yyVAL.node = cast.NewString(yyDollar[2].node) @@ -6570,7 +6572,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4226 + //line php5/php5.y:4228 { yyVAL.node = cast.NewArray(yyDollar[2].node) @@ -6585,7 +6587,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4239 + //line php5/php5.y:4241 { yyVAL.node = cast.NewObject(yyDollar[2].node) @@ -6600,7 +6602,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4252 + //line php5/php5.y:4254 { yyVAL.node = cast.NewBool(yyDollar[2].node) @@ -6615,7 +6617,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4265 + //line php5/php5.y:4267 { yyVAL.node = cast.NewUnset(yyDollar[2].node) @@ -6630,7 +6632,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4278 + //line php5/php5.y:4280 { var e *expr.Exit if yyDollar[2].node != nil { @@ -6659,7 +6661,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4305 + //line php5/php5.y:4307 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) @@ -6673,7 +6675,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4317 + //line php5/php5.y:4319 { yyVAL.node = yyDollar[1].node @@ -6681,7 +6683,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4323 + //line php5/php5.y:4325 { yyVAL.node = yyDollar[1].node @@ -6689,7 +6691,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4329 + //line php5/php5.y:4331 { yyVAL.node = yyDollar[1].node @@ -6697,7 +6699,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4335 + //line php5/php5.y:4337 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) @@ -6711,7 +6713,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4347 + //line php5/php5.y:4349 { yyVAL.node = expr.NewPrint(yyDollar[2].node) @@ -6725,7 +6727,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4359 + //line php5/php5.y:4361 { yyVAL.node = expr.NewYield(nil, nil) @@ -6739,7 +6741,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:4371 + //line php5/php5.y:4373 { yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].ClosureUse, nil, yyDollar[8].list, false, yyDollar[2].token != nil, "") @@ -6760,7 +6762,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:4390 + //line php5/php5.y:4392 { yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].ClosureUse, nil, yyDollar[9].list, true, yyDollar[3].token != nil, "") @@ -6782,7 +6784,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4413 + //line php5/php5.y:4415 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) @@ -6796,7 +6798,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4425 + //line php5/php5.y:4427 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) @@ -6810,7 +6812,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4437 + //line php5/php5.y:4439 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) @@ -6825,7 +6827,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4450 + //line php5/php5.y:4452 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) @@ -6840,7 +6842,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4466 + //line php5/php5.y:4468 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -6859,7 +6861,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4483 + //line php5/php5.y:4485 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -6878,7 +6880,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4500 + //line php5/php5.y:4502 { str := scalar.NewString(yyDollar[1].token.Value) yyVAL.node = expr.NewArrayDimFetch(str, yyDollar[3].node) @@ -6898,7 +6900,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4518 + //line php5/php5.y:4520 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -6917,7 +6919,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4538 + //line php5/php5.y:4540 { yyVAL.node = expr.NewArray(yyDollar[3].list) @@ -6933,7 +6935,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4552 + //line php5/php5.y:4554 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) @@ -6948,13 +6950,13 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4568 + //line php5/php5.y:4570 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:4575 + //line php5/php5.y:4577 { yyVAL.ClosureUse = nil @@ -6962,7 +6964,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4581 + //line php5/php5.y:4583 { yyVAL.ClosureUse = expr.NewClosureUse(yyDollar[3].list) @@ -6978,7 +6980,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4598 + //line php5/php5.y:4600 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[3].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -6997,7 +6999,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4615 + //line php5/php5.y:4617 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[4].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -7019,7 +7021,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4635 + //line php5/php5.y:4637 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -7037,7 +7039,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4651 + //line php5/php5.y:4653 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[2].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -7058,7 +7060,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4673 + //line php5/php5.y:4675 { name := name.NewName(yyDollar[1].list) yyVAL.node = expr.NewFunctionCall(name, yyDollar[2].node.(*node.ArgumentList)) @@ -7074,7 +7076,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4687 + //line php5/php5.y:4689 { funcName := name.NewRelative(yyDollar[3].list) yyVAL.node = expr.NewFunctionCall(funcName, yyDollar[4].node.(*node.ArgumentList)) @@ -7091,7 +7093,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4702 + //line php5/php5.y:4704 { funcName := name.NewFullyQualified(yyDollar[2].list) yyVAL.node = expr.NewFunctionCall(funcName, yyDollar[3].node.(*node.ArgumentList)) @@ -7107,7 +7109,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4716 + //line php5/php5.y:4718 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7122,7 +7124,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4729 + //line php5/php5.y:4731 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7137,7 +7139,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4742 + //line php5/php5.y:4744 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7152,7 +7154,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4755 + //line php5/php5.y:4757 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) @@ -7167,7 +7169,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4768 + //line php5/php5.y:4770 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].node.(*node.ArgumentList)) @@ -7179,7 +7181,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4781 + //line php5/php5.y:4783 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -7193,7 +7195,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4793 + //line php5/php5.y:4795 { yyVAL.node = name.NewName(yyDollar[1].list) @@ -7207,7 +7209,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4805 + //line php5/php5.y:4807 { yyVAL.node = name.NewRelative(yyDollar[3].list) @@ -7222,7 +7224,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4818 + //line php5/php5.y:4820 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) @@ -7236,7 +7238,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4833 + //line php5/php5.y:4835 { yyVAL.node = name.NewName(yyDollar[1].list) @@ -7250,7 +7252,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:4845 + //line php5/php5.y:4847 { yyVAL.node = name.NewRelative(yyDollar[3].list) @@ -7265,7 +7267,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4858 + //line php5/php5.y:4860 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) @@ -7279,7 +7281,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4873 + //line php5/php5.y:4875 { yyVAL.node = yyDollar[1].node @@ -7287,7 +7289,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4879 + //line php5/php5.y:4881 { yyVAL.node = yyDollar[1].node @@ -7295,7 +7297,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:4888 + //line php5/php5.y:4890 { yyVAL.node = yyDollar[1].node @@ -7338,7 +7340,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4929 + //line php5/php5.y:4931 { yyVAL.node = yyDollar[1].node @@ -7346,7 +7348,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4939 + //line php5/php5.y:4941 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) @@ -7354,7 +7356,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:4945 + //line php5/php5.y:4947 { yyVAL.list = []node.Node{} @@ -7362,7 +7364,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4955 + //line php5/php5.y:4957 { yyVAL.list = yyDollar[2].list @@ -7373,7 +7375,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:4967 + //line php5/php5.y:4969 { yyVAL.node = nil @@ -7381,7 +7383,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:4973 + //line php5/php5.y:4975 { yyVAL.node = expr.NewExit(nil) @@ -7398,7 +7400,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:4988 + //line php5/php5.y:4990 { yyVAL.node = expr.NewExit(yyDollar[1].node) @@ -7417,7 +7419,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5008 + //line php5/php5.y:5010 { yyVAL.list = []node.Node{} @@ -7425,7 +7427,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5014 + //line php5/php5.y:5016 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} @@ -7433,7 +7435,7 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5020 + //line php5/php5.y:5022 { yyVAL.list = yyDollar[1].list @@ -7441,7 +7443,7 @@ yydefault: } case 351: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5029 + //line php5/php5.y:5031 { yyVAL.node = nil @@ -7449,7 +7451,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5035 + //line php5/php5.y:5037 { yyVAL.node = yyDollar[1].node @@ -7457,7 +7459,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5044 + //line php5/php5.y:5046 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) @@ -7471,7 +7473,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5056 + //line php5/php5.y:5058 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) @@ -7485,7 +7487,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5068 + //line php5/php5.y:5070 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) @@ -7499,7 +7501,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5080 + //line php5/php5.y:5082 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7513,7 +7515,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5092 + //line php5/php5.y:5094 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7527,7 +7529,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5104 + //line php5/php5.y:5106 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7541,7 +7543,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5116 + //line php5/php5.y:5118 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7555,7 +7557,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5128 + //line php5/php5.y:5130 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7569,7 +7571,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5140 + //line php5/php5.y:5142 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7583,7 +7585,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5152 + //line php5/php5.y:5154 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7597,7 +7599,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5164 + //line php5/php5.y:5166 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, []node.Node{encapsed}) @@ -7613,7 +7615,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5178 + //line php5/php5.y:5180 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, nil) @@ -7627,7 +7629,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5193 + //line php5/php5.y:5195 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -7646,7 +7648,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5213 + //line php5/php5.y:5215 { yyVAL.node = yyDollar[1].node @@ -7654,7 +7656,7 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5222 + //line php5/php5.y:5224 { yyVAL.node = yyDollar[1].node @@ -7662,7 +7664,7 @@ yydefault: } case 368: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5228 + //line php5/php5.y:5230 { yyVAL.node = yyDollar[1].node @@ -7670,7 +7672,7 @@ yydefault: } case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5234 + //line php5/php5.y:5236 { name := name.NewName(yyDollar[1].list) yyVAL.node = expr.NewConstFetch(name) @@ -7686,7 +7688,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5248 + //line php5/php5.y:5250 { name := name.NewRelative(yyDollar[3].list) yyVAL.node = expr.NewConstFetch(name) @@ -7703,7 +7705,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5263 + //line php5/php5.y:5265 { name := name.NewFullyQualified(yyDollar[2].list) yyVAL.node = expr.NewConstFetch(name) @@ -7719,7 +7721,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:5277 + //line php5/php5.y:5279 { yyVAL.node = expr.NewArray(yyDollar[3].list) @@ -7735,7 +7737,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5291 + //line php5/php5.y:5293 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) @@ -7750,7 +7752,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5304 + //line php5/php5.y:5306 { yyVAL.node = yyDollar[1].node @@ -7758,7 +7760,7 @@ yydefault: } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5310 + //line php5/php5.y:5312 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -7772,7 +7774,7 @@ yydefault: } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5322 + //line php5/php5.y:5324 { yyVAL.node = yyDollar[1].node @@ -7780,7 +7782,7 @@ yydefault: } case 377: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:5331 + //line php5/php5.y:5333 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -7799,7 +7801,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5348 + //line php5/php5.y:5350 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) @@ -7815,7 +7817,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5362 + //line php5/php5.y:5364 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) @@ -7831,7 +7833,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5376 + //line php5/php5.y:5378 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) @@ -7847,7 +7849,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5390 + //line php5/php5.y:5392 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) @@ -7863,7 +7865,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5404 + //line php5/php5.y:5406 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) @@ -7879,7 +7881,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5418 + //line php5/php5.y:5420 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) @@ -7895,7 +7897,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5432 + //line php5/php5.y:5434 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) @@ -7909,7 +7911,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5444 + //line php5/php5.y:5446 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) @@ -7923,7 +7925,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5456 + //line php5/php5.y:5458 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) @@ -7939,7 +7941,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5470 + //line php5/php5.y:5472 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) @@ -7955,7 +7957,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5484 + //line php5/php5.y:5486 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) @@ -7971,7 +7973,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5498 + //line php5/php5.y:5500 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) @@ -7987,7 +7989,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5512 + //line php5/php5.y:5514 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) @@ -8003,7 +8005,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5526 + //line php5/php5.y:5528 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) @@ -8019,7 +8021,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5540 + //line php5/php5.y:5542 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) @@ -8035,7 +8037,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5554 + //line php5/php5.y:5556 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) @@ -8051,7 +8053,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5568 + //line php5/php5.y:5570 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) @@ -8067,7 +8069,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5582 + //line php5/php5.y:5584 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) @@ -8083,7 +8085,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5596 + //line php5/php5.y:5598 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) @@ -8099,7 +8101,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5610 + //line php5/php5.y:5612 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) @@ -8115,7 +8117,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5624 + //line php5/php5.y:5626 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) @@ -8131,7 +8133,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5638 + //line php5/php5.y:5640 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) @@ -8147,7 +8149,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5652 + //line php5/php5.y:5654 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) @@ -8164,7 +8166,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5667 + //line php5/php5.y:5669 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) @@ -8180,7 +8182,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5681 + //line php5/php5.y:5683 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) @@ -8196,7 +8198,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5695 + //line php5/php5.y:5697 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -8212,7 +8214,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5709 + //line php5/php5.y:5711 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) @@ -8228,7 +8230,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:5723 + //line php5/php5.y:5725 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) @@ -8245,7 +8247,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:5738 + //line php5/php5.y:5740 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) @@ -8262,7 +8264,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5753 + //line php5/php5.y:5755 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) @@ -8276,7 +8278,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5765 + //line php5/php5.y:5767 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) @@ -8290,7 +8292,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5777 + //line php5/php5.y:5779 { yyVAL.node = yyDollar[2].node @@ -8304,7 +8306,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5792 + //line php5/php5.y:5794 { yyVAL.node = yyDollar[1].node @@ -8312,7 +8314,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5798 + //line php5/php5.y:5800 { name := name.NewName(yyDollar[1].list) yyVAL.node = expr.NewConstFetch(name) @@ -8328,7 +8330,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5812 + //line php5/php5.y:5814 { name := name.NewRelative(yyDollar[3].list) yyVAL.node = expr.NewConstFetch(name) @@ -8343,7 +8345,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5825 + //line php5/php5.y:5827 { name := name.NewFullyQualified(yyDollar[2].list) yyVAL.node = expr.NewConstFetch(name) @@ -8359,7 +8361,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5842 + //line php5/php5.y:5844 { name := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = expr.NewVariable(name) @@ -8376,7 +8378,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5857 + //line php5/php5.y:5859 { yyVAL.node = yyDollar[1].node @@ -8384,7 +8386,7 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5863 + //line php5/php5.y:5865 { yyVAL.node = yyDollar[1].node @@ -8392,7 +8394,7 @@ yydefault: } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5869 + //line php5/php5.y:5871 { yyVAL.node = yyDollar[1].node @@ -8400,7 +8402,7 @@ yydefault: } case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5875 + //line php5/php5.y:5877 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) @@ -8414,7 +8416,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5887 + //line php5/php5.y:5889 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, yyDollar[2].list) @@ -8428,7 +8430,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5899 + //line php5/php5.y:5901 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) @@ -8442,7 +8444,7 @@ yydefault: } case 421: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5914 + //line php5/php5.y:5916 { yyVAL.list = nil @@ -8450,7 +8452,7 @@ yydefault: } case 422: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:5920 + //line php5/php5.y:5922 { yyVAL.list = yyDollar[1].list @@ -8463,19 +8465,19 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:5934 + //line php5/php5.y:5936 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5938 + //line php5/php5.y:5940 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:5945 + //line php5/php5.y:5947 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8493,7 +8495,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5961 + //line php5/php5.y:5963 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -8510,7 +8512,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:5976 + //line php5/php5.y:5978 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node) yyVAL.list = []node.Node{arrayItem} @@ -8527,7 +8529,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:5991 + //line php5/php5.y:5993 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node) yyVAL.list = []node.Node{arrayItem} @@ -8541,7 +8543,7 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6006 + //line php5/php5.y:6008 { yyVAL.node = yyDollar[1].node @@ -8549,7 +8551,7 @@ yydefault: } case 430: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6012 + //line php5/php5.y:6014 { yyVAL.node = yyDollar[1].node @@ -8557,7 +8559,7 @@ yydefault: } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6021 + //line php5/php5.y:6023 { yyVAL.node = yyDollar[2].node @@ -8571,7 +8573,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6033 + //line php5/php5.y:6035 { yyVAL.node = yyDollar[2].node @@ -8585,7 +8587,7 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6049 + //line php5/php5.y:6051 { yyVAL.node = yyDollar[1].node @@ -8593,7 +8595,7 @@ yydefault: } case 434: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6059 + //line php5/php5.y:6061 { yyVAL.node = yyDollar[1].node @@ -8601,7 +8603,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6068 + //line php5/php5.y:6070 { yyVAL.node = yyDollar[1].node @@ -8609,7 +8611,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:6077 + //line php5/php5.y:6079 { yyVAL.node = yyDollar[1].node @@ -8669,7 +8671,7 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6135 + //line php5/php5.y:6137 { yyVAL.node = yyDollar[1].node @@ -8677,7 +8679,7 @@ yydefault: } case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6144 + //line php5/php5.y:6146 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) @@ -8685,7 +8687,7 @@ yydefault: } case 439: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6150 + //line php5/php5.y:6152 { yyVAL.list = []node.Node{} @@ -8693,7 +8695,7 @@ yydefault: } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6160 + //line php5/php5.y:6162 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -8709,7 +8711,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6177 + //line php5/php5.y:6179 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, fetch) @@ -8727,7 +8729,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6193 + //line php5/php5.y:6195 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = []node.Node{yyDollar[1].node, fetch} @@ -8745,7 +8747,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6212 + //line php5/php5.y:6214 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].node.(*node.ArgumentList)) @@ -8756,7 +8758,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6224 + //line php5/php5.y:6226 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -8764,7 +8766,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6230 + //line php5/php5.y:6232 { yyVAL.list = yyDollar[1].list @@ -8772,7 +8774,7 @@ yydefault: } case 446: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6236 + //line php5/php5.y:6238 { yyVAL.list = nil @@ -8780,7 +8782,7 @@ yydefault: } case 447: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6245 + //line php5/php5.y:6247 { yyVAL.node = yyDollar[1].node @@ -8788,7 +8790,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6251 + //line php5/php5.y:6253 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -8802,7 +8804,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6266 + //line php5/php5.y:6268 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -8818,7 +8820,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6280 + //line php5/php5.y:6282 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) @@ -8834,7 +8836,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6297 + //line php5/php5.y:6299 { yyVAL.node = yyDollar[1].node @@ -8842,7 +8844,7 @@ yydefault: } case 452: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6306 + //line php5/php5.y:6308 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8861,7 +8863,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6323 + //line php5/php5.y:6325 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8880,7 +8882,7 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6343 + //line php5/php5.y:6345 { yyVAL.node = yyDollar[1].node @@ -8888,7 +8890,7 @@ yydefault: } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6349 + //line php5/php5.y:6351 { yyVAL.node = yyDollar[1].node @@ -8896,7 +8898,7 @@ yydefault: } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6355 + //line php5/php5.y:6357 { yyVAL.node = yyDollar[1].node @@ -8904,7 +8906,7 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6365 + //line php5/php5.y:6367 { yyVAL.node = yyDollar[1].node @@ -8912,7 +8914,7 @@ yydefault: } case 458: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6371 + //line php5/php5.y:6373 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -8926,7 +8928,7 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6383 + //line php5/php5.y:6385 { yyVAL.node = yyDollar[1].node @@ -8934,7 +8936,7 @@ yydefault: } case 460: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6392 + //line php5/php5.y:6394 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8953,7 +8955,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6409 + //line php5/php5.y:6411 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) @@ -8972,7 +8974,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6426 + //line php5/php5.y:6428 { yyVAL.node = yyDollar[1].node @@ -8980,7 +8982,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6436 + //line php5/php5.y:6438 { name := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(name) @@ -8997,7 +8999,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6451 + //line php5/php5.y:6453 { yyVAL.node = expr.NewVariable(yyDollar[3].node) @@ -9016,7 +9018,7 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6471 + //line php5/php5.y:6473 { yyVAL.node = nil @@ -9024,7 +9026,7 @@ yydefault: } case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6477 + //line php5/php5.y:6479 { yyVAL.node = yyDollar[1].node @@ -9032,7 +9034,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6487 + //line php5/php5.y:6489 { yyVAL.list = yyDollar[1].list @@ -9040,7 +9042,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6493 + //line php5/php5.y:6495 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) yyVAL.list = []node.Node{fetch} @@ -9052,7 +9054,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6506 + //line php5/php5.y:6508 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, fetch) @@ -9070,7 +9072,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6522 + //line php5/php5.y:6524 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, fetch) @@ -9088,7 +9090,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6538 + //line php5/php5.y:6540 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) yyVAL.list = []node.Node{fetch} @@ -9100,7 +9102,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6551 + //line php5/php5.y:6553 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -9114,7 +9116,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6563 + //line php5/php5.y:6565 { yyVAL.node = yyDollar[2].node @@ -9131,7 +9133,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6581 + //line php5/php5.y:6583 { n := expr.NewVariable(nil) yyVAL.simpleIndirectReference = simpleIndirectReference{[]*expr.Variable{n}, n} @@ -9147,7 +9149,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6595 + //line php5/php5.y:6597 { n := expr.NewVariable(nil) @@ -9167,7 +9169,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6616 + //line php5/php5.y:6618 { if len(yyDollar[1].list) == 0 { yyDollar[1].list = []node.Node{expr.NewArrayItem(nil, nil)} @@ -9182,7 +9184,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6629 + //line php5/php5.y:6631 { if yyDollar[1].node.(*expr.ArrayItem).Key == nil && yyDollar[1].node.(*expr.ArrayItem).Val == nil { yyVAL.list = []node.Node{} @@ -9194,7 +9196,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6643 + //line php5/php5.y:6645 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node) @@ -9207,7 +9209,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6654 + //line php5/php5.y:6656 { item := expr.NewList(yyDollar[3].list) yyVAL.node = expr.NewArrayItem(nil, item) @@ -9225,7 +9227,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6670 + //line php5/php5.y:6672 { yyVAL.node = expr.NewArrayItem(nil, nil) @@ -9233,7 +9235,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:6680 + //line php5/php5.y:6682 { yyVAL.list = []node.Node{} @@ -9241,7 +9243,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6686 + //line php5/php5.y:6688 { yyVAL.list = yyDollar[1].list @@ -9258,7 +9260,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:6704 + //line php5/php5.y:6706 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -9276,7 +9278,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6720 + //line php5/php5.y:6722 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node) yyVAL.list = append(yyDollar[1].list, arrayItem) @@ -9293,7 +9295,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6735 + //line php5/php5.y:6737 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node) yyVAL.list = []node.Node{arrayItem} @@ -9310,7 +9312,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6750 + //line php5/php5.y:6752 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node) yyVAL.list = []node.Node{arrayItem} @@ -9324,7 +9326,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:6762 + //line php5/php5.y:6764 { reference := expr.NewReference(yyDollar[6].node) arrayItem := expr.NewArrayItem(yyDollar[3].node, reference) @@ -9345,7 +9347,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6781 + //line php5/php5.y:6783 { reference := expr.NewReference(yyDollar[4].node) arrayItem := expr.NewArrayItem(nil, reference) @@ -9363,7 +9365,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6797 + //line php5/php5.y:6799 { reference := expr.NewReference(yyDollar[4].node) arrayItem := expr.NewArrayItem(yyDollar[1].node, reference) @@ -9383,7 +9385,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6815 + //line php5/php5.y:6817 { reference := expr.NewReference(yyDollar[2].node) arrayItem := expr.NewArrayItem(nil, reference) @@ -9400,7 +9402,7 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6833 + //line php5/php5.y:6835 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -9408,7 +9410,7 @@ yydefault: } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6839 + //line php5/php5.y:6841 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yyVAL.list = append(yyDollar[1].list, encapsed) @@ -9423,7 +9425,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6852 + //line php5/php5.y:6854 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -9431,7 +9433,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:6858 + //line php5/php5.y:6860 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) yyVAL.list = []node.Node{encapsed, yyDollar[2].node} @@ -9446,7 +9448,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:6874 + //line php5/php5.y:6876 { name := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(name) @@ -9463,7 +9465,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:6889 + //line php5/php5.y:6891 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -9485,7 +9487,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6909 + //line php5/php5.y:6911 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) variable := expr.NewVariable(identifier) @@ -9507,7 +9509,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6929 + //line php5/php5.y:6931 { variable := expr.NewVariable(yyDollar[2].node) @@ -9525,7 +9527,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6945 + //line php5/php5.y:6947 { name := node.NewIdentifier(yyDollar[2].token.Value) variable := expr.NewVariable(name) @@ -9546,7 +9548,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:6964 + //line php5/php5.y:6966 { identifier := node.NewIdentifier(yyDollar[2].token.Value) variable := expr.NewVariable(identifier) @@ -9570,7 +9572,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:6986 + //line php5/php5.y:6988 { yyVAL.node = yyDollar[2].node @@ -9583,7 +9585,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7000 + //line php5/php5.y:7002 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) @@ -9597,7 +9599,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7012 + //line php5/php5.y:7014 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -9613,7 +9615,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7026 + //line php5/php5.y:7028 { identifier := node.NewIdentifier(strings.TrimLeftFunc(yyDollar[1].token.Value, isDollar)) yyVAL.node = expr.NewVariable(identifier) @@ -9630,7 +9632,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:7044 + //line php5/php5.y:7046 { yyVAL.node = expr.NewIsset(yyDollar[3].list) @@ -9646,7 +9648,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:7058 + //line php5/php5.y:7060 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) @@ -9662,7 +9664,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:7072 + //line php5/php5.y:7074 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) @@ -9678,7 +9680,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7086 + //line php5/php5.y:7088 { yyVAL.node = expr.NewInclude(yyDollar[2].node) @@ -9692,7 +9694,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7098 + //line php5/php5.y:7100 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) @@ -9706,7 +9708,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:7110 + //line php5/php5.y:7112 { yyVAL.node = expr.NewEval(yyDollar[3].node) @@ -9722,7 +9724,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7124 + //line php5/php5.y:7126 { yyVAL.node = expr.NewRequire(yyDollar[2].node) @@ -9736,7 +9738,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:7136 + //line php5/php5.y:7138 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) @@ -9750,7 +9752,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7151 + //line php5/php5.y:7153 { yyVAL.list = []node.Node{yyDollar[1].node} @@ -9758,7 +9760,7 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7157 + //line php5/php5.y:7159 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -9769,7 +9771,7 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7169 + //line php5/php5.y:7171 { yyVAL.node = yyDollar[1].node @@ -9777,7 +9779,7 @@ yydefault: } case 516: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:7175 + //line php5/php5.y:7177 { yyVAL.node = yyDollar[1].node @@ -9785,7 +9787,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7184 + //line php5/php5.y:7186 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -9804,7 +9806,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7201 + //line php5/php5.y:7203 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -9823,7 +9825,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7221 + //line php5/php5.y:7223 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) @@ -9842,7 +9844,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:7241 + //line php5/php5.y:7243 { target := node.NewIdentifier(yyDollar[3].token.Value) yyVAL.node = expr.NewClassConstFetch(yyDollar[1].node, target) diff --git a/php5/php5.y b/php5/php5.y index 5c6de94..6f2c7d7 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -3408,6 +3408,8 @@ expr_without_variable: // save comments $2.Meta.SetTokenName(meta.EqualToken).AppendTo($$.GetMeta()) + $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta()) + yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | variable '=' '&' variable