diff --git a/php5/php5.go b/php5/php5.go index 0a4c39a..5509d4f 100644 --- a/php5/php5.go +++ b/php5/php5.go @@ -24,7 +24,6 @@ type yySymType struct { yys int node node.Node token *scanner.Token - boolWithToken boolWithToken list []node.Node foreachVariable foreachVariable simpleIndirectReference simpleIndirectReference @@ -342,18 +341,13 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line php5/php5.y:3994 +//line php5/php5.y:3993 type foreachVariable struct { node node.Node byRef bool } -type boolWithToken struct { - value bool - token *scanner.Token -} - type simpleIndirectReference struct { all []*expr.Variable last *expr.Variable @@ -2333,14 +2327,14 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:270 + //line php5/php5.y:269 { yylex.(*Parser).rootNode = node.NewRoot(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(yylex.(*Parser).rootNode, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) } case 2: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:278 + //line php5/php5.y:277 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2348,13 +2342,13 @@ yydefault: } case 3: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:283 + //line php5/php5.y:282 { yyVAL.list = []node.Node{} } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:288 + //line php5/php5.y:287 { namePart := name.NewNamePart(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(namePart, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2363,7 +2357,7 @@ yydefault: } case 5: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:295 + //line php5/php5.y:294 { namePart := name.NewNamePart(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(namePart, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2372,32 +2366,32 @@ yydefault: } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:305 + //line php5/php5.y:304 { // error yyVAL.node = nil } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:310 + //line php5/php5.y:309 { yyVAL.node = yyDollar[1].node } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:312 + //line php5/php5.y:311 { yyVAL.node = yyDollar[1].node } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:314 + //line php5/php5.y:313 { yyVAL.node = yyDollar[1].node } case 10: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:316 + //line php5/php5.y:315 { yyVAL.node = stmt.NewHaltCompiler() yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2405,7 +2399,7 @@ yydefault: } case 11: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:322 + //line php5/php5.y:321 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2417,7 +2411,7 @@ yydefault: } case 12: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:332 + //line php5/php5.y:331 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2429,7 +2423,7 @@ yydefault: } case 13: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:342 + //line php5/php5.y:341 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2437,7 +2431,7 @@ yydefault: } case 14: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:348 + //line php5/php5.y:347 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2445,7 +2439,7 @@ yydefault: } case 15: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:354 + //line php5/php5.y:353 { useType := node.NewIdentifier(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2457,7 +2451,7 @@ yydefault: } case 16: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:364 + //line php5/php5.y:363 { useType := node.NewIdentifier(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2469,25 +2463,25 @@ yydefault: } case 17: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:374 + //line php5/php5.y:373 { yyVAL.node = yyDollar[1].node } case 18: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:379 + //line php5/php5.y:378 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:381 + //line php5/php5.y:380 { yyVAL.list = []node.Node{yyDollar[1].node} } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:386 + //line php5/php5.y:385 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2499,7 +2493,7 @@ yydefault: } case 21: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:396 + //line php5/php5.y:395 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2514,7 +2508,7 @@ yydefault: } case 22: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:409 + //line php5/php5.y:408 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2526,7 +2520,7 @@ yydefault: } case 23: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:419 + //line php5/php5.y:418 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2541,19 +2535,19 @@ yydefault: } case 24: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:435 + //line php5/php5.y:434 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:437 + //line php5/php5.y:436 { yyVAL.list = []node.Node{yyDollar[1].node} } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:442 + //line php5/php5.y:441 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2565,7 +2559,7 @@ yydefault: } case 27: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:452 + //line php5/php5.y:451 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2580,7 +2574,7 @@ yydefault: } case 28: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:465 + //line php5/php5.y:464 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2592,7 +2586,7 @@ yydefault: } case 29: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:475 + //line php5/php5.y:474 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2607,19 +2601,19 @@ yydefault: } case 30: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:491 + //line php5/php5.y:490 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:493 + //line php5/php5.y:492 { yyVAL.list = []node.Node{yyDollar[1].node} } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:498 + //line php5/php5.y:497 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2631,7 +2625,7 @@ yydefault: } case 33: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:508 + //line php5/php5.y:507 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -2646,7 +2640,7 @@ yydefault: } case 34: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:521 + //line php5/php5.y:520 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2658,7 +2652,7 @@ yydefault: } case 35: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:531 + //line php5/php5.y:530 { name := name.NewName(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[2].list)) @@ -2673,7 +2667,7 @@ yydefault: } case 36: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:547 + //line php5/php5.y:546 { name := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -2691,7 +2685,7 @@ yydefault: } case 37: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:563 + //line php5/php5.y:562 { name := node.NewIdentifier(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -2709,7 +2703,7 @@ yydefault: } case 38: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:582 + //line php5/php5.y:581 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2717,38 +2711,38 @@ yydefault: } case 39: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:588 + //line php5/php5.y:587 { yyVAL.list = []node.Node{} } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:594 + //line php5/php5.y:593 { // error yyVAL.node = nil } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:599 + //line php5/php5.y:598 { yyVAL.node = yyDollar[1].node } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:601 + //line php5/php5.y:600 { yyVAL.node = yyDollar[1].node } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:603 + //line php5/php5.y:602 { yyVAL.node = yyDollar[1].node } case 44: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:605 + //line php5/php5.y:604 { yyVAL.node = stmt.NewHaltCompiler() yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -2756,13 +2750,13 @@ yydefault: } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:615 + //line php5/php5.y:614 { yyVAL.node = yyDollar[1].node } case 46: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:617 + //line php5/php5.y:616 { label := node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(label, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2774,7 +2768,7 @@ yydefault: } case 47: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:630 + //line php5/php5.y:629 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2782,7 +2776,7 @@ yydefault: } case 48: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:636 + //line php5/php5.y:635 { yyVAL.node = stmt.NewIf(yyDollar[2].node, yyDollar[3].node, yyDollar[4].list, yyDollar[5].node) @@ -2798,7 +2792,7 @@ yydefault: } case 49: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:650 + //line php5/php5.y:649 { stmts := stmt.NewStmtList(yyDollar[4].list) yylex.(*Parser).positions.AddPosition(stmts, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[4].list)) @@ -2809,7 +2803,7 @@ yydefault: } case 50: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:659 + //line php5/php5.y:658 { switch n := yyDollar[3].node.(type) { case *stmt.While: @@ -2825,7 +2819,7 @@ yydefault: } case 51: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:673 + //line php5/php5.y:672 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[4].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2833,7 +2827,7 @@ yydefault: } case 52: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:679 + //line php5/php5.y:678 { switch n := yyDollar[9].node.(type) { case *stmt.For: @@ -2853,7 +2847,7 @@ yydefault: } case 53: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:697 + //line php5/php5.y:696 { switch n := yyDollar[3].node.(type) { case *stmt.Switch: @@ -2871,7 +2865,7 @@ yydefault: } case 54: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:713 + //line php5/php5.y:712 { yyVAL.node = stmt.NewBreak(nil) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2879,7 +2873,7 @@ yydefault: } case 55: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:719 + //line php5/php5.y:718 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2887,7 +2881,7 @@ yydefault: } case 56: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:725 + //line php5/php5.y:724 { yyVAL.node = stmt.NewContinue(nil) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2895,7 +2889,7 @@ yydefault: } case 57: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:731 + //line php5/php5.y:730 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2903,7 +2897,7 @@ yydefault: } case 58: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:737 + //line php5/php5.y:736 { yyVAL.node = stmt.NewReturn(nil) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -2911,7 +2905,7 @@ yydefault: } case 59: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:743 + //line php5/php5.y:742 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2919,7 +2913,7 @@ yydefault: } case 60: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:749 + //line php5/php5.y:748 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2927,7 +2921,7 @@ yydefault: } case 61: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:755 + //line php5/php5.y:754 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -2935,7 +2929,7 @@ yydefault: } case 62: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:761 + //line php5/php5.y:760 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2943,7 +2937,7 @@ yydefault: } case 63: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:767 + //line php5/php5.y:766 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2951,7 +2945,7 @@ yydefault: } case 64: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:773 + //line php5/php5.y:772 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -2959,7 +2953,7 @@ yydefault: } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:779 + //line php5/php5.y:778 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -2967,7 +2961,7 @@ yydefault: } case 66: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:785 + //line php5/php5.y:784 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -2975,7 +2969,7 @@ yydefault: } case 67: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:791 + //line php5/php5.y:790 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[5].token)) @@ -2983,7 +2977,7 @@ yydefault: } case 68: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:797 + //line php5/php5.y:796 { if yyDollar[6].foreachVariable.node == nil { switch n := yyDollar[8].node.(type) { @@ -3018,7 +3012,7 @@ yydefault: } case 69: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:830 + //line php5/php5.y:829 { if yyDollar[6].foreachVariable.node == nil { switch n := yyDollar[8].node.(type) { @@ -3053,7 +3047,7 @@ yydefault: } case 70: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:863 + //line php5/php5.y:862 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[5].node)) @@ -3061,7 +3055,7 @@ yydefault: } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:869 + //line php5/php5.y:868 { yyVAL.node = stmt.NewNop() yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3069,7 +3063,7 @@ yydefault: } case 72: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:875 + //line php5/php5.y:874 { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3083,7 +3077,7 @@ yydefault: } case 73: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:887 + //line php5/php5.y:886 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -3091,7 +3085,7 @@ yydefault: } case 74: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:893 + //line php5/php5.y:892 { label := node.NewIdentifier(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(label, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3103,13 +3097,13 @@ yydefault: } case 75: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:906 + //line php5/php5.y:905 { yyVAL.list = []node.Node{} } case 76: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:908 + //line php5/php5.y:907 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3127,13 +3121,13 @@ yydefault: } case 77: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:926 + //line php5/php5.y:925 { yyVAL.node = nil } case 78: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:928 + //line php5/php5.y:927 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3141,31 +3135,31 @@ yydefault: } case 79: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:937 + //line php5/php5.y:936 { yyVAL.list = yyDollar[1].list } case 80: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:939 + //line php5/php5.y:938 { yyVAL.list = []node.Node{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:944 + //line php5/php5.y:943 { yyVAL.list = []node.Node{yyDollar[1].node} } case 82: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:946 + //line php5/php5.y:945 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 83: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:951 + //line php5/php5.y:950 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3181,73 +3175,73 @@ yydefault: } case 84: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:968 + //line php5/php5.y:967 { yyVAL.list = []node.Node{yyDollar[1].node} } case 85: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:970 + //line php5/php5.y:969 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:975 + //line php5/php5.y:974 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:980 + //line php5/php5.y:979 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:985 + //line php5/php5.y:984 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:990 + //line php5/php5.y:989 { - yyVAL.boolWithToken = boolWithToken{false, nil} + yyVAL.token = nil } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:992 + //line php5/php5.y:991 { - yyVAL.boolWithToken = boolWithToken{true, yyDollar[1].token} + yyVAL.token = yyDollar[1].token } case 91: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:997 + //line php5/php5.y:996 { - yyVAL.boolWithToken = boolWithToken{false, nil} + yyVAL.token = nil } case 92: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:999 + //line php5/php5.y:998 { - yyVAL.boolWithToken = boolWithToken{true, yyDollar[1].token} + yyVAL.token = yyDollar[1].token } case 93: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:1004 + //line php5/php5.y:1003 { name := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) yylex.(*Parser).comments.AddComments(name, yyDollar[3].token.Comments()) - yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[5].list, nil, yyDollar[8].list, "") + yyVAL.node = stmt.NewFunction(name, yyDollar[2].token != nil, yyDollar[5].list, nil, yyDollar[8].list, "") yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 94: yyDollar = yyS[yypt-7 : yypt+1] - //line php5/php5.y:1017 + //line php5/php5.y:1016 { switch n := yyDollar[1].node.(type) { case *stmt.Class: @@ -3270,7 +3264,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1038 + //line php5/php5.y:1037 { name := node.NewIdentifier(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -3282,7 +3276,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1052 + //line php5/php5.y:1051 { yyVAL.node = stmt.NewClass(nil, nil, nil, nil, nil, nil, "") yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3290,7 +3284,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1058 + //line php5/php5.y:1057 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(classModifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3302,7 +3296,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1068 + //line php5/php5.y:1067 { yyVAL.node = stmt.NewTrait(nil, nil, "") yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3310,7 +3304,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1074 + //line php5/php5.y:1073 { classModifier := node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(classModifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3322,85 +3316,85 @@ yydefault: } case 100: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1087 + //line php5/php5.y:1086 { yyVAL.node = nil } case 101: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1089 + //line php5/php5.y:1088 { yyVAL.node = yyDollar[2].node } case 102: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1094 + //line php5/php5.y:1093 { yyVAL.token = yyDollar[1].token } case 103: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1099 + //line php5/php5.y:1098 { yyVAL.list = nil } case 104: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1101 + //line php5/php5.y:1100 { yyVAL.list = yyDollar[2].list } case 105: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1106 + //line php5/php5.y:1105 { yyVAL.list = nil } case 106: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1108 + //line php5/php5.y:1107 { yyVAL.list = yyDollar[2].list } case 107: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1113 + //line php5/php5.y:1112 { yyVAL.list = []node.Node{yyDollar[1].node} } case 108: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1115 + //line php5/php5.y:1114 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 109: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1120 + //line php5/php5.y:1119 { yyVAL.foreachVariable = foreachVariable{nil, false} } case 110: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1122 + //line php5/php5.y:1121 { yyVAL.foreachVariable = yyDollar[2].foreachVariable } case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1127 + //line php5/php5.y:1126 { yyVAL.foreachVariable = foreachVariable{yyDollar[1].node, false} } case 112: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1129 + //line php5/php5.y:1128 { yyVAL.foreachVariable = foreachVariable{yyDollar[2].node, true} } case 113: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1131 + //line php5/php5.y:1130 { list := expr.NewList(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(list, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3409,14 +3403,14 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1141 + //line php5/php5.y:1140 { yyVAL.node = stmt.NewFor(nil, nil, nil, yyDollar[1].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) } case 115: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1146 + //line php5/php5.y:1145 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltFor(nil, nil, nil, stmtList) @@ -3426,14 +3420,14 @@ yydefault: } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1158 + //line php5/php5.y:1157 { yyVAL.node = stmt.NewForeach(nil, nil, nil, yyDollar[1].node, false) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) } case 117: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1163 + //line php5/php5.y:1162 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltForeach(nil, nil, nil, stmtList, false) @@ -3443,13 +3437,13 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1175 + //line php5/php5.y:1174 { yyVAL.node = yyDollar[1].node } case 119: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1177 + //line php5/php5.y:1176 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3457,7 +3451,7 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1187 + //line php5/php5.y:1186 { name := node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3471,7 +3465,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1199 + //line php5/php5.y:1198 { name := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3485,7 +3479,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1215 + //line php5/php5.y:1214 { caseList := stmt.NewCaseList(yyDollar[2].list) yyVAL.node = stmt.NewSwitch(nil, caseList) @@ -3495,7 +3489,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1223 + //line php5/php5.y:1222 { caseList := stmt.NewCaseList(yyDollar[3].list) yyVAL.node = stmt.NewSwitch(nil, caseList) @@ -3505,7 +3499,7 @@ yydefault: } case 124: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1231 + //line php5/php5.y:1230 { caseList := stmt.NewCaseList(yyDollar[2].list) yyVAL.node = stmt.NewAltSwitch(nil, caseList) @@ -3515,7 +3509,7 @@ yydefault: } case 125: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1239 + //line php5/php5.y:1238 { caseList := stmt.NewCaseList(yyDollar[3].list) @@ -3526,13 +3520,13 @@ yydefault: } case 126: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1252 + //line php5/php5.y:1251 { yyVAL.list = []node.Node{} } case 127: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1254 + //line php5/php5.y:1253 { _case := stmt.NewCase(yyDollar[3].node, yyDollar[5].list) yylex.(*Parser).positions.AddPosition(_case, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[5].list)) @@ -3541,7 +3535,7 @@ yydefault: } case 128: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1261 + //line php5/php5.y:1260 { _default := stmt.NewDefault(yyDollar[4].list) yylex.(*Parser).positions.AddPosition(_default, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[2].token, yyDollar[4].list)) @@ -3550,14 +3544,14 @@ yydefault: } case 131: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1278 + //line php5/php5.y:1277 { yyVAL.node = stmt.NewWhile(nil, yyDollar[1].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) } case 132: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1283 + //line php5/php5.y:1282 { stmtList := stmt.NewStmtList(yyDollar[2].list) yyVAL.node = stmt.NewAltWhile(nil, stmtList) @@ -3567,13 +3561,13 @@ yydefault: } case 133: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1296 + //line php5/php5.y:1295 { yyVAL.list = nil } case 134: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1298 + //line php5/php5.y:1297 { _elseIf := stmt.NewElseIf(yyDollar[3].node, yyDollar[4].node) yylex.(*Parser).positions.AddPosition(_elseIf, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[4].node)) @@ -3583,13 +3577,13 @@ yydefault: } case 135: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1310 + //line php5/php5.y:1309 { yyVAL.list = nil } case 136: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1312 + //line php5/php5.y:1311 { stmts := stmt.NewStmtList(yyDollar[5].list) yylex.(*Parser).positions.AddPosition(stmts, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[5].list)) @@ -3602,13 +3596,13 @@ yydefault: } case 137: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1327 + //line php5/php5.y:1326 { yyVAL.node = nil } case 138: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1329 + //line php5/php5.y:1328 { yyVAL.node = stmt.NewElse(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3616,13 +3610,13 @@ yydefault: } case 139: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1339 + //line php5/php5.y:1338 { yyVAL.node = nil } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1341 + //line php5/php5.y:1340 { stmts := stmt.NewStmtList(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(stmts, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[3].list)) @@ -3633,31 +3627,31 @@ yydefault: } case 141: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1354 + //line php5/php5.y:1353 { yyVAL.list = yyDollar[1].list } case 142: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1356 + //line php5/php5.y:1355 { yyVAL.list = nil } case 143: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1361 + //line php5/php5.y:1360 { yyVAL.list = []node.Node{yyDollar[1].node} } case 144: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1363 + //line php5/php5.y:1362 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 145: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1368 + //line php5/php5.y:1367 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3667,17 +3661,17 @@ yydefault: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].token != nil, yyDollar[3].token != nil) if yyDollar[1].node != nil { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) yylex.(*Parser).comments.AddComments(yyVAL.node, yylex.(*Parser).comments[yyDollar[1].node]) - } else if yyDollar[2].boolWithToken.value == true { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[2].boolWithToken.token, yyDollar[4].token)) - yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) - } else if yyDollar[3].boolWithToken.value == true { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[3].boolWithToken.token, yyDollar[4].token)) - yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) + } else if yyDollar[2].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token)) + yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) + } else if yyDollar[3].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[3].token, yyDollar[4].token)) + yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[3].token.Comments()) } else { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) @@ -3685,7 +3679,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:1394 + //line php5/php5.y:1393 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -3695,17 +3689,17 @@ yydefault: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) yylex.(*Parser).comments.AddComments(variable, yyDollar[4].token.Comments()) - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].token != nil, yyDollar[3].token != nil) if yyDollar[1].node != nil { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) yylex.(*Parser).comments.AddComments(yyVAL.node, yylex.(*Parser).comments[yyDollar[1].node]) - } else if yyDollar[2].boolWithToken.value == true { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[2].boolWithToken.token, yyDollar[6].node)) - yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[2].boolWithToken.token.Comments()) - } else if yyDollar[3].boolWithToken.value == true { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[3].boolWithToken.token, yyDollar[6].node)) - yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[3].boolWithToken.token.Comments()) + } else if yyDollar[2].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) + yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[2].token.Comments()) + } else if yyDollar[3].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[6].node)) + yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[3].token.Comments()) } else { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node)) yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[4].token.Comments()) @@ -3713,13 +3707,13 @@ yydefault: } case 147: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1424 + //line php5/php5.y:1423 { yyVAL.node = nil } case 148: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1426 + //line php5/php5.y:1425 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3727,7 +3721,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1432 + //line php5/php5.y:1431 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3735,13 +3729,13 @@ yydefault: } case 150: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1438 + //line php5/php5.y:1437 { yyVAL.node = yyDollar[1].node } case 151: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1444 + //line php5/php5.y:1443 { yyVAL.node = node.NewArgumentList(nil) @@ -3750,7 +3744,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1451 + //line php5/php5.y:1450 { yyVAL.node = node.NewArgumentList(yyDollar[2].list) @@ -3759,7 +3753,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1458 + //line php5/php5.y:1457 { arg := node.NewArgument(yyDollar[2].node, false, false) yyVAL.node = node.NewArgumentList([]node.Node{arg}) @@ -3770,19 +3764,19 @@ yydefault: } case 154: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1471 + //line php5/php5.y:1470 { yyVAL.list = []node.Node{yyDollar[1].node} } case 155: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1473 + //line php5/php5.y:1472 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 156: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1478 + //line php5/php5.y:1477 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3790,7 +3784,7 @@ yydefault: } case 157: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1484 + //line php5/php5.y:1483 { yyVAL.node = node.NewArgument(yyDollar[1].node, false, false) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -3798,7 +3792,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1490 + //line php5/php5.y:1489 { yyVAL.node = node.NewArgument(yyDollar[2].node, false, true) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -3806,7 +3800,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1496 + //line php5/php5.y:1495 { yyVAL.node = node.NewArgument(yyDollar[2].node, true, false) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3814,19 +3808,19 @@ yydefault: } case 160: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1505 + //line php5/php5.y:1504 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1507 + //line php5/php5.y:1506 { yyVAL.list = []node.Node{yyDollar[1].node} } case 162: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1513 + //line php5/php5.y:1512 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3838,7 +3832,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1523 + //line php5/php5.y:1522 { yyVAL.node = expr.NewVariable(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -3846,7 +3840,7 @@ yydefault: } case 164: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1529 + //line php5/php5.y:1528 { yyVAL.node = expr.NewVariable(yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -3854,7 +3848,7 @@ yydefault: } case 165: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1539 + //line php5/php5.y:1538 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3873,7 +3867,7 @@ yydefault: } case 166: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1556 + //line php5/php5.y:1555 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3892,7 +3886,7 @@ yydefault: } case 167: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1573 + //line php5/php5.y:1572 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3911,7 +3905,7 @@ yydefault: } case 168: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1590 + //line php5/php5.y:1589 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -3930,19 +3924,19 @@ yydefault: } case 169: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1612 + //line php5/php5.y:1611 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 170: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1614 + //line php5/php5.y:1613 { yyVAL.list = []node.Node{} } case 171: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1620 + //line php5/php5.y:1619 { yyVAL.node = stmt.NewPropertyList(yyDollar[1].list, yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeListTokenPosition(yyDollar[1].list, yyDollar[3].token)) @@ -3950,25 +3944,25 @@ yydefault: } case 172: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1626 + //line php5/php5.y:1625 { yyVAL.node = yyDollar[1].node } case 173: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1628 + //line php5/php5.y:1627 { yyVAL.node = yyDollar[1].node } case 174: yyDollar = yyS[yypt-8 : yypt+1] - //line php5/php5.y:1630 + //line php5/php5.y:1629 { name := node.NewIdentifier(yyDollar[4].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) yylex.(*Parser).comments.AddComments(name, yyDollar[4].token.Comments()) - yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[6].list, nil, yyDollar[8].node, "") + yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].token != nil, yyDollar[6].list, nil, yyDollar[8].node, "") if yyDollar[1].list == nil { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[8].node)) @@ -3980,7 +3974,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1649 + //line php5/php5.y:1648 { var adaptationList *stmt.TraitAdaptationList switch n := yyDollar[3].node.(type) { @@ -3996,19 +3990,19 @@ yydefault: } case 176: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1666 + //line php5/php5.y:1665 { yyVAL.list = []node.Node{yyDollar[1].node} } case 177: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1668 + //line php5/php5.y:1667 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 178: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1673 + //line php5/php5.y:1672 { yyVAL.node = stmt.NewNop() @@ -4016,7 +4010,7 @@ yydefault: } case 179: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1679 + //line php5/php5.y:1678 { yyVAL.node = stmt.NewTraitAdaptationList(yyDollar[2].list) @@ -4024,43 +4018,43 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1688 + //line php5/php5.y:1687 { yyVAL.list = nil } case 181: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1690 + //line php5/php5.y:1689 { yyVAL.list = yyDollar[1].list } case 182: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1695 + //line php5/php5.y:1694 { yyVAL.list = []node.Node{yyDollar[1].node} } case 183: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1697 + //line php5/php5.y:1696 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 184: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1702 + //line php5/php5.y:1701 { yyVAL.node = yyDollar[1].node } case 185: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1704 + //line php5/php5.y:1703 { yyVAL.node = yyDollar[1].node } case 186: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1709 + //line php5/php5.y:1708 { yyVAL.node = stmt.NewTraitUsePrecedence(yyDollar[1].node, yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeNodeListPosition(yyDollar[1].node, yyDollar[3].list)) @@ -4068,19 +4062,19 @@ yydefault: } case 187: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1718 + //line php5/php5.y:1717 { yyVAL.list = []node.Node{yyDollar[1].node} } case 188: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1720 + //line php5/php5.y:1719 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 189: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1725 + //line php5/php5.y:1724 { name := node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4092,13 +4086,13 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1735 + //line php5/php5.y:1734 { yyVAL.node = yyDollar[1].node } case 191: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1740 + //line php5/php5.y:1739 { target := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(target, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4110,7 +4104,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1753 + //line php5/php5.y:1752 { alias := node.NewIdentifier(yyDollar[4].token.Value) yylex.(*Parser).positions.AddPosition(alias, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4122,7 +4116,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1763 + //line php5/php5.y:1762 { yyVAL.node = stmt.NewTraitUseAlias(yyDollar[1].node, yyDollar[3].node, nil) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4130,19 +4124,19 @@ yydefault: } case 194: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1772 + //line php5/php5.y:1771 { yyVAL.node = nil } case 195: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1774 + //line php5/php5.y:1773 { yyVAL.node = yyDollar[1].node } case 196: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1779 + //line php5/php5.y:1778 { yyVAL.node = stmt.NewNop() @@ -4150,7 +4144,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1785 + //line php5/php5.y:1784 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) @@ -4158,13 +4152,13 @@ yydefault: } case 198: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1794 + //line php5/php5.y:1793 { yyVAL.list = yyDollar[1].list } case 199: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1796 + //line php5/php5.y:1795 { modifier := node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(modifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4174,31 +4168,31 @@ yydefault: } case 200: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1807 + //line php5/php5.y:1806 { yyVAL.list = nil } case 201: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1809 + //line php5/php5.y:1808 { yyVAL.list = yyDollar[1].list } case 202: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1814 + //line php5/php5.y:1813 { yyVAL.list = []node.Node{yyDollar[1].node} } case 203: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1816 + //line php5/php5.y:1815 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 204: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1821 + //line php5/php5.y:1820 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4206,7 +4200,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1827 + //line php5/php5.y:1826 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4214,7 +4208,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1833 + //line php5/php5.y:1832 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4222,7 +4216,7 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1839 + //line php5/php5.y:1838 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4230,7 +4224,7 @@ yydefault: } case 208: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1845 + //line php5/php5.y:1844 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4238,7 +4232,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1851 + //line php5/php5.y:1850 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4246,7 +4240,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1860 + //line php5/php5.y:1859 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4264,7 +4258,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1876 + //line php5/php5.y:1875 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4282,7 +4276,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1892 + //line php5/php5.y:1891 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4300,7 +4294,7 @@ yydefault: } case 213: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1908 + //line php5/php5.y:1907 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -4318,7 +4312,7 @@ yydefault: } case 214: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:1927 + //line php5/php5.y:1926 { name := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -4335,7 +4329,7 @@ yydefault: } case 215: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1942 + //line php5/php5.y:1941 { name := node.NewIdentifier(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -4351,55 +4345,55 @@ yydefault: } case 216: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1959 + //line php5/php5.y:1958 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 217: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1961 + //line php5/php5.y:1960 { yyVAL.list = []node.Node{yyDollar[1].node} } case 218: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:1967 + //line php5/php5.y:1966 { yyVAL.list = nil } case 219: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1969 + //line php5/php5.y:1968 { yyVAL.list = yyDollar[1].list } case 220: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1974 + //line php5/php5.y:1973 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 221: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1976 + //line php5/php5.y:1975 { yyVAL.list = []node.Node{yyDollar[1].node} } case 222: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:1981 + //line php5/php5.y:1980 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 223: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:1983 + //line php5/php5.y:1982 { yyVAL.list = yyDollar[1].list } case 224: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:1988 + //line php5/php5.y:1987 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -4408,7 +4402,7 @@ yydefault: } case 225: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:1995 + //line php5/php5.y:1994 { fetch := expr.NewArrayDimFetch(nil, yyDollar[2].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[2].node)) @@ -4417,37 +4411,37 @@ yydefault: } case 226: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2005 + //line php5/php5.y:2004 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 227: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2007 + //line php5/php5.y:2006 { yyVAL.list = yyDollar[1].list } case 228: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2009 + //line php5/php5.y:2008 { yyVAL.list = yyDollar[1].list } case 229: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2014 + //line php5/php5.y:2013 { yyVAL.list = nil } case 230: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2016 + //line php5/php5.y:2015 { yyVAL.list = yyDollar[1].list } case 231: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2021 + //line php5/php5.y:2020 { if yyDollar[3].node != nil { @@ -4462,7 +4456,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2037 + //line php5/php5.y:2036 { list := expr.NewList(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(list, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -4474,7 +4468,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2047 + //line php5/php5.y:2046 { yyVAL.node = assign.NewAssign(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4482,7 +4476,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2053 + //line php5/php5.y:2052 { yyVAL.node = assign.NewReference(yyDollar[1].node, yyDollar[4].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4490,7 +4484,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:2059 + //line php5/php5.y:2058 { var _new *expr.New @@ -4509,7 +4503,7 @@ yydefault: } case 236: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2076 + //line php5/php5.y:2075 { yyVAL.node = expr.NewClone(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4517,7 +4511,7 @@ yydefault: } case 237: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2082 + //line php5/php5.y:2081 { yyVAL.node = assign.NewPlus(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4525,7 +4519,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2088 + //line php5/php5.y:2087 { yyVAL.node = assign.NewMinus(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4533,7 +4527,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2094 + //line php5/php5.y:2093 { yyVAL.node = assign.NewMul(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4541,7 +4535,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2100 + //line php5/php5.y:2099 { yyVAL.node = assign.NewPow(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4549,7 +4543,7 @@ yydefault: } case 241: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2106 + //line php5/php5.y:2105 { yyVAL.node = assign.NewDiv(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4557,7 +4551,7 @@ yydefault: } case 242: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2112 + //line php5/php5.y:2111 { yyVAL.node = assign.NewConcat(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4565,7 +4559,7 @@ yydefault: } case 243: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2118 + //line php5/php5.y:2117 { yyVAL.node = assign.NewMod(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4573,7 +4567,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2124 + //line php5/php5.y:2123 { yyVAL.node = assign.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4581,7 +4575,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2130 + //line php5/php5.y:2129 { yyVAL.node = assign.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4589,7 +4583,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2136 + //line php5/php5.y:2135 { yyVAL.node = assign.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4597,7 +4591,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2142 + //line php5/php5.y:2141 { yyVAL.node = assign.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4605,7 +4599,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2148 + //line php5/php5.y:2147 { yyVAL.node = assign.NewShiftRight(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4613,7 +4607,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2154 + //line php5/php5.y:2153 { yyVAL.node = expr.NewPostInc(yyDollar[1].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4621,7 +4615,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2160 + //line php5/php5.y:2159 { yyVAL.node = expr.NewPreInc(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4629,7 +4623,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2166 + //line php5/php5.y:2165 { yyVAL.node = expr.NewPostDec(yyDollar[1].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[2].token)) @@ -4637,7 +4631,7 @@ yydefault: } case 252: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2172 + //line php5/php5.y:2171 { yyVAL.node = expr.NewPreDec(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4645,7 +4639,7 @@ yydefault: } case 253: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2178 + //line php5/php5.y:2177 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4653,7 +4647,7 @@ yydefault: } case 254: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2184 + //line php5/php5.y:2183 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4661,7 +4655,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2190 + //line php5/php5.y:2189 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4669,7 +4663,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2196 + //line php5/php5.y:2195 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4677,7 +4671,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2202 + //line php5/php5.y:2201 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4685,7 +4679,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2208 + //line php5/php5.y:2207 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4693,7 +4687,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2214 + //line php5/php5.y:2213 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4701,7 +4695,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2220 + //line php5/php5.y:2219 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4709,7 +4703,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2226 + //line php5/php5.y:2225 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4717,7 +4711,7 @@ yydefault: } case 262: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2232 + //line php5/php5.y:2231 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4725,7 +4719,7 @@ yydefault: } case 263: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2238 + //line php5/php5.y:2237 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4733,7 +4727,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2244 + //line php5/php5.y:2243 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4741,7 +4735,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2250 + //line php5/php5.y:2249 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4749,7 +4743,7 @@ yydefault: } case 266: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2256 + //line php5/php5.y:2255 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4757,7 +4751,7 @@ yydefault: } case 267: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2262 + //line php5/php5.y:2261 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4765,7 +4759,7 @@ yydefault: } case 268: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2268 + //line php5/php5.y:2267 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4773,7 +4767,7 @@ yydefault: } case 269: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2274 + //line php5/php5.y:2273 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4781,7 +4775,7 @@ yydefault: } case 270: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2280 + //line php5/php5.y:2279 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4789,7 +4783,7 @@ yydefault: } case 271: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2286 + //line php5/php5.y:2285 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4797,7 +4791,7 @@ yydefault: } case 272: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2292 + //line php5/php5.y:2291 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4805,7 +4799,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2298 + //line php5/php5.y:2297 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4813,7 +4807,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2304 + //line php5/php5.y:2303 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4821,7 +4815,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2310 + //line php5/php5.y:2309 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4829,7 +4823,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2316 + //line php5/php5.y:2315 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4837,7 +4831,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2322 + //line php5/php5.y:2321 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4845,7 +4839,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2328 + //line php5/php5.y:2327 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4853,7 +4847,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2334 + //line php5/php5.y:2333 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4861,7 +4855,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2340 + //line php5/php5.y:2339 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4869,7 +4863,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2346 + //line php5/php5.y:2345 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4877,7 +4871,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2352 + //line php5/php5.y:2351 { yyVAL.node = expr.NewInstanceOf(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -4885,19 +4879,19 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2358 + //line php5/php5.y:2357 { yyVAL.node = yyDollar[1].node } case 284: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2360 + //line php5/php5.y:2359 { yyVAL.node = yyDollar[1].node } case 285: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2362 + //line php5/php5.y:2361 { yyVAL.node = yyDollar[2].node @@ -4925,7 +4919,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:2388 + //line php5/php5.y:2387 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -4933,7 +4927,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2394 + //line php5/php5.y:2393 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -4941,13 +4935,13 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2400 + //line php5/php5.y:2399 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2402 + //line php5/php5.y:2401 { yyVAL.node = cast.NewInt(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4955,7 +4949,7 @@ yydefault: } case 290: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2408 + //line php5/php5.y:2407 { yyVAL.node = cast.NewDouble(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4963,7 +4957,7 @@ yydefault: } case 291: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2414 + //line php5/php5.y:2413 { yyVAL.node = cast.NewString(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4971,7 +4965,7 @@ yydefault: } case 292: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2420 + //line php5/php5.y:2419 { yyVAL.node = cast.NewArray(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4979,7 +4973,7 @@ yydefault: } case 293: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2426 + //line php5/php5.y:2425 { yyVAL.node = cast.NewObject(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4987,7 +4981,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2432 + //line php5/php5.y:2431 { yyVAL.node = cast.NewBool(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -4995,7 +4989,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2438 + //line php5/php5.y:2437 { yyVAL.node = cast.NewUnset(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5003,7 +4997,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2444 + //line php5/php5.y:2443 { if strings.EqualFold(yyDollar[1].token.Value, "die") { yyVAL.node = expr.NewDie(yyDollar[2].node) @@ -5015,7 +5009,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2454 + //line php5/php5.y:2453 { yyVAL.node = expr.NewErrorSuppress(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5023,25 +5017,25 @@ yydefault: } case 298: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2460 + //line php5/php5.y:2459 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2462 + //line php5/php5.y:2461 { yyVAL.node = yyDollar[1].node } case 300: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2464 + //line php5/php5.y:2463 { yyVAL.node = yyDollar[1].node } case 301: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2466 + //line php5/php5.y:2465 { yyVAL.node = expr.NewShellExec(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5049,7 +5043,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2472 + //line php5/php5.y:2471 { yyVAL.node = expr.NewPrint(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5057,7 +5051,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2478 + //line php5/php5.y:2477 { yyVAL.node = expr.NewYield(nil, nil) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5065,25 +5059,25 @@ yydefault: } case 304: yyDollar = yyS[yypt-9 : yypt+1] - //line php5/php5.y:2484 + //line php5/php5.y:2483 { - yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].boolWithToken.value, "") + yyVAL.node = expr.NewClosure(yyDollar[4].list, yyDollar[6].list, nil, yyDollar[8].list, false, yyDollar[2].token != nil, "") yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[9].token)) yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 305: yyDollar = yyS[yypt-10 : yypt+1] - //line php5/php5.y:2491 + //line php5/php5.y:2490 { - yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].boolWithToken.value, "") + yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, nil, yyDollar[9].list, true, yyDollar[3].token != nil, "") yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[10].token)) yylex.(*Parser).comments.AddComments(yyVAL.node, yyDollar[1].token.Comments()) } case 306: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2501 + //line php5/php5.y:2500 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5091,7 +5085,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2507 + //line php5/php5.y:2506 { yyVAL.node = expr.NewYield(nil, yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5099,7 +5093,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2513 + //line php5/php5.y:2512 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -5107,7 +5101,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2519 + //line php5/php5.y:2518 { yyVAL.node = expr.NewYield(yyDollar[2].node, yyDollar[4].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node)) @@ -5115,7 +5109,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2528 + //line php5/php5.y:2527 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5123,7 +5117,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2534 + //line php5/php5.y:2533 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5131,7 +5125,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2540 + //line php5/php5.y:2539 { str := scalar.NewString(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(str, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5143,7 +5137,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2550 + //line php5/php5.y:2549 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5151,7 +5145,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2559 + //line php5/php5.y:2558 { yyVAL.node = expr.NewArray(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5159,7 +5153,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2565 + //line php5/php5.y:2564 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5167,25 +5161,25 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2574 + //line php5/php5.y:2573 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2579 + //line php5/php5.y:2578 { yyVAL.list = []node.Node{} } case 318: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2581 + //line php5/php5.y:2580 { yyVAL.list = yyDollar[3].list } case 319: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2586 + //line php5/php5.y:2585 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[3].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5203,7 +5197,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2602 + //line php5/php5.y:2601 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -5221,7 +5215,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2618 + //line php5/php5.y:2617 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5239,7 +5233,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2634 + //line php5/php5.y:2633 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[2].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5257,7 +5251,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2653 + //line php5/php5.y:2652 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5269,7 +5263,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2663 + //line php5/php5.y:2662 { funcName := name.NewRelative(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(funcName, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5281,7 +5275,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2673 + //line php5/php5.y:2672 { funcName := name.NewFullyQualified(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(funcName, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5293,7 +5287,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2683 + //line php5/php5.y:2682 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5301,7 +5295,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2689 + //line php5/php5.y:2688 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5309,7 +5303,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2695 + //line php5/php5.y:2694 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5317,7 +5311,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2701 + //line php5/php5.y:2700 { yyVAL.node = expr.NewStaticCall(yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*node.ArgumentList)) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5325,7 +5319,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2707 + //line php5/php5.y:2706 { yyVAL.node = expr.NewFunctionCall(yyDollar[1].node, yyDollar[2].node.(*node.ArgumentList)) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[2].node)) @@ -5333,7 +5327,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2716 + //line php5/php5.y:2715 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5341,7 +5335,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2722 + //line php5/php5.y:2721 { yyVAL.node = name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5349,7 +5343,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2728 + //line php5/php5.y:2727 { yyVAL.node = name.NewRelative(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5357,7 +5351,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2734 + //line php5/php5.y:2733 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5365,7 +5359,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2743 + //line php5/php5.y:2742 { yyVAL.node = name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5373,7 +5367,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2749 + //line php5/php5.y:2748 { yyVAL.node = name.NewRelative(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5381,7 +5375,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2755 + //line php5/php5.y:2754 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5389,19 +5383,19 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2764 + //line php5/php5.y:2763 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2766 + //line php5/php5.y:2765 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2771 + //line php5/php5.y:2770 { yyVAL.node = yyDollar[1].node @@ -5439,79 +5433,79 @@ yydefault: } case 341: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2807 + //line php5/php5.y:2806 { yyVAL.node = yyDollar[1].node } case 342: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2813 + //line php5/php5.y:2812 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2815 + //line php5/php5.y:2814 { yyVAL.list = []node.Node{} } case 344: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2821 + //line php5/php5.y:2820 { yyVAL.list = yyDollar[2].list } case 345: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2826 + //line php5/php5.y:2825 { yyVAL.node = nil } case 346: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2828 + //line php5/php5.y:2827 { yyVAL.node = nil } case 347: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2830 + //line php5/php5.y:2829 { yyVAL.node = yyDollar[1].node } case 348: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2835 + //line php5/php5.y:2834 { yyVAL.list = []node.Node{} } case 349: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2837 + //line php5/php5.y:2836 { yyVAL.list = []node.Node{scalar.NewEncapsedStringPart(yyDollar[1].token.Value)} } case 350: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2839 + //line php5/php5.y:2838 { yyVAL.list = yyDollar[1].list } case 351: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:2844 + //line php5/php5.y:2843 { yyVAL.node = nil } case 352: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2846 + //line php5/php5.y:2845 { yyVAL.node = yyDollar[1].node } case 353: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2851 + //line php5/php5.y:2850 { yyVAL.node = scalar.NewLnumber(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5519,7 +5513,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2857 + //line php5/php5.y:2856 { yyVAL.node = scalar.NewDnumber(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5527,7 +5521,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2863 + //line php5/php5.y:2862 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5535,7 +5529,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2869 + //line php5/php5.y:2868 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5543,7 +5537,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2875 + //line php5/php5.y:2874 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5551,7 +5545,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2881 + //line php5/php5.y:2880 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5559,7 +5553,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2887 + //line php5/php5.y:2886 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5567,7 +5561,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2893 + //line php5/php5.y:2892 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5575,7 +5569,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2899 + //line php5/php5.y:2898 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5583,7 +5577,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2905 + //line php5/php5.y:2904 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5591,7 +5585,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2911 + //line php5/php5.y:2910 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(encapsed, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -5603,7 +5597,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2921 + //line php5/php5.y:2920 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, nil) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)) @@ -5611,7 +5605,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2930 + //line php5/php5.y:2929 { target := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(target, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -5623,25 +5617,25 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2943 + //line php5/php5.y:2942 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2948 + //line php5/php5.y:2947 { yyVAL.node = yyDollar[1].node } case 368: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2950 + //line php5/php5.y:2949 { yyVAL.node = yyDollar[1].node } case 369: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2952 + //line php5/php5.y:2951 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5653,7 +5647,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2962 + //line php5/php5.y:2961 { name := name.NewRelative(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -5665,7 +5659,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:2972 + //line php5/php5.y:2971 { name := name.NewFullyQualified(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -5677,7 +5671,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:2982 + //line php5/php5.y:2981 { yyVAL.node = expr.NewArray(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -5685,7 +5679,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:2988 + //line php5/php5.y:2987 { yyVAL.node = expr.NewShortArray(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -5693,13 +5687,13 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2994 + //line php5/php5.y:2993 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:2996 + //line php5/php5.y:2995 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -5707,13 +5701,13 @@ yydefault: } case 376: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3002 + //line php5/php5.y:3001 { yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3007 + //line php5/php5.y:3006 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -5721,7 +5715,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3013 + //line php5/php5.y:3012 { yyVAL.node = binary.NewPlus(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5729,7 +5723,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3019 + //line php5/php5.y:3018 { yyVAL.node = binary.NewMinus(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5737,7 +5731,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3025 + //line php5/php5.y:3024 { yyVAL.node = binary.NewMul(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5745,7 +5739,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3031 + //line php5/php5.y:3030 { yyVAL.node = binary.NewPow(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5753,7 +5747,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3037 + //line php5/php5.y:3036 { yyVAL.node = binary.NewDiv(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5761,7 +5755,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3043 + //line php5/php5.y:3042 { yyVAL.node = binary.NewMod(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5769,7 +5763,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3049 + //line php5/php5.y:3048 { yyVAL.node = expr.NewBooleanNot(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5777,7 +5771,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3055 + //line php5/php5.y:3054 { yyVAL.node = expr.NewBitwiseNot(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5785,7 +5779,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3061 + //line php5/php5.y:3060 { yyVAL.node = binary.NewBitwiseOr(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5793,7 +5787,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3067 + //line php5/php5.y:3066 { yyVAL.node = binary.NewBitwiseAnd(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5801,7 +5795,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3073 + //line php5/php5.y:3072 { yyVAL.node = binary.NewBitwiseXor(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5809,7 +5803,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3079 + //line php5/php5.y:3078 { yyVAL.node = binary.NewShiftLeft(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5817,7 +5811,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3085 + //line php5/php5.y:3084 { yyVAL.node = binary.NewShiftRight(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5825,7 +5819,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3091 + //line php5/php5.y:3090 { yyVAL.node = binary.NewConcat(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5833,7 +5827,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3097 + //line php5/php5.y:3096 { yyVAL.node = binary.NewLogicalXor(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5841,7 +5835,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3103 + //line php5/php5.y:3102 { yyVAL.node = binary.NewLogicalAnd(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5849,7 +5843,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3109 + //line php5/php5.y:3108 { yyVAL.node = binary.NewLogicalOr(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5857,7 +5851,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3115 + //line php5/php5.y:3114 { yyVAL.node = binary.NewBooleanAnd(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5865,7 +5859,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3121 + //line php5/php5.y:3120 { yyVAL.node = binary.NewBooleanOr(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5873,7 +5867,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3127 + //line php5/php5.y:3126 { yyVAL.node = binary.NewIdentical(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5881,7 +5875,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3133 + //line php5/php5.y:3132 { yyVAL.node = binary.NewNotIdentical(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5889,7 +5883,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3139 + //line php5/php5.y:3138 { yyVAL.node = binary.NewEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5897,7 +5891,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3145 + //line php5/php5.y:3144 { yyVAL.node = binary.NewNotEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5905,7 +5899,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3151 + //line php5/php5.y:3150 { yyVAL.node = binary.NewSmaller(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5913,7 +5907,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3157 + //line php5/php5.y:3156 { yyVAL.node = binary.NewGreater(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5921,7 +5915,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3163 + //line php5/php5.y:3162 { yyVAL.node = binary.NewSmallerOrEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5929,7 +5923,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3169 + //line php5/php5.y:3168 { yyVAL.node = binary.NewGreaterOrEqual(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -5937,7 +5931,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3175 + //line php5/php5.y:3174 { yyVAL.node = expr.NewTernary(yyDollar[1].node, nil, yyDollar[4].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -5945,7 +5939,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3181 + //line php5/php5.y:3180 { yyVAL.node = expr.NewTernary(yyDollar[1].node, yyDollar[3].node, yyDollar[5].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[5].node)) @@ -5953,7 +5947,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3187 + //line php5/php5.y:3186 { yyVAL.node = expr.NewUnaryPlus(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5961,7 +5955,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3193 + //line php5/php5.y:3192 { yyVAL.node = expr.NewUnaryMinus(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -5969,19 +5963,19 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3199 + //line php5/php5.y:3198 { yyVAL.node = yyDollar[2].node } case 410: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3204 + //line php5/php5.y:3203 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3206 + //line php5/php5.y:3205 { name := name.NewName(yyDollar[1].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) @@ -5993,7 +5987,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3216 + //line php5/php5.y:3215 { name := name.NewRelative(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[3].list)) @@ -6005,7 +5999,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3226 + //line php5/php5.y:3225 { name := name.NewFullyQualified(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenNodeListPosition(yyDollar[1].token, yyDollar[2].list)) @@ -6017,7 +6011,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3239 + //line php5/php5.y:3238 { name := node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6029,25 +6023,25 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3249 + //line php5/php5.y:3248 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3251 + //line php5/php5.y:3250 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3253 + //line php5/php5.y:3252 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3255 + //line php5/php5.y:3254 { yyVAL.node = scalar.NewEncapsed(yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -6055,7 +6049,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3261 + //line php5/php5.y:3260 { yyVAL.node = scalar.NewHeredoc(yyDollar[1].token.Value, yyDollar[2].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -6063,7 +6057,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3267 + //line php5/php5.y:3266 { yyVAL.node = scalar.NewMagicConstant(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6071,19 +6065,19 @@ yydefault: } case 421: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3276 + //line php5/php5.y:3275 { yyVAL.list = nil } case 422: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3278 + //line php5/php5.y:3277 { yyVAL.list = yyDollar[1].list } case 425: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3288 + //line php5/php5.y:3287 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -6093,7 +6087,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3296 + //line php5/php5.y:3295 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6103,7 +6097,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3304 + //line php5/php5.y:3303 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6113,7 +6107,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3312 + //line php5/php5.y:3311 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6123,49 +6117,49 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3323 + //line php5/php5.y:3322 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3325 + //line php5/php5.y:3324 { yyVAL.node = yyDollar[1].node } case 431: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3330 + //line php5/php5.y:3329 { yyVAL.node = yyDollar[2].node } case 432: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3332 + //line php5/php5.y:3331 { yyVAL.node = yyDollar[2].node } case 433: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3338 + //line php5/php5.y:3337 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3344 + //line php5/php5.y:3343 { yyVAL.node = yyDollar[1].node } case 435: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3349 + //line php5/php5.y:3348 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3354 + //line php5/php5.y:3353 { yyVAL.node = yyDollar[1].node @@ -6220,25 +6214,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3407 + //line php5/php5.y:3406 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3412 + //line php5/php5.y:3411 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 439: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3414 + //line php5/php5.y:3413 { yyVAL.list = []node.Node{} } case 440: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3420 + //line php5/php5.y:3419 { if yyDollar[3].list != nil { yyDollar[3].list[0].(*expr.MethodCall).Method = yyDollar[2].list[len(yyDollar[2].list)-1].(*expr.PropertyFetch).Property @@ -6249,7 +6243,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3432 + //line php5/php5.y:3431 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6258,7 +6252,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3439 + //line php5/php5.y:3438 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6267,38 +6261,38 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3449 + //line php5/php5.y:3448 { yyVAL.node = expr.NewMethodCall(nil, nil, yyDollar[1].node.(*node.ArgumentList)) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) } case 444: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3457 + //line php5/php5.y:3456 { yyVAL.list = []node.Node{yyDollar[1].node} } case 445: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3459 + //line php5/php5.y:3458 { yyVAL.list = yyDollar[1].list } case 446: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3461 + //line php5/php5.y:3460 { yyVAL.list = nil } case 447: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3466 + //line php5/php5.y:3465 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3468 + //line php5/php5.y:3467 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -6310,7 +6304,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3481 + //line php5/php5.y:3480 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6318,7 +6312,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3487 + //line php5/php5.y:3486 { yyVAL.node = expr.NewStaticPropertyFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6326,13 +6320,13 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3497 + //line php5/php5.y:3496 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3502 + //line php5/php5.y:3501 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6340,7 +6334,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3508 + //line php5/php5.y:3507 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6348,31 +6342,31 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3516 + //line php5/php5.y:3515 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3517 + //line php5/php5.y:3516 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3518 + //line php5/php5.y:3517 { yyVAL.node = yyDollar[1].node } case 457: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3524 + //line php5/php5.y:3523 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3526 + //line php5/php5.y:3525 { yyDollar[1].simpleIndirectReference.last.SetVarName(yyDollar[2].node) @@ -6384,13 +6378,13 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3536 + //line php5/php5.y:3535 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3541 + //line php5/php5.y:3540 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6398,7 +6392,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3547 + //line php5/php5.y:3546 { yyVAL.node = expr.NewArrayDimFetch(yyDollar[1].node, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) @@ -6406,13 +6400,13 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3553 + //line php5/php5.y:3552 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3559 + //line php5/php5.y:3558 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6424,7 +6418,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3569 + //line php5/php5.y:3568 { yyVAL.node = expr.NewVariable(yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6432,25 +6426,25 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3578 + //line php5/php5.y:3577 { yyVAL.node = nil } case 466: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3580 + //line php5/php5.y:3579 { yyVAL.node = yyDollar[1].node } case 467: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3586 + //line php5/php5.y:3585 { yyVAL.list = yyDollar[1].list } case 468: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3588 + //line php5/php5.y:3587 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6459,7 +6453,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3598 + //line php5/php5.y:3597 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6468,7 +6462,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3605 + //line php5/php5.y:3604 { fetch := expr.NewArrayDimFetch(nil, yyDollar[3].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6477,7 +6471,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3612 + //line php5/php5.y:3611 { fetch := expr.NewPropertyFetch(nil, yyDollar[1].node) yylex.(*Parser).positions.AddPosition(fetch, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6486,7 +6480,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3622 + //line php5/php5.y:3621 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6494,13 +6488,13 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3628 + //line php5/php5.y:3627 { yyVAL.node = yyDollar[2].node } case 474: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3633 + //line php5/php5.y:3632 { n := expr.NewVariable(nil) yylex.(*Parser).positions.AddPosition(n, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6510,7 +6504,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3641 + //line php5/php5.y:3640 { n := expr.NewVariable(nil) yylex.(*Parser).positions.AddPosition(n, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6524,13 +6518,13 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3656 + //line php5/php5.y:3655 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 477: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3658 + //line php5/php5.y:3657 { if yyDollar[1].node == nil { yyVAL.list = []node.Node{} @@ -6540,7 +6534,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3670 + //line php5/php5.y:3669 { yyVAL.node = expr.NewArrayItem(nil, yyDollar[1].node, false) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6548,7 +6542,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3676 + //line php5/php5.y:3675 { item := expr.NewList(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(item, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6560,25 +6554,25 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3686 + //line php5/php5.y:3685 { yyVAL.node = nil } case 481: yyDollar = yyS[yypt-0 : yypt+1] - //line php5/php5.y:3692 + //line php5/php5.y:3691 { yyVAL.list = []node.Node{} } case 482: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3694 + //line php5/php5.y:3693 { yyVAL.list = yyDollar[1].list } case 483: yyDollar = yyS[yypt-5 : yypt+1] - //line php5/php5.y:3699 + //line php5/php5.y:3698 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[5].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[5].node)) @@ -6588,7 +6582,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3707 + //line php5/php5.y:3706 { arrayItem := expr.NewArrayItem(nil, yyDollar[3].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[3].node)) @@ -6598,7 +6592,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3715 + //line php5/php5.y:3714 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[3].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node)) @@ -6608,7 +6602,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3723 + //line php5/php5.y:3722 { arrayItem := expr.NewArrayItem(nil, yyDollar[1].node, false) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) @@ -6618,7 +6612,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3731 + //line php5/php5.y:3730 { arrayItem := expr.NewArrayItem(yyDollar[3].node, yyDollar[6].node, true) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[3].node, yyDollar[6].node)) @@ -6628,7 +6622,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3739 + //line php5/php5.y:3738 { arrayItem := expr.NewArrayItem(nil, yyDollar[4].node, true) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node)) @@ -6638,7 +6632,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3747 + //line php5/php5.y:3746 { arrayItem := expr.NewArrayItem(yyDollar[1].node, yyDollar[4].node, true) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node)) @@ -6648,7 +6642,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3755 + //line php5/php5.y:3754 { arrayItem := expr.NewArrayItem(nil, yyDollar[2].node, true) yylex.(*Parser).positions.AddPosition(arrayItem, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6658,13 +6652,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3766 + //line php5/php5.y:3765 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 492: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3768 + //line php5/php5.y:3767 { encapsed := scalar.NewEncapsedStringPart(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(encapsed, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6673,13 +6667,13 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3775 + //line php5/php5.y:3774 { yyVAL.list = []node.Node{yyDollar[1].node} } case 494: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3777 + //line php5/php5.y:3776 { encapsed := scalar.NewEncapsedStringPart(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(encapsed, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6688,7 +6682,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3787 + //line php5/php5.y:3786 { name := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6700,7 +6694,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3797 + //line php5/php5.y:3796 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6715,7 +6709,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3810 + //line php5/php5.y:3809 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6733,7 +6727,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3826 + //line php5/php5.y:3825 { yyVAL.node = yyDollar[2].node yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token)) @@ -6741,7 +6735,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-6 : yypt+1] - //line php5/php5.y:3832 + //line php5/php5.y:3831 { identifier := node.NewIdentifier(yyDollar[2].token.Value) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[2].token)) @@ -6756,13 +6750,13 @@ yydefault: } case 500: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3846 + //line php5/php5.y:3845 { yyVAL.node = yyDollar[2].node } case 501: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3851 + //line php5/php5.y:3850 { yyVAL.node = scalar.NewString(yyDollar[1].token.Value) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6770,7 +6764,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3857 + //line php5/php5.y:3856 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(yyDollar[1].token.Value); err == nil { @@ -6784,7 +6778,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3869 + //line php5/php5.y:3868 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[1].token.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[1].token)) @@ -6796,7 +6790,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3882 + //line php5/php5.y:3881 { yyVAL.node = expr.NewIsset(yyDollar[3].list) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6804,7 +6798,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3888 + //line php5/php5.y:3887 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6812,7 +6806,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3894 + //line php5/php5.y:3893 { yyVAL.node = expr.NewEmpty(yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6820,7 +6814,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3900 + //line php5/php5.y:3899 { yyVAL.node = expr.NewInclude(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6828,7 +6822,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3906 + //line php5/php5.y:3905 { yyVAL.node = expr.NewIncludeOnce(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6836,7 +6830,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-4 : yypt+1] - //line php5/php5.y:3912 + //line php5/php5.y:3911 { yyVAL.node = expr.NewEval(yyDollar[3].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token)) @@ -6844,7 +6838,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3918 + //line php5/php5.y:3917 { yyVAL.node = expr.NewRequire(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6852,7 +6846,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] - //line php5/php5.y:3924 + //line php5/php5.y:3923 { yyVAL.node = expr.NewRequireOnce(yyDollar[2].node) yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node)) @@ -6860,31 +6854,31 @@ yydefault: } case 512: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3933 + //line php5/php5.y:3932 { yyVAL.list = []node.Node{yyDollar[1].node} } case 513: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3935 + //line php5/php5.y:3934 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) } case 514: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3940 + //line php5/php5.y:3939 { yyVAL.node = yyDollar[1].node } case 515: yyDollar = yyS[yypt-1 : yypt+1] - //line php5/php5.y:3942 + //line php5/php5.y:3941 { yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3947 + //line php5/php5.y:3946 { target := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(target, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6896,7 +6890,7 @@ yydefault: } case 517: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3957 + //line php5/php5.y:3956 { target := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(target, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6908,7 +6902,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3970 + //line php5/php5.y:3969 { target := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(target, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -6920,7 +6914,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] - //line php5/php5.y:3983 + //line php5/php5.y:3982 { target := node.NewIdentifier(yyDollar[3].token.Value) yylex.(*Parser).positions.AddPosition(target, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) diff --git a/php5/php5.y b/php5/php5.y index ea530f5..d03a240 100644 --- a/php5/php5.y +++ b/php5/php5.y @@ -21,7 +21,6 @@ import ( %union{ node node.Node token *scanner.Token - boolWithToken boolWithToken list []node.Node foreachVariable foreachVariable simpleIndirectReference simpleIndirectReference @@ -261,7 +260,7 @@ import ( %type simple_indirect_reference %type foreach_variable foreach_optional_arg -%type is_reference is_variadic +%type is_reference is_variadic %% @@ -952,11 +951,11 @@ additional_catch: identifier := node.NewIdentifier(strings.TrimLeft($4.Value, "$")) yylex.(*Parser).positions.AddPosition(identifier, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) yylex.(*Parser).comments.AddComments(identifier, $4.Comments()) - + variable := expr.NewVariable(identifier) yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) yylex.(*Parser).comments.AddComments(variable, $4.Comments()) - + $$ = stmt.NewCatch([]node.Node{$3}, variable, $7) yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $8)) yylex.(*Parser).comments.AddComments($$, $1.Comments()) @@ -987,16 +986,16 @@ class_declaration_statement: is_reference: /* empty */ - { $$ = boolWithToken{false, nil} } + { $$ = nil } | '&' - { $$ = boolWithToken{true, $1} } + { $$ = $1 } ; is_variadic: /* empty */ - { $$ = boolWithToken{false, nil} } + { $$ = nil } | T_ELLIPSIS - { $$ = boolWithToken{true, $1} } + { $$ = $1 } ; unticked_function_declaration_statement: @@ -1006,7 +1005,7 @@ unticked_function_declaration_statement: yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition($3)) yylex.(*Parser).comments.AddComments(name, $3.Comments()) - $$ = stmt.NewFunction(name, $2.value, $5, nil, $8, "") + $$ = stmt.NewFunction(name, $2 != nil, $5, nil, $8, "") yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $9)) yylex.(*Parser).comments.AddComments($$, $1.Comments()) } @@ -1039,7 +1038,7 @@ unticked_class_declaration_statement: name := node.NewIdentifier($2.Value) yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition($2)) yylex.(*Parser).comments.AddComments(name, $2.Comments()) - + $$ = stmt.NewInterface(name, $3, $5, "") yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $6)) yylex.(*Parser).comments.AddComments($$, $1.Comments()) @@ -1374,17 +1373,17 @@ parameter: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) yylex.(*Parser).comments.AddComments($$, $4.Comments()) - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + $$ = node.NewParameter($1, variable, nil, $2 != nil, $3 != nil) if $1 != nil { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewNodeTokenPosition($1, $4)) yylex.(*Parser).comments.AddComments($$, yylex.(*Parser).comments[$1]) - } else if $2.value == true { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($2.token, $4)) - yylex.(*Parser).comments.AddComments($$, $2.token.Comments()) - } else if $3.value == true { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($3.token, $4)) - yylex.(*Parser).comments.AddComments($$, $3.token.Comments()) + } else if $2 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($2, $4)) + yylex.(*Parser).comments.AddComments($$, $2.Comments()) + } else if $3 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($3, $4)) + yylex.(*Parser).comments.AddComments($$, $3.Comments()) } else { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) yylex.(*Parser).comments.AddComments($$, $4.Comments()) @@ -1400,17 +1399,17 @@ parameter: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) yylex.(*Parser).comments.AddComments(variable, $4.Comments()) - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + $$ = node.NewParameter($1, variable, $6, $2 != nil, $3 != nil) if $1 != nil { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewNodesPosition($1, $6)) yylex.(*Parser).comments.AddComments($$, yylex.(*Parser).comments[$1]) - } else if $2.value == true { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($2.token, $6)) - yylex.(*Parser).comments.AddComments($$, $2.token.Comments()) - } else if $3.value == true { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($3.token, $6)) - yylex.(*Parser).comments.AddComments($$, $3.token.Comments()) + } else if $2 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($2, $6)) + yylex.(*Parser).comments.AddComments($$, $2.Comments()) + } else if $3 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($3, $6)) + yylex.(*Parser).comments.AddComments($$, $3.Comments()) } else { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($4, $6)) yylex.(*Parser).comments.AddComments($$, $4.Comments()) @@ -1632,7 +1631,7 @@ class_statement: yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) yylex.(*Parser).comments.AddComments(name, $4.Comments()) - $$ = stmt.NewClassMethod(name, $1, $3.value, $6, nil, $8, "") + $$ = stmt.NewClassMethod(name, $1, $3 != nil, $6, nil, $8, "") if $1 == nil { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($2, $8)) @@ -1778,13 +1777,13 @@ method_body: ';' /* abstract method */ { $$ = stmt.NewNop() - + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenPosition($1)) } | '{' inner_statement_list '}' { $$ = stmt.NewStmtList($2) - + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $3)) } ; @@ -2482,14 +2481,14 @@ expr_without_variable: } | function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { - $$ = expr.NewClosure($4, $6, nil, $8, false, $2.value, "") + $$ = expr.NewClosure($4, $6, nil, $8, false, $2 != nil, "") yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $9)) yylex.(*Parser).comments.AddComments($$, $1.Comments()) } | T_STATIC function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { - $$ = expr.NewClosure($5, $7, nil, $9, true, $3.value, "") + $$ = expr.NewClosure($5, $7, nil, $9, true, $3 != nil, "") yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $10)) yylex.(*Parser).comments.AddComments($$, $1.Comments()) @@ -3998,11 +3997,6 @@ type foreachVariable struct { byRef bool } -type boolWithToken struct { - value bool - token *scanner.Token -} - type simpleIndirectReference struct { all []*expr.Variable last *expr.Variable diff --git a/php7/php7.go b/php7/php7.go index 53daa2b..5f0d217 100644 --- a/php7/php7.go +++ b/php7/php7.go @@ -25,7 +25,6 @@ type yySymType struct { yys int node node.Node token *scanner.Token - boolWithToken boolWithToken list []node.Node foreachVariable foreachVariable str string @@ -350,11 +349,6 @@ type foreachVariable struct { byRef bool } -type boolWithToken struct { - value bool - token *scanner.Token -} - //line yacctab:1 var yyExca = [...]int{ -1, 1, @@ -2121,7 +2115,7 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:293 + //line php7/php7.y:292 { yylex.(*Parser).rootNode = node.NewRoot(yyDollar[1].list) @@ -2130,463 +2124,463 @@ yydefault: } case 2: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:302 + //line php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:303 + //line php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:304 + //line php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:305 + //line php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:306 + //line php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:307 + //line php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:308 + //line php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:313 + //line php7/php7.y:312 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:314 + //line php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:314 + //line php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:314 + //line php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:314 + //line php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:314 + //line php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:314 + //line php7/php7.y:313 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:319 + //line php7/php7.y:318 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:321 + //line php7/php7.y:320 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:326 + //line php7/php7.y:325 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -2594,13 +2588,13 @@ yydefault: } case 79: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:332 + //line php7/php7.y:331 { yyVAL.list = []node.Node{} } case 80: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:337 + //line php7/php7.y:336 { namePart := name.NewNamePart(yyDollar[1].token.Value) yyVAL.list = []node.Node{namePart} @@ -2613,7 +2607,7 @@ yydefault: } case 81: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:348 + //line php7/php7.y:347 { namePart := name.NewNamePart(yyDollar[3].token.Value) yyVAL.list = append(yyDollar[1].list, namePart) @@ -2627,7 +2621,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:363 + //line php7/php7.y:362 { yyVAL.node = name.NewName(yyDollar[1].list) @@ -2636,7 +2630,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:370 + //line php7/php7.y:369 { yyVAL.node = name.NewRelative(yyDollar[3].list) @@ -2649,7 +2643,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:381 + //line php7/php7.y:380 { yyVAL.node = name.NewFullyQualified(yyDollar[2].list) @@ -2661,44 +2655,44 @@ yydefault: } case 85: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:394 + //line php7/php7.y:393 { // error yyVAL.node = nil } case 86: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:399 + //line php7/php7.y:398 { yyVAL.node = yyDollar[1].node } case 87: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:401 + //line php7/php7.y:400 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:403 + //line php7/php7.y:402 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:405 + //line php7/php7.y:404 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:407 + //line php7/php7.y:406 { yyVAL.node = yyDollar[1].node } case 91: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:409 + //line php7/php7.y:408 { yyVAL.node = stmt.NewHaltCompiler() @@ -2713,7 +2707,7 @@ yydefault: } case 92: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:422 + //line php7/php7.y:421 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewNamespace(name, nil) @@ -2728,7 +2722,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:435 + //line php7/php7.y:434 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewNamespace(name, yyDollar[4].list) @@ -2744,7 +2738,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:449 + //line php7/php7.y:448 { yyVAL.node = stmt.NewNamespace(nil, yyDollar[3].list) @@ -2758,7 +2752,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:461 + //line php7/php7.y:460 { yyVAL.node = yyDollar[2].node @@ -2771,7 +2765,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:472 + //line php7/php7.y:471 { yyVAL.node = yyDollar[3].node.(*stmt.GroupUse).SetUseType(yyDollar[2].node) @@ -2784,7 +2778,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:483 + //line php7/php7.y:482 { yyVAL.node = stmt.NewUseList(nil, yyDollar[2].list) @@ -2797,7 +2791,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:494 + //line php7/php7.y:493 { yyVAL.node = stmt.NewUseList(yyDollar[2].node, yyDollar[3].list) @@ -2810,7 +2804,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:505 + //line php7/php7.y:504 { yyVAL.node = stmt.NewConstList(yyDollar[2].list) @@ -2823,7 +2817,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:519 + //line php7/php7.y:518 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -2835,7 +2829,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:529 + //line php7/php7.y:528 { yyVAL.node = node.NewIdentifier(yyDollar[1].token.Value) @@ -2847,7 +2841,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:542 + //line php7/php7.y:541 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) @@ -2866,7 +2860,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:559 + //line php7/php7.y:558 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) @@ -2886,7 +2880,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:580 + //line php7/php7.y:579 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[4].list) @@ -2905,7 +2899,7 @@ yydefault: } case 105: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:597 + //line php7/php7.y:596 { name := name.NewName(yyDollar[2].list) yyVAL.node = stmt.NewGroupUse(nil, name, yyDollar[5].list) @@ -2925,19 +2919,19 @@ yydefault: } case 106: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:618 + //line php7/php7.y:617 { yyVAL.token = nil } case 107: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:620 + //line php7/php7.y:619 { yyVAL.token = yyDollar[1].token } case 108: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:625 + //line php7/php7.y:624 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -2946,13 +2940,13 @@ yydefault: } case 109: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:632 + //line php7/php7.y:631 { yyVAL.list = []node.Node{yyDollar[1].node} } case 110: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:637 + //line php7/php7.y:636 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -2961,13 +2955,13 @@ yydefault: } case 111: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:644 + //line php7/php7.y:643 { yyVAL.list = []node.Node{yyDollar[1].node} } case 112: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:649 + //line php7/php7.y:648 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -2976,25 +2970,25 @@ yydefault: } case 113: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:656 + //line php7/php7.y:655 { yyVAL.list = []node.Node{yyDollar[1].node} } case 114: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:661 + //line php7/php7.y:660 { yyVAL.node = yyDollar[1].node } case 115: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:663 + //line php7/php7.y:662 { yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) } case 116: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:668 + //line php7/php7.y:667 { name := name.NewName(yyDollar[1].list) yyVAL.node = stmt.NewUse(nil, name, nil) @@ -3005,7 +2999,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:677 + //line php7/php7.y:676 { name := name.NewName(yyDollar[1].list) alias := node.NewIdentifier(yyDollar[3].token.Value) @@ -3022,13 +3016,13 @@ yydefault: } case 118: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:695 + //line php7/php7.y:694 { yyVAL.node = yyDollar[1].node } case 119: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:697 + //line php7/php7.y:696 { yyVAL.node = yyDollar[2].node @@ -3037,7 +3031,7 @@ yydefault: } case 120: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:707 + //line php7/php7.y:706 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3046,13 +3040,13 @@ yydefault: } case 121: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:714 + //line php7/php7.y:713 { yyVAL.list = []node.Node{yyDollar[1].node} } case 122: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:719 + //line php7/php7.y:718 { if yyDollar[2].node != nil { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) @@ -3060,50 +3054,50 @@ yydefault: } case 123: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:725 + //line php7/php7.y:724 { yyVAL.list = []node.Node{} } case 124: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:730 + //line php7/php7.y:729 { // error yyVAL.node = nil } case 125: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:735 + //line php7/php7.y:734 { yyVAL.node = yyDollar[1].node } case 126: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:737 + //line php7/php7.y:736 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:739 + //line php7/php7.y:738 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:741 + //line php7/php7.y:740 { yyVAL.node = yyDollar[1].node } case 129: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:743 + //line php7/php7.y:742 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:745 + //line php7/php7.y:744 { yyVAL.node = stmt.NewHaltCompiler() @@ -3118,7 +3112,7 @@ yydefault: } case 131: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:760 + //line php7/php7.y:759 { yyVAL.node = stmt.NewStmtList(yyDollar[2].list) @@ -3131,19 +3125,19 @@ yydefault: } case 132: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:771 + //line php7/php7.y:770 { yyVAL.node = yyDollar[1].node } case 133: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:773 + //line php7/php7.y:772 { yyVAL.node = yyDollar[1].node } case 134: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:775 + //line php7/php7.y:774 { switch n := yyDollar[5].node.(type) { case *stmt.While: @@ -3164,7 +3158,7 @@ yydefault: } case 135: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:794 + //line php7/php7.y:793 { yyVAL.node = stmt.NewDo(yyDollar[2].node, yyDollar[5].node) @@ -3180,7 +3174,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:808 + //line php7/php7.y:807 { switch n := yyDollar[9].node.(type) { case *stmt.For: @@ -3207,7 +3201,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:833 + //line php7/php7.y:832 { switch n := yyDollar[5].node.(type) { case *stmt.Switch: @@ -3230,7 +3224,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:854 + //line php7/php7.y:853 { yyVAL.node = stmt.NewBreak(yyDollar[2].node) @@ -3243,7 +3237,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:865 + //line php7/php7.y:864 { yyVAL.node = stmt.NewContinue(yyDollar[2].node) @@ -3256,7 +3250,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:876 + //line php7/php7.y:875 { yyVAL.node = stmt.NewReturn(yyDollar[2].node) @@ -3269,7 +3263,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:887 + //line php7/php7.y:886 { yyVAL.node = stmt.NewGlobal(yyDollar[2].list) @@ -3282,7 +3276,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:898 + //line php7/php7.y:897 { yyVAL.node = stmt.NewStatic(yyDollar[2].list) @@ -3295,7 +3289,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:909 + //line php7/php7.y:908 { yyVAL.node = stmt.NewEcho(yyDollar[2].list) @@ -3308,7 +3302,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:920 + //line php7/php7.y:919 { yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token.Value) @@ -3320,7 +3314,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:930 + //line php7/php7.y:929 { yyVAL.node = stmt.NewExpression(yyDollar[1].node) @@ -3332,7 +3326,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:940 + //line php7/php7.y:939 { yyVAL.node = stmt.NewUnset(yyDollar[3].list) @@ -3350,7 +3344,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-7 : yypt+1] - //line php7/php7.y:956 + //line php7/php7.y:955 { switch n := yyDollar[7].node.(type) { case *stmt.Foreach: @@ -3376,7 +3370,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:980 + //line php7/php7.y:979 { switch n := yyDollar[9].node.(type) { case *stmt.Foreach: @@ -3405,7 +3399,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-5 : yypt+1] - //line php7/php7.y:1007 + //line php7/php7.y:1006 { yyVAL.node = stmt.NewDeclare(yyDollar[3].list, yyDollar[5].node) @@ -3419,7 +3413,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1019 + //line php7/php7.y:1018 { yyVAL.node = stmt.NewNop() @@ -3431,7 +3425,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-6 : yypt+1] - //line php7/php7.y:1029 + //line php7/php7.y:1028 { if yyDollar[6].node == nil { yyVAL.node = stmt.NewTry(yyDollar[3].list, yyDollar[5].list, yyDollar[6].node) @@ -3448,7 +3442,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1044 + //line php7/php7.y:1043 { yyVAL.node = stmt.NewThrow(yyDollar[2].node) @@ -3461,7 +3455,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1055 + //line php7/php7.y:1054 { label := node.NewIdentifier(yyDollar[2].token.Value) yyVAL.node = stmt.NewGoto(label) @@ -3477,7 +3471,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-2 : yypt+1] - //line php7/php7.y:1069 + //line php7/php7.y:1068 { label := node.NewIdentifier(yyDollar[1].token.Value) yyVAL.node = stmt.NewLabel(label) @@ -3492,13 +3486,13 @@ yydefault: } case 155: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1084 + //line php7/php7.y:1083 { yyVAL.list = []node.Node{} } case 156: yyDollar = yyS[yypt-9 : yypt+1] - //line php7/php7.y:1086 + //line php7/php7.y:1085 { identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[5].token.Value, "$")) variable := expr.NewVariable(identifier) @@ -3520,13 +3514,13 @@ yydefault: } case 157: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1108 + //line php7/php7.y:1107 { yyVAL.list = []node.Node{yyDollar[1].node} } case 158: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1110 + //line php7/php7.y:1109 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3535,13 +3529,13 @@ yydefault: } case 159: yyDollar = yyS[yypt-0 : yypt+1] - //line php7/php7.y:1120 + //line php7/php7.y:1119 { yyVAL.node = nil } case 160: yyDollar = yyS[yypt-4 : yypt+1] - //line php7/php7.y:1122 + //line php7/php7.y:1121 { yyVAL.node = stmt.NewFinally(yyDollar[3].list) @@ -3555,13 +3549,13 @@ yydefault: } case 161: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1137 + //line php7/php7.y:1136 { yyVAL.list = []node.Node{yyDollar[1].node} } case 162: yyDollar = yyS[yypt-3 : yypt+1] - //line php7/php7.y:1139 + //line php7/php7.y:1138 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -3570,16 +3564,16 @@ yydefault: } case 163: yyDollar = yyS[yypt-1 : yypt+1] - //line php7/php7.y:1149 + //line php7/php7.y:1148 { yyVAL.node = yyDollar[1].node } case 164: yyDollar = yyS[yypt-11 : yypt+1] - //line php7/php7.y:1154 + //line php7/php7.y:1153 { name := node.NewIdentifier(yyDollar[3].token.Value) - yyVAL.node = stmt.NewFunction(name, yyDollar[2].boolWithToken.value, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list, yyDollar[4].str) + yyVAL.node = stmt.NewFunction(name, yyDollar[2].token != nil, yyDollar[6].list, yyDollar[8].node, yyDollar[10].list, yyDollar[4].str) // save position yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[3].token)) @@ -3587,8 +3581,8 @@ yydefault: // save comments yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[1].token, comment.FunctionToken) - if yyDollar[2].boolWithToken.token != nil { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].boolWithToken.token, comment.AmpersandToken) + if yyDollar[2].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].token, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken(name, yyDollar[3].token, comment.StringToken) yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[5].token, comment.OpenParenthesisToken) @@ -3600,25 +3594,25 @@ yydefault: yyDollar = yyS[yypt-0 : yypt+1] //line php7/php7.y:1177 { - yyVAL.boolWithToken = boolWithToken{false, nil} + yyVAL.token = nil } case 166: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:1179 { - yyVAL.boolWithToken = boolWithToken{true, yyDollar[1].token} + yyVAL.token = yyDollar[1].token } case 167: yyDollar = yyS[yypt-0 : yypt+1] //line php7/php7.y:1184 { - yyVAL.boolWithToken = boolWithToken{false, nil} + yyVAL.token = nil } case 168: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:1186 { - yyVAL.boolWithToken = boolWithToken{true, yyDollar[1].token} + yyVAL.token = yyDollar[1].token } case 169: yyDollar = yyS[yypt-9 : yypt+1] @@ -4189,13 +4183,13 @@ yydefault: variable := expr.NewVariable(identifier) if yyDollar[1].node != nil { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - } else if yyDollar[2].boolWithToken.value { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - } else if yyDollar[3].boolWithToken.value { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].token != nil, yyDollar[3].token != nil) + } else if yyDollar[2].token != nil { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].token != nil, yyDollar[3].token != nil) + } else if yyDollar[3].token != nil { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].token != nil, yyDollar[3].token != nil) } else { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, nil, yyDollar[2].token != nil, yyDollar[3].token != nil) } // save position @@ -4203,20 +4197,20 @@ yydefault: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) if yyDollar[1].node != nil { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token)) - } else if yyDollar[2].boolWithToken.value { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[2].boolWithToken.token, yyDollar[4].token)) - } else if yyDollar[3].boolWithToken.value { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[3].boolWithToken.token, yyDollar[4].token)) + } else if yyDollar[2].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[2].token, yyDollar[4].token)) + } else if yyDollar[3].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[3].token, yyDollar[4].token)) } else { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) } // save comments - if yyDollar[2].boolWithToken.value { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].boolWithToken.token, comment.AmpersandToken) + if yyDollar[2].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].token, comment.AmpersandToken) } - if yyDollar[3].boolWithToken.value { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].boolWithToken.token, comment.EllipsisToken) + if yyDollar[3].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].token, comment.EllipsisToken) } yylex.(*Parser).comments.AddFromToken(variable, yyDollar[4].token, comment.VariableToken) } @@ -4227,13 +4221,13 @@ yydefault: identifier := node.NewIdentifier(strings.TrimLeft(yyDollar[4].token.Value, "$")) variable := expr.NewVariable(identifier) if yyDollar[1].node != nil { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - } else if yyDollar[2].boolWithToken.value == true { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) - } else if yyDollar[3].boolWithToken.value == true { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].token != nil, yyDollar[3].token != nil) + } else if yyDollar[2].token != nil { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].token != nil, yyDollar[3].token != nil) + } else if yyDollar[3].token != nil { + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].token != nil, yyDollar[3].token != nil) } else { - yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].boolWithToken.value, yyDollar[3].boolWithToken.value) + yyVAL.node = node.NewParameter(yyDollar[1].node, variable, yyDollar[6].node, yyDollar[2].token != nil, yyDollar[3].token != nil) } // save position @@ -4241,20 +4235,20 @@ yydefault: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) if yyDollar[1].node != nil { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewNodesPosition(yyDollar[1].node, yyDollar[6].node)) - } else if yyDollar[2].boolWithToken.value == true { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[2].boolWithToken.token, yyDollar[6].node)) - } else if yyDollar[3].boolWithToken.value == true { - yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[3].boolWithToken.token, yyDollar[6].node)) + } else if yyDollar[2].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[2].token, yyDollar[6].node)) + } else if yyDollar[3].token != nil { + yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[3].token, yyDollar[6].node)) } else { yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokenNodePosition(yyDollar[4].token, yyDollar[6].node)) } // save comments - if yyDollar[2].boolWithToken.value { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].boolWithToken.token, comment.AmpersandToken) + if yyDollar[2].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].token, comment.AmpersandToken) } - if yyDollar[3].boolWithToken.value { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].boolWithToken.token, comment.EllipsisToken) + if yyDollar[3].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].token, comment.EllipsisToken) } yylex.(*Parser).comments.AddFromToken(variable, yyDollar[4].token, comment.VariableToken) yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[5].token, comment.EqualToken) @@ -4521,7 +4515,7 @@ yydefault: //line php7/php7.y:1990 { name := node.NewIdentifier(yyDollar[4].token.Value) - yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].boolWithToken.value, yyDollar[7].list, yyDollar[9].node, yyDollar[10].node, yyDollar[5].str) + yyVAL.node = stmt.NewClassMethod(name, yyDollar[1].list, yyDollar[3].token != nil, yyDollar[7].list, yyDollar[9].node, yyDollar[10].node, yyDollar[5].str) // save position yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition(yyDollar[4].token)) @@ -4533,8 +4527,8 @@ yydefault: // save comments yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].token, comment.FunctionToken) - if yyDollar[3].boolWithToken.value { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].boolWithToken.token, comment.AmpersandToken) + if yyDollar[3].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].token, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken(name, yyDollar[4].token, comment.IdentifierToken) yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[6].token, comment.OpenParenthesisToken) @@ -5947,15 +5941,15 @@ yydefault: yyDollar = yyS[yypt-11 : yypt+1] //line php7/php7.y:3206 { - yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].boolWithToken.value, yyDollar[3].str) + yyVAL.node = expr.NewClosure(yyDollar[5].list, yyDollar[7].list, yyDollar[8].node, yyDollar[10].list, false, yyDollar[2].token != nil, yyDollar[3].str) // save position yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[11].token)) // save comments yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[1].token, comment.FunctionToken) - if yyDollar[2].boolWithToken.value { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].boolWithToken.token, comment.AmpersandToken) + if yyDollar[2].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].token, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[4].token, comment.OpenParenthesisToken) yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[6].token, comment.CloseParenthesisToken) @@ -5966,7 +5960,7 @@ yydefault: yyDollar = yyS[yypt-12 : yypt+1] //line php7/php7.y:3223 { - yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].boolWithToken.value, yyDollar[4].str) + yyVAL.node = expr.NewClosure(yyDollar[6].list, yyDollar[8].list, yyDollar[9].node, yyDollar[11].list, true, yyDollar[3].token != nil, yyDollar[4].str) // save position yylex.(*Parser).positions.AddPosition(yyVAL.node, yylex.(*Parser).positionBuilder.NewTokensPosition(yyDollar[1].token, yyDollar[12].token)) @@ -5974,8 +5968,8 @@ yydefault: // save comments yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[1].token, comment.StaticToken) yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[2].token, comment.FunctionToken) - if yyDollar[3].boolWithToken.value { - yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].boolWithToken.token, comment.AmpersandToken) + if yyDollar[3].token != nil { + yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[3].token, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[5].token, comment.OpenParenthesisToken) yylex.(*Parser).comments.AddFromToken(yyVAL.node, yyDollar[7].token, comment.CloseParenthesisToken) @@ -5993,13 +5987,13 @@ yydefault: yyDollar = yyS[yypt-0 : yypt+1] //line php7/php7.y:3252 { - yyVAL.boolWithToken = boolWithToken{false, nil} + yyVAL.token = nil } case 373: yyDollar = yyS[yypt-1 : yypt+1] //line php7/php7.y:3254 { - yyVAL.boolWithToken = boolWithToken{true, yyDollar[1].token} + yyVAL.token = yyDollar[1].token } case 374: yyDollar = yyS[yypt-0 : yypt+1] diff --git a/php7/php7.y b/php7/php7.y index 71a13a8..6f70528 100644 --- a/php7/php7.y +++ b/php7/php7.y @@ -22,7 +22,6 @@ import ( %union{ node node.Node token *scanner.Token - boolWithToken boolWithToken list []node.Node foreachVariable foreachVariable str string @@ -228,7 +227,7 @@ import ( %left T_ENDIF %right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC -%type is_reference is_variadic returns_ref +%type is_reference is_variadic returns_ref %type reserved_non_modifiers %type semi_reserved @@ -1153,16 +1152,17 @@ function_declaration_statement: T_FUNCTION returns_ref T_STRING backup_doc_comment '(' parameter_list ')' return_type '{' inner_statement_list '}' { name := node.NewIdentifier($3.Value) - $$ = stmt.NewFunction(name, $2.value, $6, $8, $10, $4) + $$ = stmt.NewFunction(name, $2 != nil, $6, $8, $10, $4) // save position yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition($3)) yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $11)) + // save comments yylex.(*Parser).comments.AddFromToken($$, $1, comment.FunctionToken) - if $2.token != nil { - yylex.(*Parser).comments.AddFromToken($$, $2.token, comment.AmpersandToken) + if $2 != nil { + yylex.(*Parser).comments.AddFromToken($$, $2, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken(name, $3, comment.StringToken) yylex.(*Parser).comments.AddFromToken($$, $5, comment.OpenParenthesisToken) @@ -1174,16 +1174,16 @@ function_declaration_statement: is_reference: /* empty */ - { $$ = boolWithToken{false, nil} } + { $$ = nil } | '&' - { $$ = boolWithToken{true, $1} } + { $$ = $1 } ; is_variadic: /* empty */ - { $$ = boolWithToken{false, nil} } + { $$ = nil } | T_ELLIPSIS - { $$ = boolWithToken{true, $1} } + { $$ = $1 } ; class_declaration_statement: @@ -1698,13 +1698,13 @@ parameter: variable := expr.NewVariable(identifier) if $1 != nil { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) - } else if $2.value { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) - } else if $3.value { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + $$ = node.NewParameter($1, variable, nil, $2 != nil, $3 != nil) + } else if $2 != nil { + $$ = node.NewParameter($1, variable, nil, $2 != nil, $3 != nil) + } else if $3 != nil { + $$ = node.NewParameter($1, variable, nil, $2 != nil, $3 != nil) } else { - $$ = node.NewParameter($1, variable, nil, $2.value, $3.value) + $$ = node.NewParameter($1, variable, nil, $2 != nil, $3 != nil) } // save position @@ -1712,20 +1712,20 @@ parameter: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) if $1 != nil { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewNodeTokenPosition($1, $4)) - } else if $2.value { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($2.token, $4)) - } else if $3.value { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($3.token, $4)) + } else if $2 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($2, $4)) + } else if $3 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($3, $4)) } else { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) } // save comments - if $2.value { - yylex.(*Parser).comments.AddFromToken($$, $2.token, comment.AmpersandToken) + if $2 != nil { + yylex.(*Parser).comments.AddFromToken($$, $2, comment.AmpersandToken) } - if $3.value { - yylex.(*Parser).comments.AddFromToken($$, $3.token, comment.EllipsisToken) + if $3 != nil { + yylex.(*Parser).comments.AddFromToken($$, $3, comment.EllipsisToken) } yylex.(*Parser).comments.AddFromToken(variable, $4, comment.VariableToken) } @@ -1734,13 +1734,13 @@ parameter: identifier := node.NewIdentifier(strings.TrimLeft($4.Value, "$")) variable := expr.NewVariable(identifier) if $1 != nil { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) - } else if $2.value == true { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) - } else if $3.value == true { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + $$ = node.NewParameter($1, variable, $6, $2 != nil, $3 != nil) + } else if $2 != nil { + $$ = node.NewParameter($1, variable, $6, $2 != nil, $3 != nil) + } else if $3 != nil { + $$ = node.NewParameter($1, variable, $6, $2 != nil, $3 != nil) } else { - $$ = node.NewParameter($1, variable, $6, $2.value, $3.value) + $$ = node.NewParameter($1, variable, $6, $2 != nil, $3 != nil) } // save position @@ -1748,20 +1748,20 @@ parameter: yylex.(*Parser).positions.AddPosition(variable, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) if $1 != nil { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewNodesPosition($1, $6)) - } else if $2.value == true { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($2.token, $6)) - } else if $3.value == true { - yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($3.token, $6)) + } else if $2 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($2, $6)) + } else if $3 != nil { + yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($3, $6)) } else { yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokenNodePosition($4, $6)) } // save comments - if $2.value { - yylex.(*Parser).comments.AddFromToken($$, $2.token, comment.AmpersandToken) + if $2 != nil { + yylex.(*Parser).comments.AddFromToken($$, $2, comment.AmpersandToken) } - if $3.value { - yylex.(*Parser).comments.AddFromToken($$, $3.token, comment.EllipsisToken) + if $3 != nil { + yylex.(*Parser).comments.AddFromToken($$, $3, comment.EllipsisToken) } yylex.(*Parser).comments.AddFromToken(variable, $4, comment.VariableToken) yylex.(*Parser).comments.AddFromToken($$, $5, comment.EqualToken) @@ -1989,7 +1989,7 @@ class_statement: | method_modifiers T_FUNCTION returns_ref identifier backup_doc_comment '(' parameter_list ')' return_type method_body { name := node.NewIdentifier($4.Value) - $$ = stmt.NewClassMethod(name, $1, $3.value, $7, $9, $10, $5) + $$ = stmt.NewClassMethod(name, $1, $3 != nil, $7, $9, $10, $5) // save position yylex.(*Parser).positions.AddPosition(name, yylex.(*Parser).positionBuilder.NewTokenPosition($4)) @@ -2001,8 +2001,8 @@ class_statement: // save comments yylex.(*Parser).comments.AddFromToken($$, $2, comment.FunctionToken) - if $3.value { - yylex.(*Parser).comments.AddFromToken($$, $3.token, comment.AmpersandToken) + if $3 != nil { + yylex.(*Parser).comments.AddFromToken($$, $3, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken(name, $4, comment.IdentifierToken) yylex.(*Parser).comments.AddFromToken($$, $6, comment.OpenParenthesisToken) @@ -3204,15 +3204,15 @@ expr_without_variable: } | 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) + $$ = expr.NewClosure($5, $7, $8, $10, false, $2 != nil, $3) // save position yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $11)) // save comments yylex.(*Parser).comments.AddFromToken($$, $1, comment.FunctionToken) - if $2.value { - yylex.(*Parser).comments.AddFromToken($$, $2.token, comment.AmpersandToken) + if $2 != nil { + yylex.(*Parser).comments.AddFromToken($$, $2, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken($$, $4, comment.OpenParenthesisToken) yylex.(*Parser).comments.AddFromToken($$, $6, comment.CloseParenthesisToken) @@ -3221,7 +3221,7 @@ expr_without_variable: } | 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) + $$ = expr.NewClosure($6, $8, $9, $11, true, $3 != nil, $4) // save position yylex.(*Parser).positions.AddPosition($$, yylex.(*Parser).positionBuilder.NewTokensPosition($1, $12)) @@ -3229,8 +3229,8 @@ expr_without_variable: // save comments yylex.(*Parser).comments.AddFromToken($$, $1, comment.StaticToken) yylex.(*Parser).comments.AddFromToken($$, $2, comment.FunctionToken) - if $3.value { - yylex.(*Parser).comments.AddFromToken($$, $3.token, comment.AmpersandToken) + if $3 != nil { + yylex.(*Parser).comments.AddFromToken($$, $3, comment.AmpersandToken) } yylex.(*Parser).comments.AddFromToken($$, $5, comment.OpenParenthesisToken) yylex.(*Parser).comments.AddFromToken($$, $7, comment.CloseParenthesisToken) @@ -3249,9 +3249,9 @@ backup_doc_comment: returns_ref: /* empty */ - { $$ = boolWithToken{false, nil} } + { $$ = nil } | '&' - { $$ = boolWithToken{true, $1} } + { $$ = $1 } ; lexical_vars: @@ -4289,8 +4289,3 @@ type foreachVariable struct { node node.Node byRef bool } - -type boolWithToken struct { - value bool - token *scanner.Token -}