diff --git a/internal/php5/php5.go b/internal/php5/php5.go index e6a9141..8664f6e 100644 --- a/internal/php5/php5.go +++ b/internal/php5/php5.go @@ -342,7 +342,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php5/php5.y:6604 +// line internal/php5/php5.y:6598 // line yacctab:1 var yyExca = [...]int{ @@ -6142,96 +6142,89 @@ yydefault: yyDollar = yyS[yypt-2 : yypt+1] // line internal/php5/php5.y:3801 { - yyVAL.node = &ast.ExprCastInt{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastInt{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 290: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3812 +// line internal/php5/php5.y:3811 { - yyVAL.node = &ast.ExprCastDouble{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastDouble{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 291: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3823 +// line internal/php5/php5.y:3821 { - yyVAL.node = &ast.ExprCastString{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastString{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 292: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3834 +// line internal/php5/php5.y:3831 { - yyVAL.node = &ast.ExprCastArray{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastArray{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 293: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3845 +// line internal/php5/php5.y:3841 { - yyVAL.node = &ast.ExprCastObject{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastObject{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 294: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3856 +// line internal/php5/php5.y:3851 { - yyVAL.node = &ast.ExprCastBool{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastBool{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 295: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3867 +// line internal/php5/php5.y:3861 { - yyVAL.node = &ast.ExprCastUnset{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastUnset{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 296: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3878 +// line internal/php5/php5.y:3871 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, @@ -6250,7 +6243,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3895 +// line internal/php5/php5.y:3888 { yyVAL.node = &ast.ExprErrorSuppress{ Node: ast.Node{ @@ -6262,25 +6255,25 @@ yydefault: } case 298: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3905 +// line internal/php5/php5.y:3898 { yyVAL.node = yyDollar[1].node } case 299: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3909 +// line internal/php5/php5.y:3902 { yyVAL.node = yyDollar[1].node } case 300: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3913 +// line internal/php5/php5.y:3906 { yyVAL.node = yyDollar[1].node } case 301: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:3917 +// line internal/php5/php5.y:3910 { yyVAL.node = &ast.ExprShellExec{ Node: ast.Node{ @@ -6293,7 +6286,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3928 +// line internal/php5/php5.y:3921 { yyVAL.node = &ast.ExprPrint{ Node: ast.Node{ @@ -6305,19 +6298,18 @@ yydefault: } case 303: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:3938 +// line internal/php5/php5.y:3931 { - yyVAL.node = &ast.ExprYield{ast.Node{}, nil, nil} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[1].token), + }, + YieldTkn: yyDollar[1].token, + } } case 304: yyDollar = yyS[yypt-9 : yypt+1] -// line internal/php5/php5.y:3948 +// line internal/php5/php5.y:3940 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6336,7 +6328,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-10 : yypt+1] -// line internal/php5/php5.y:3965 +// line internal/php5/php5.y:3957 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6356,57 +6348,59 @@ yydefault: } case 306: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3986 +// line internal/php5/php5.y:3978 { - yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + YieldTkn: yyDollar[1].token, + Value: yyDollar[2].node, + } } case 307: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:3996 +// line internal/php5/php5.y:3988 { - yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + YieldTkn: yyDollar[1].token, + Value: yyDollar[2].node, + } } case 308: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4006 +// line internal/php5/php5.y:3998 { - yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + }, + YieldTkn: yyDollar[1].token, + Key: yyDollar[2].node, + DoubleArrowTkn: yyDollar[3].token, + Value: yyDollar[4].node, + } } case 309: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4017 +// line internal/php5/php5.y:4010 { - yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + }, + YieldTkn: yyDollar[1].token, + Key: yyDollar[2].node, + DoubleArrowTkn: yyDollar[3].token, + Value: yyDollar[4].node, + } } case 310: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4031 +// line internal/php5/php5.y:4025 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6420,7 +6414,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4043 +// line internal/php5/php5.y:4037 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6434,7 +6428,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4055 +// line internal/php5/php5.y:4049 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6454,7 +6448,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4073 +// line internal/php5/php5.y:4067 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6468,7 +6462,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4088 +// line internal/php5/php5.y:4082 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6483,7 +6477,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4101 +// line internal/php5/php5.y:4095 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6497,19 +6491,19 @@ yydefault: } case 316: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4116 +// line internal/php5/php5.y:4110 { yyVAL.token = yyDollar[1].token } case 317: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4123 +// line internal/php5/php5.y:4117 { yyVAL.ClosureUse = nil } case 318: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4127 +// line internal/php5/php5.y:4121 { yyVAL.ClosureUse = &ast.ExprClosureUse{ Node: ast.Node{ @@ -6524,7 +6518,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4143 +// line internal/php5/php5.y:4137 { variable := &ast.ExprVariable{ Node: ast.Node{ @@ -6546,7 +6540,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4163 +// line internal/php5/php5.y:4157 { reference := &ast.ExprReference{ Node: ast.Node{ @@ -6574,7 +6568,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4189 +// line internal/php5/php5.y:4183 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -6595,7 +6589,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4208 +// line internal/php5/php5.y:4202 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -6622,7 +6616,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4236 +// line internal/php5/php5.y:4230 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6641,7 +6635,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4253 +// line internal/php5/php5.y:4247 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6662,7 +6656,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4272 +// line internal/php5/php5.y:4266 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6682,7 +6676,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4290 +// line internal/php5/php5.y:4284 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6698,7 +6692,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4304 +// line internal/php5/php5.y:4298 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6714,7 +6708,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4318 +// line internal/php5/php5.y:4312 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6730,7 +6724,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4332 +// line internal/php5/php5.y:4326 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6746,7 +6740,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4346 +// line internal/php5/php5.y:4340 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6760,7 +6754,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4361 +// line internal/php5/php5.y:4355 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -6772,7 +6766,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4371 +// line internal/php5/php5.y:4365 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6783,7 +6777,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4380 +// line internal/php5/php5.y:4374 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6796,7 +6790,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4391 +// line internal/php5/php5.y:4385 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6808,7 +6802,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4404 +// line internal/php5/php5.y:4398 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -6819,7 +6813,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4413 +// line internal/php5/php5.y:4407 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -6832,7 +6826,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4424 +// line internal/php5/php5.y:4418 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -6844,19 +6838,19 @@ yydefault: } case 338: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4437 +// line internal/php5/php5.y:4431 { yyVAL.node = yyDollar[1].node } case 339: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4441 +// line internal/php5/php5.y:4435 { yyVAL.node = yyDollar[1].node } case 340: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4448 +// line internal/php5/php5.y:4442 { yyVAL.node = yyDollar[1].node @@ -6897,25 +6891,25 @@ yydefault: } case 341: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4487 +// line internal/php5/php5.y:4481 { yyVAL.node = yyDollar[1].node } case 342: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4495 +// line internal/php5/php5.y:4489 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 343: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4499 +// line internal/php5/php5.y:4493 { yyVAL.list = []ast.Vertex{} } case 344: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4507 +// line internal/php5/php5.y:4501 { yyVAL.list = yyDollar[2].list @@ -6924,13 +6918,13 @@ yydefault: } case 345: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4517 +// line internal/php5/php5.y:4511 { yyVAL.node = nil } case 346: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4521 +// line internal/php5/php5.y:4515 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6946,19 +6940,19 @@ yydefault: } case 347: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4535 +// line internal/php5/php5.y:4529 { yyVAL.node = yyDollar[1].node } case 348: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4542 +// line internal/php5/php5.y:4536 { yyVAL.list = []ast.Vertex{} } case 349: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4546 +// line internal/php5/php5.y:4540 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6972,25 +6966,25 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4558 +// line internal/php5/php5.y:4552 { yyVAL.list = yyDollar[1].list } case 351: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:4565 +// line internal/php5/php5.y:4559 { yyVAL.node = nil } case 352: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4569 +// line internal/php5/php5.y:4563 { yyVAL.node = yyDollar[1].node } case 353: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4576 +// line internal/php5/php5.y:4570 { yyVAL.node = &ast.ScalarLnumber{ Node: ast.Node{ @@ -7002,7 +6996,7 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4586 +// line internal/php5/php5.y:4580 { yyVAL.node = &ast.ScalarDnumber{ Node: ast.Node{ @@ -7014,7 +7008,7 @@ yydefault: } case 355: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4596 +// line internal/php5/php5.y:4590 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -7026,7 +7020,7 @@ yydefault: } case 356: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4606 +// line internal/php5/php5.y:4600 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7038,7 +7032,7 @@ yydefault: } case 357: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4616 +// line internal/php5/php5.y:4610 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7050,7 +7044,7 @@ yydefault: } case 358: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4626 +// line internal/php5/php5.y:4620 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7062,7 +7056,7 @@ yydefault: } case 359: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4636 +// line internal/php5/php5.y:4630 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7074,7 +7068,7 @@ yydefault: } case 360: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4646 +// line internal/php5/php5.y:4640 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7086,7 +7080,7 @@ yydefault: } case 361: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4656 +// line internal/php5/php5.y:4650 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7098,7 +7092,7 @@ yydefault: } case 362: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4666 +// line internal/php5/php5.y:4660 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7110,7 +7104,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4676 +// line internal/php5/php5.y:4670 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7131,7 +7125,7 @@ yydefault: } case 364: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4695 +// line internal/php5/php5.y:4689 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7143,7 +7137,7 @@ yydefault: } case 365: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4708 +// line internal/php5/php5.y:4702 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -7162,25 +7156,25 @@ yydefault: } case 366: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4728 +// line internal/php5/php5.y:4722 { yyVAL.node = yyDollar[1].node } case 367: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4735 +// line internal/php5/php5.y:4729 { yyVAL.node = yyDollar[1].node } case 368: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4739 +// line internal/php5/php5.y:4733 { yyVAL.node = yyDollar[1].node } case 369: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4743 +// line internal/php5/php5.y:4737 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7196,7 +7190,7 @@ yydefault: } case 370: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4757 +// line internal/php5/php5.y:4751 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7214,7 +7208,7 @@ yydefault: } case 371: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4773 +// line internal/php5/php5.y:4767 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7231,7 +7225,7 @@ yydefault: } case 372: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4788 +// line internal/php5/php5.y:4782 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -7246,7 +7240,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4801 +// line internal/php5/php5.y:4795 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -7260,13 +7254,13 @@ yydefault: } case 374: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4813 +// line internal/php5/php5.y:4807 { yyVAL.node = yyDollar[1].node } case 375: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4817 +// line internal/php5/php5.y:4811 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7278,13 +7272,13 @@ yydefault: } case 376: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:4827 +// line internal/php5/php5.y:4821 { yyVAL.node = yyDollar[1].node } case 377: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:4834 +// line internal/php5/php5.y:4828 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7298,7 +7292,7 @@ yydefault: } case 378: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4846 +// line internal/php5/php5.y:4840 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7311,7 +7305,7 @@ yydefault: } case 379: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4857 +// line internal/php5/php5.y:4851 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7324,7 +7318,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4868 +// line internal/php5/php5.y:4862 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7337,7 +7331,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4879 +// line internal/php5/php5.y:4873 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7350,7 +7344,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4890 +// line internal/php5/php5.y:4884 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7363,7 +7357,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4901 +// line internal/php5/php5.y:4895 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7376,7 +7370,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4912 +// line internal/php5/php5.y:4906 { yyVAL.node = &ast.ExprBooleanNot{ Node: ast.Node{ @@ -7388,7 +7382,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:4922 +// line internal/php5/php5.y:4916 { yyVAL.node = &ast.ExprBitwiseNot{ Node: ast.Node{ @@ -7400,7 +7394,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4932 +// line internal/php5/php5.y:4926 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7413,7 +7407,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4943 +// line internal/php5/php5.y:4937 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7426,7 +7420,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4954 +// line internal/php5/php5.y:4948 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7439,7 +7433,7 @@ yydefault: } case 389: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4965 +// line internal/php5/php5.y:4959 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7452,7 +7446,7 @@ yydefault: } case 390: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4976 +// line internal/php5/php5.y:4970 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7465,7 +7459,7 @@ yydefault: } case 391: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4987 +// line internal/php5/php5.y:4981 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7478,7 +7472,7 @@ yydefault: } case 392: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:4998 +// line internal/php5/php5.y:4992 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7491,7 +7485,7 @@ yydefault: } case 393: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5009 +// line internal/php5/php5.y:5003 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7504,7 +7498,7 @@ yydefault: } case 394: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5020 +// line internal/php5/php5.y:5014 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7517,7 +7511,7 @@ yydefault: } case 395: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5031 +// line internal/php5/php5.y:5025 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7530,7 +7524,7 @@ yydefault: } case 396: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5042 +// line internal/php5/php5.y:5036 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7543,7 +7537,7 @@ yydefault: } case 397: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5053 +// line internal/php5/php5.y:5047 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7556,7 +7550,7 @@ yydefault: } case 398: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5064 +// line internal/php5/php5.y:5058 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7569,7 +7563,7 @@ yydefault: } case 399: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5075 +// line internal/php5/php5.y:5069 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7582,7 +7576,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5086 +// line internal/php5/php5.y:5080 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7596,7 +7590,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5098 +// line internal/php5/php5.y:5092 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7609,7 +7603,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5109 +// line internal/php5/php5.y:5103 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7622,7 +7616,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5120 +// line internal/php5/php5.y:5114 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7635,7 +7629,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5131 +// line internal/php5/php5.y:5125 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -7648,7 +7642,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5142 +// line internal/php5/php5.y:5136 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -7662,7 +7656,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:5154 +// line internal/php5/php5.y:5148 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -7677,7 +7671,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5167 +// line internal/php5/php5.y:5161 { yyVAL.node = &ast.ExprUnaryPlus{ Node: ast.Node{ @@ -7689,7 +7683,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5177 +// line internal/php5/php5.y:5171 { yyVAL.node = &ast.ExprUnaryMinus{ Node: ast.Node{ @@ -7701,7 +7695,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5187 +// line internal/php5/php5.y:5181 { yyVAL.node = yyDollar[2].node @@ -7711,13 +7705,13 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5198 +// line internal/php5/php5.y:5192 { yyVAL.node = yyDollar[1].node } case 411: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5202 +// line internal/php5/php5.y:5196 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7733,7 +7727,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5216 +// line internal/php5/php5.y:5210 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7751,7 +7745,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5232 +// line internal/php5/php5.y:5226 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -7768,7 +7762,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5250 +// line internal/php5/php5.y:5244 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7785,25 +7779,25 @@ yydefault: } case 415: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5265 +// line internal/php5/php5.y:5259 { yyVAL.node = yyDollar[1].node } case 416: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5269 +// line internal/php5/php5.y:5263 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5273 +// line internal/php5/php5.y:5267 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5277 +// line internal/php5/php5.y:5271 { yyVAL.node = &ast.ScalarEncapsed{ Node: ast.Node{ @@ -7816,7 +7810,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5288 +// line internal/php5/php5.y:5282 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -7829,7 +7823,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5299 +// line internal/php5/php5.y:5293 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -7841,13 +7835,13 @@ yydefault: } case 421: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5312 +// line internal/php5/php5.y:5306 { yyVAL.node = &ast.ParserSeparatedList{} } case 422: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5316 +// line internal/php5/php5.y:5310 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -7858,19 +7852,19 @@ yydefault: } case 423: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5328 +// line internal/php5/php5.y:5322 { yyVAL.token = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5332 +// line internal/php5/php5.y:5326 { yyVAL.token = yyDollar[1].token } case 425: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:5339 +// line internal/php5/php5.y:5333 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -7888,7 +7882,7 @@ yydefault: } case 426: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5355 +// line internal/php5/php5.y:5349 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -7904,7 +7898,7 @@ yydefault: } case 427: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5369 +// line internal/php5/php5.y:5363 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -7921,7 +7915,7 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5384 +// line internal/php5/php5.y:5378 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -7936,19 +7930,19 @@ yydefault: } case 429: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5400 +// line internal/php5/php5.y:5394 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5404 +// line internal/php5/php5.y:5398 { yyVAL.node = yyDollar[1].node } case 431: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5411 +// line internal/php5/php5.y:5405 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7965,7 +7959,7 @@ yydefault: } case 432: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5426 +// line internal/php5/php5.y:5420 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7982,25 +7976,25 @@ yydefault: } case 433: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5445 +// line internal/php5/php5.y:5439 { yyVAL.node = yyDollar[1].node } case 434: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5453 +// line internal/php5/php5.y:5447 { yyVAL.node = yyDollar[1].node } case 435: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5460 +// line internal/php5/php5.y:5454 { yyVAL.node = yyDollar[1].node } case 436: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:5467 +// line internal/php5/php5.y:5461 { yyVAL.node = yyDollar[1].node @@ -8078,25 +8072,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5543 +// line internal/php5/php5.y:5537 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5550 +// line internal/php5/php5.y:5544 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].list...) } case 439: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5554 +// line internal/php5/php5.y:5548 { yyVAL.list = []ast.Vertex{} } case 440: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5562 +// line internal/php5/php5.y:5556 { println("FOOFOOFOOFOOFOOFOOFOOFOOFOO") yyDollar[2].list[0].(*ast.ExprPropertyFetch).ObjectOperatorTkn = yyDollar[1].token @@ -8127,7 +8121,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5593 +// line internal/php5/php5.y:5587 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8143,7 +8137,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5607 +// line internal/php5/php5.y:5601 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8159,7 +8153,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5624 +// line internal/php5/php5.y:5618 { yyVAL.node = &ast.ExprMethodCall{ Node: ast.Node{ @@ -8172,31 +8166,31 @@ yydefault: } case 444: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5638 +// line internal/php5/php5.y:5632 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 445: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5642 +// line internal/php5/php5.y:5636 { yyVAL.list = yyDollar[1].list } case 446: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5646 +// line internal/php5/php5.y:5640 { yyVAL.list = nil } case 447: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5653 +// line internal/php5/php5.y:5647 { yyVAL.node = yyDollar[1].node } case 448: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5657 +// line internal/php5/php5.y:5651 { for i := len(yyDollar[1].list) - 1; i >= 0; i-- { yyDollar[1].list[i].(*ast.ExprVariable).VarName = yyDollar[2].node @@ -8208,7 +8202,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5670 +// line internal/php5/php5.y:5664 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -8221,7 +8215,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5681 +// line internal/php5/php5.y:5675 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -8234,13 +8228,13 @@ yydefault: } case 451: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5695 +// line internal/php5/php5.y:5689 { yyVAL.node = yyDollar[1].node } case 452: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5702 +// line internal/php5/php5.y:5696 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8254,7 +8248,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5714 +// line internal/php5/php5.y:5708 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8268,31 +8262,31 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5729 +// line internal/php5/php5.y:5723 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5733 +// line internal/php5/php5.y:5727 { yyVAL.node = yyDollar[1].node } case 456: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5737 +// line internal/php5/php5.y:5731 { yyVAL.node = yyDollar[1].node } case 457: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5745 +// line internal/php5/php5.y:5739 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5749 +// line internal/php5/php5.y:5743 { for i := len(yyDollar[1].list) - 1; i >= 0; i-- { yyDollar[1].list[i].(*ast.ExprVariable).VarName = yyDollar[2].node @@ -8304,13 +8298,13 @@ yydefault: } case 459: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5759 +// line internal/php5/php5.y:5753 { yyVAL.node = yyDollar[1].node } case 460: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5766 +// line internal/php5/php5.y:5760 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8324,7 +8318,7 @@ yydefault: } case 461: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5778 +// line internal/php5/php5.y:5772 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8338,13 +8332,13 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5790 +// line internal/php5/php5.y:5784 { yyVAL.node = yyDollar[1].node } case 463: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5798 +// line internal/php5/php5.y:5792 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8361,7 +8355,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5813 +// line internal/php5/php5.y:5807 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8380,25 +8374,25 @@ yydefault: } case 465: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:5833 +// line internal/php5/php5.y:5827 { yyVAL.node = nil } case 466: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5837 +// line internal/php5/php5.y:5831 { yyVAL.node = yyDollar[1].node } case 467: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5845 +// line internal/php5/php5.y:5839 { yyVAL.list = yyDollar[1].list } case 468: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5849 +// line internal/php5/php5.y:5843 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ @@ -8411,7 +8405,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5863 +// line internal/php5/php5.y:5857 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8427,7 +8421,7 @@ yydefault: } case 470: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5877 +// line internal/php5/php5.y:5871 { fetch := &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8443,7 +8437,7 @@ yydefault: } case 471: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5891 +// line internal/php5/php5.y:5885 { yyVAL.list = []ast.Vertex{ &ast.ExprPropertyFetch{ @@ -8456,7 +8450,7 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5905 +// line internal/php5/php5.y:5899 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -8468,7 +8462,7 @@ yydefault: } case 473: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5915 +// line internal/php5/php5.y:5909 { yyVAL.node = yyDollar[2].node @@ -8481,7 +8475,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5929 +// line internal/php5/php5.y:5923 { yyVAL.list = []ast.Vertex{ &ast.ExprVariable{ @@ -8494,7 +8488,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:5940 +// line internal/php5/php5.y:5934 { yyVAL.list = append(yyDollar[1].list, &ast.ExprVariable{ Node: ast.Node{ @@ -8505,7 +8499,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:5952 +// line internal/php5/php5.y:5946 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -8514,7 +8508,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5959 +// line internal/php5/php5.y:5953 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -8522,7 +8516,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:5969 +// line internal/php5/php5.y:5963 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -8533,7 +8527,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:5978 +// line internal/php5/php5.y:5972 { pairList := yyDollar[3].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -8560,19 +8554,19 @@ yydefault: } case 480: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:6003 +// line internal/php5/php5.y:5997 { yyVAL.node = &ast.ExprArrayItem{} } case 481: yyDollar = yyS[yypt-0 : yypt+1] -// line internal/php5/php5.y:6011 +// line internal/php5/php5.y:6005 { yyVAL.node = &ast.ParserSeparatedList{} } case 482: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6015 +// line internal/php5/php5.y:6009 { if yyDollar[2].token != nil { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) @@ -8583,7 +8577,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-5 : yypt+1] -// line internal/php5/php5.y:6027 +// line internal/php5/php5.y:6021 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8601,7 +8595,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6043 +// line internal/php5/php5.y:6037 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8617,7 +8611,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6057 +// line internal/php5/php5.y:6051 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8634,7 +8628,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6072 +// line internal/php5/php5.y:6066 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8649,7 +8643,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:6085 +// line internal/php5/php5.y:6079 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8673,7 +8667,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6107 +// line internal/php5/php5.y:6101 { arrayItem := &ast.ExprArrayItem{ Node: ast.Node{ @@ -8695,7 +8689,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6127 +// line internal/php5/php5.y:6121 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8718,7 +8712,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6148 +// line internal/php5/php5.y:6142 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{ @@ -8739,13 +8733,13 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6170 +// line internal/php5/php5.y:6164 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 492: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6174 +// line internal/php5/php5.y:6168 { yyVAL.list = append( yyDollar[1].list, @@ -8760,13 +8754,13 @@ yydefault: } case 493: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6187 +// line internal/php5/php5.y:6181 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 494: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6191 +// line internal/php5/php5.y:6185 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -8781,7 +8775,7 @@ yydefault: } case 495: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6207 +// line internal/php5/php5.y:6201 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8798,7 +8792,7 @@ yydefault: } case 496: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6222 +// line internal/php5/php5.y:6216 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -8823,7 +8817,7 @@ yydefault: } case 497: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6245 +// line internal/php5/php5.y:6239 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -8853,7 +8847,7 @@ yydefault: } case 498: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6273 +// line internal/php5/php5.y:6267 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8871,7 +8865,7 @@ yydefault: } case 499: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6289 +// line internal/php5/php5.y:6283 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8895,7 +8889,7 @@ yydefault: } case 500: yyDollar = yyS[yypt-6 : yypt+1] -// line internal/php5/php5.y:6311 +// line internal/php5/php5.y:6305 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8927,7 +8921,7 @@ yydefault: } case 501: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6341 +// line internal/php5/php5.y:6335 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -8940,7 +8934,7 @@ yydefault: } case 502: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6355 +// line internal/php5/php5.y:6349 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -8952,7 +8946,7 @@ yydefault: } case 503: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6365 +// line internal/php5/php5.y:6359 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -8981,7 +8975,7 @@ yydefault: } case 504: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6392 +// line internal/php5/php5.y:6386 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -8998,7 +8992,7 @@ yydefault: } case 505: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6410 +// line internal/php5/php5.y:6404 { yyVAL.node = &ast.ExprIsset{ Node: ast.Node{ @@ -9013,7 +9007,7 @@ yydefault: } case 506: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6423 +// line internal/php5/php5.y:6417 { yyVAL.node = &ast.ExprEmpty{ Node: ast.Node{ @@ -9027,7 +9021,7 @@ yydefault: } case 507: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6435 +// line internal/php5/php5.y:6429 { yyVAL.node = &ast.ExprEmpty{ Node: ast.Node{ @@ -9041,7 +9035,7 @@ yydefault: } case 508: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6447 +// line internal/php5/php5.y:6441 { yyVAL.node = &ast.ExprInclude{ Node: ast.Node{ @@ -9053,7 +9047,7 @@ yydefault: } case 509: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6457 +// line internal/php5/php5.y:6451 { yyVAL.node = &ast.ExprIncludeOnce{ Node: ast.Node{ @@ -9065,7 +9059,7 @@ yydefault: } case 510: yyDollar = yyS[yypt-4 : yypt+1] -// line internal/php5/php5.y:6467 +// line internal/php5/php5.y:6461 { yyVAL.node = &ast.ExprEval{ Node: ast.Node{ @@ -9079,7 +9073,7 @@ yydefault: } case 511: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6479 +// line internal/php5/php5.y:6473 { yyVAL.node = &ast.ExprRequire{ Node: ast.Node{ @@ -9091,7 +9085,7 @@ yydefault: } case 512: yyDollar = yyS[yypt-2 : yypt+1] -// line internal/php5/php5.y:6489 +// line internal/php5/php5.y:6483 { yyVAL.node = &ast.ExprRequireOnce{ Node: ast.Node{ @@ -9103,7 +9097,7 @@ yydefault: } case 513: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6502 +// line internal/php5/php5.y:6496 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -9111,7 +9105,7 @@ yydefault: } case 514: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6508 +// line internal/php5/php5.y:6502 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -9120,19 +9114,19 @@ yydefault: } case 515: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6518 +// line internal/php5/php5.y:6512 { yyVAL.node = yyDollar[1].node } case 516: yyDollar = yyS[yypt-1 : yypt+1] -// line internal/php5/php5.y:6522 +// line internal/php5/php5.y:6516 { yyVAL.node = yyDollar[1].node } case 517: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6529 +// line internal/php5/php5.y:6523 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -9151,7 +9145,7 @@ yydefault: } case 518: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6546 +// line internal/php5/php5.y:6540 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -9170,7 +9164,7 @@ yydefault: } case 519: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6566 +// line internal/php5/php5.y:6560 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -9189,7 +9183,7 @@ yydefault: } case 520: yyDollar = yyS[yypt-3 : yypt+1] -// line internal/php5/php5.y:6586 +// line internal/php5/php5.y:6580 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ diff --git a/internal/php5/php5.y b/internal/php5/php5.y index 3990144..7ff468a 100644 --- a/internal/php5/php5.y +++ b/internal/php5/php5.y @@ -3799,80 +3799,73 @@ expr_without_variable: } | T_INT_CAST expr { - $$ = &ast.ExprCastInt{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastInt{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_DOUBLE_CAST expr { - $$ = &ast.ExprCastDouble{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastDouble{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_STRING_CAST expr { - $$ = &ast.ExprCastString{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastString{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_ARRAY_CAST expr { - $$ = &ast.ExprCastArray{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastArray{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_OBJECT_CAST expr { - $$ = &ast.ExprCastObject{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastObject{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_BOOL_CAST expr { - $$ = &ast.ExprCastBool{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastBool{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_UNSET_CAST expr { - $$ = &ast.ExprCastUnset{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastUnset{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_EXIT exit_expr { @@ -3936,13 +3929,12 @@ expr_without_variable: } | T_YIELD { - $$ = &ast.ExprYield{ast.Node{}, nil, nil} - - // save position - $$.GetNode().Position = position.NewTokenPosition($1) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenPosition($1), + }, + YieldTkn: $1, + } } | function is_reference '(' parameter_list ')' lexical_vars '{' inner_statement_list '}' { @@ -3984,45 +3976,47 @@ expr_without_variable: yield_expr: T_YIELD expr_without_variable { - $$ = &ast.ExprYield{ast.Node{}, nil, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + YieldTkn: $1, + Value: $2, + } } | T_YIELD variable { - $$ = &ast.ExprYield{ast.Node{}, nil, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + YieldTkn: $1, + Value: $2, + } } | T_YIELD expr T_DOUBLE_ARROW expr_without_variable { - $$ = &ast.ExprYield{ast.Node{}, $2, $4} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $4) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $4), + }, + YieldTkn: $1, + Key: $2, + DoubleArrowTkn: $3, + Value: $4, + } } | T_YIELD expr T_DOUBLE_ARROW variable { - $$ = &ast.ExprYield{ast.Node{}, $2, $4} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $4) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $4), + }, + YieldTkn: $1, + Key: $2, + DoubleArrowTkn: $3, + Value: $4, + } } ; diff --git a/internal/php7/php7.go b/internal/php7/php7.go index 351c5c1..8788ab2 100644 --- a/internal/php7/php7.go +++ b/internal/php7/php7.go @@ -343,7 +343,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -// line internal/php7/php7.y:5025 +// line internal/php7/php7.y:5018 // line yacctab:1 var yyExca = [...]int{ @@ -2110,7 +2110,7 @@ yydefault: case 1: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:290 +// line internal/php7/php7.y:290 { yylex.(*Parser).rootNode = &ast.Root{ast.Node{}, yyDollar[1].list} @@ -2121,469 +2121,469 @@ yydefault: } case 2: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 3: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 4: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 5: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 6: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 7: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 8: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 9: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:301 +// line internal/php7/php7.y:301 { yyVAL.token = yyDollar[1].token } case 10: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 11: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 12: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 13: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 14: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 15: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 16: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 17: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 18: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 19: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 20: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 21: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:302 +// line internal/php7/php7.y:302 { yyVAL.token = yyDollar[1].token } case 22: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 23: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 24: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 25: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 26: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 27: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 28: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 29: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 30: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 31: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:303 +// line internal/php7/php7.y:303 { yyVAL.token = yyDollar[1].token } case 32: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 33: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 34: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 35: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 36: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 37: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 38: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 39: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 40: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 41: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:304 +// line internal/php7/php7.y:304 { yyVAL.token = yyDollar[1].token } case 42: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 43: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 44: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 45: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 46: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 47: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 48: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 49: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 50: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 51: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 52: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:305 +// line internal/php7/php7.y:305 { yyVAL.token = yyDollar[1].token } case 53: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 54: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 55: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 56: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 57: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 58: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 59: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 60: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:306 +// line internal/php7/php7.y:306 { yyVAL.token = yyDollar[1].token } case 61: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 62: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 63: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 64: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 65: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 66: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 67: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 68: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 69: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:307 +// line internal/php7/php7.y:307 { yyVAL.token = yyDollar[1].token } case 70: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:312 +// line internal/php7/php7.y:312 { yyVAL.token = yyDollar[1].token } case 71: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:315 +// line internal/php7/php7.y:315 { yyVAL.token = yyDollar[1].token } case 72: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:315 +// line internal/php7/php7.y:315 { yyVAL.token = yyDollar[1].token } case 73: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:315 +// line internal/php7/php7.y:315 { yyVAL.token = yyDollar[1].token } case 74: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:315 +// line internal/php7/php7.y:315 { yyVAL.token = yyDollar[1].token } case 75: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:315 +// line internal/php7/php7.y:315 { yyVAL.token = yyDollar[1].token } case 76: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:315 +// line internal/php7/php7.y:315 { yyVAL.token = yyDollar[1].token } case 77: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:320 +// line internal/php7/php7.y:320 { yyVAL.token = yyDollar[1].token } case 78: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:324 +// line internal/php7/php7.y:324 { yyVAL.token = yyDollar[1].token } case 79: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:331 +// line internal/php7/php7.y:331 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -2596,13 +2596,13 @@ yydefault: } case 80: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:342 +// line internal/php7/php7.y:342 { yyVAL.list = []ast.Vertex{} } case 81: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:349 +// line internal/php7/php7.y:349 { yyVAL.list = []ast.Vertex{ &ast.NameNamePart{ @@ -2616,7 +2616,7 @@ yydefault: } case 82: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:361 +// line internal/php7/php7.y:361 { yyVAL.list = append(yyDollar[1].list, &ast.NameNamePart{ Node: ast.Node{ @@ -2629,7 +2629,7 @@ yydefault: } case 83: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:375 +// line internal/php7/php7.y:375 { yyVAL.node = &ast.NameName{ Node: ast.Node{ @@ -2640,7 +2640,7 @@ yydefault: } case 84: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:384 +// line internal/php7/php7.y:384 { yyVAL.node = &ast.NameRelative{ Node: ast.Node{ @@ -2653,7 +2653,7 @@ yydefault: } case 85: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:395 +// line internal/php7/php7.y:395 { yyVAL.node = &ast.NameFullyQualified{ Node: ast.Node{ @@ -2665,44 +2665,44 @@ yydefault: } case 86: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:408 +// line internal/php7/php7.y:408 { // error yyVAL.node = nil } case 87: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:413 +// line internal/php7/php7.y:413 { yyVAL.node = yyDollar[1].node } case 88: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:417 +// line internal/php7/php7.y:417 { yyVAL.node = yyDollar[1].node } case 89: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:421 +// line internal/php7/php7.y:421 { yyVAL.node = yyDollar[1].node } case 90: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:425 +// line internal/php7/php7.y:425 { yyVAL.node = yyDollar[1].node } case 91: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:429 +// line internal/php7/php7.y:429 { yyVAL.node = yyDollar[1].node } case 92: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:433 +// line internal/php7/php7.y:433 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -2716,7 +2716,7 @@ yydefault: } case 93: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:445 +// line internal/php7/php7.y:445 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2734,7 +2734,7 @@ yydefault: } case 94: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:461 +// line internal/php7/php7.y:461 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2754,7 +2754,7 @@ yydefault: } case 95: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:479 +// line internal/php7/php7.y:479 { yyVAL.node = &ast.StmtNamespace{ Node: ast.Node{ @@ -2768,7 +2768,7 @@ yydefault: } case 96: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:491 +// line internal/php7/php7.y:491 { use := yyDollar[2].node.(*ast.StmtGroupUse) @@ -2780,7 +2780,7 @@ yydefault: } case 97: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:501 +// line internal/php7/php7.y:501 { use := yyDollar[3].node.(*ast.StmtGroupUse) @@ -2793,7 +2793,7 @@ yydefault: } case 98: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:512 +// line internal/php7/php7.y:512 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2806,7 +2806,7 @@ yydefault: } case 99: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:523 +// line internal/php7/php7.y:523 { yyVAL.node = &ast.StmtUse{ Node: ast.Node{ @@ -2820,7 +2820,7 @@ yydefault: } case 100: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:535 +// line internal/php7/php7.y:535 { yyVAL.node = &ast.StmtConstList{ Node: ast.Node{ @@ -2834,7 +2834,7 @@ yydefault: } case 101: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:550 +// line internal/php7/php7.y:550 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -2846,7 +2846,7 @@ yydefault: } case 102: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:560 +// line internal/php7/php7.y:560 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -2858,7 +2858,7 @@ yydefault: } case 103: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:573 +// line internal/php7/php7.y:573 { if len(yyDollar[4].list) > 0 { yyDollar[4].list[len(yyDollar[4].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[5].token @@ -2882,7 +2882,7 @@ yydefault: } case 104: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:595 +// line internal/php7/php7.y:595 { yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[6].token @@ -2905,7 +2905,7 @@ yydefault: } case 105: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:619 +// line internal/php7/php7.y:619 { yyDollar[4].list[len(yyDollar[4].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[5].token @@ -2927,7 +2927,7 @@ yydefault: } case 106: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:639 +// line internal/php7/php7.y:639 { yyDollar[5].list[len(yyDollar[5].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[6].token @@ -2950,19 +2950,19 @@ yydefault: } case 107: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:663 +// line internal/php7/php7.y:663 { yyVAL.token = nil } case 108: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:667 +// line internal/php7/php7.y:667 { yyVAL.token = yyDollar[1].token } case 109: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:674 +// line internal/php7/php7.y:674 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2970,13 +2970,13 @@ yydefault: } case 110: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:680 +// line internal/php7/php7.y:680 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 111: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:687 +// line internal/php7/php7.y:687 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2984,13 +2984,13 @@ yydefault: } case 112: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:693 +// line internal/php7/php7.y:693 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 113: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:700 +// line internal/php7/php7.y:700 { yyDollar[1].list[len(yyDollar[1].list)-1].(*ast.StmtUseDeclaration).CommaTkn = yyDollar[2].token @@ -2998,19 +2998,19 @@ yydefault: } case 114: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:706 +// line internal/php7/php7.y:706 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 115: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:713 +// line internal/php7/php7.y:713 { yyVAL.node = yyDollar[1].node } case 116: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:717 +// line internal/php7/php7.y:717 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.Type = yyDollar[1].node @@ -3020,7 +3020,7 @@ yydefault: } case 117: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:728 +// line internal/php7/php7.y:728 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -3036,7 +3036,7 @@ yydefault: } case 118: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:742 +// line internal/php7/php7.y:742 { yyVAL.node = &ast.StmtUseDeclaration{ Node: ast.Node{ @@ -3060,13 +3060,13 @@ yydefault: } case 119: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:767 +// line internal/php7/php7.y:767 { yyVAL.node = yyDollar[1].node } case 120: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:771 +// line internal/php7/php7.y:771 { decl := yyDollar[2].node.(*ast.StmtUseDeclaration) decl.NsSeparatorTkn = yyDollar[1].token @@ -3076,7 +3076,7 @@ yydefault: } case 121: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:782 +// line internal/php7/php7.y:782 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -3085,7 +3085,7 @@ yydefault: } case 122: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:789 +// line internal/php7/php7.y:789 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -3093,7 +3093,7 @@ yydefault: } case 123: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:798 +// line internal/php7/php7.y:798 { if inlineHtmlNode, ok := yyDollar[2].node.(*ast.StmtInlineHtml); ok && len(yyDollar[1].list) > 0 { prevNode := lastNode(yyDollar[1].list) @@ -3106,50 +3106,50 @@ yydefault: } case 124: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:809 +// line internal/php7/php7.y:809 { yyVAL.list = []ast.Vertex{} } case 125: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:816 +// line internal/php7/php7.y:816 { // error yyVAL.node = nil } case 126: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:821 +// line internal/php7/php7.y:821 { yyVAL.node = yyDollar[1].node } case 127: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:825 +// line internal/php7/php7.y:825 { yyVAL.node = yyDollar[1].node } case 128: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:829 +// line internal/php7/php7.y:829 { yyVAL.node = yyDollar[1].node } case 129: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:833 +// line internal/php7/php7.y:833 { yyVAL.node = yyDollar[1].node } case 130: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:837 +// line internal/php7/php7.y:837 { yyVAL.node = yyDollar[1].node } case 131: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:841 +// line internal/php7/php7.y:841 { yyVAL.node = &ast.StmtHaltCompiler{ Node: ast.Node{ @@ -3163,7 +3163,7 @@ yydefault: } case 132: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:855 +// line internal/php7/php7.y:855 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -3176,19 +3176,19 @@ yydefault: } case 133: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:866 +// line internal/php7/php7.y:866 { yyVAL.node = yyDollar[1].node } case 134: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:870 +// line internal/php7/php7.y:870 { yyVAL.node = yyDollar[1].node } case 135: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:874 +// line internal/php7/php7.y:874 { yyDollar[5].node.(*ast.StmtWhile).WhileTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtWhile).OpenParenthesisTkn = yyDollar[2].token @@ -3200,7 +3200,7 @@ yydefault: } case 136: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:884 +// line internal/php7/php7.y:884 { yyVAL.node = &ast.StmtDo{ Node: ast.Node{ @@ -3217,7 +3217,7 @@ yydefault: } case 137: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:899 +// line internal/php7/php7.y:899 { yyDollar[9].node.(*ast.StmtFor).ForTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtFor).OpenParenthesisTkn = yyDollar[2].token @@ -3233,7 +3233,7 @@ yydefault: } case 138: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:913 +// line internal/php7/php7.y:913 { yyDollar[5].node.(*ast.StmtSwitch).SwitchTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtSwitch).OpenParenthesisTkn = yyDollar[2].token @@ -3245,7 +3245,7 @@ yydefault: } case 139: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:923 +// line internal/php7/php7.y:923 { yyVAL.node = &ast.StmtBreak{ Node: ast.Node{ @@ -3258,7 +3258,7 @@ yydefault: } case 140: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:934 +// line internal/php7/php7.y:934 { yyVAL.node = &ast.StmtContinue{ Node: ast.Node{ @@ -3271,7 +3271,7 @@ yydefault: } case 141: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:945 +// line internal/php7/php7.y:945 { yyVAL.node = &ast.StmtReturn{ Node: ast.Node{ @@ -3284,7 +3284,7 @@ yydefault: } case 142: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:956 +// line internal/php7/php7.y:956 { yyDollar[2].node.(*ast.StmtGlobal).GlobalTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtGlobal).SemiColonTkn = yyDollar[3].token @@ -3294,7 +3294,7 @@ yydefault: } case 143: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:964 +// line internal/php7/php7.y:964 { yyDollar[2].node.(*ast.StmtStatic).StaticTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtStatic).SemiColonTkn = yyDollar[3].token @@ -3304,7 +3304,7 @@ yydefault: } case 144: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:972 +// line internal/php7/php7.y:972 { yyDollar[2].node.(*ast.StmtEcho).EchoTkn = yyDollar[1].token yyDollar[2].node.(*ast.StmtEcho).SemiColonTkn = yyDollar[3].token @@ -3314,7 +3314,7 @@ yydefault: } case 145: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:980 +// line internal/php7/php7.y:980 { yyVAL.node = &ast.StmtInlineHtml{ Node: ast.Node{ @@ -3326,7 +3326,7 @@ yydefault: } case 146: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:990 +// line internal/php7/php7.y:990 { yyVAL.node = &ast.StmtExpression{ Node: ast.Node{ @@ -3338,7 +3338,7 @@ yydefault: } case 147: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1000 +// line internal/php7/php7.y:1000 { yyDollar[3].node.(*ast.StmtUnset).UnsetTkn = yyDollar[1].token yyDollar[3].node.(*ast.StmtUnset).OpenParenthesisTkn = yyDollar[2].token @@ -3351,7 +3351,7 @@ yydefault: } case 148: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1011 +// line internal/php7/php7.y:1011 { yyDollar[7].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[7].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3365,7 +3365,7 @@ yydefault: } case 149: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1023 +// line internal/php7/php7.y:1023 { yyDollar[9].node.(*ast.StmtForeach).ForeachTkn = yyDollar[1].token yyDollar[9].node.(*ast.StmtForeach).OpenParenthesisTkn = yyDollar[2].token @@ -3381,7 +3381,7 @@ yydefault: } case 150: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1037 +// line internal/php7/php7.y:1037 { yyDollar[5].node.(*ast.StmtDeclare).DeclareTkn = yyDollar[1].token yyDollar[5].node.(*ast.StmtDeclare).OpenParenthesisTkn = yyDollar[2].token @@ -3394,7 +3394,7 @@ yydefault: } case 151: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1048 +// line internal/php7/php7.y:1048 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -3405,7 +3405,7 @@ yydefault: } case 152: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1057 +// line internal/php7/php7.y:1057 { yyVAL.node = &ast.StmtTry{ TryTkn: yyDollar[1].token, @@ -3424,7 +3424,7 @@ yydefault: } case 153: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1074 +// line internal/php7/php7.y:1074 { yyVAL.node = &ast.StmtThrow{ Node: ast.Node{ @@ -3437,7 +3437,7 @@ yydefault: } case 154: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1085 +// line internal/php7/php7.y:1085 { yyVAL.node = &ast.StmtGoto{ Node: ast.Node{ @@ -3456,7 +3456,7 @@ yydefault: } case 155: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1102 +// line internal/php7/php7.y:1102 { yyVAL.node = &ast.StmtLabel{ Node: ast.Node{ @@ -3474,13 +3474,13 @@ yydefault: } case 156: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1120 +// line internal/php7/php7.y:1120 { yyVAL.list = []ast.Vertex{} } case 157: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1124 +// line internal/php7/php7.y:1124 { catch := yyDollar[4].node.(*ast.StmtCatch) catch.CatchTkn = yyDollar[2].token @@ -3507,7 +3507,7 @@ yydefault: } case 158: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1151 +// line internal/php7/php7.y:1151 { yyVAL.node = &ast.StmtCatch{ Types: []ast.Vertex{yyDollar[1].node}, @@ -3515,7 +3515,7 @@ yydefault: } case 159: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1157 +// line internal/php7/php7.y:1157 { yyDollar[1].node.(*ast.StmtCatch).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtCatch).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.StmtCatch).Types = append(yyDollar[1].node.(*ast.StmtCatch).Types, yyDollar[3].node) @@ -3524,13 +3524,13 @@ yydefault: } case 160: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1167 +// line internal/php7/php7.y:1167 { yyVAL.node = nil } case 161: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1171 +// line internal/php7/php7.y:1171 { yyVAL.node = &ast.StmtFinally{ Node: ast.Node{ @@ -3544,7 +3544,7 @@ yydefault: } case 162: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1186 +// line internal/php7/php7.y:1186 { yyVAL.node = &ast.StmtUnset{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -3552,7 +3552,7 @@ yydefault: } case 163: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1192 +// line internal/php7/php7.y:1192 { yyDollar[1].node.(*ast.StmtUnset).Vars = append(yyDollar[1].node.(*ast.StmtUnset).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtUnset).SeparatorTkns, yyDollar[2].token) @@ -3561,13 +3561,13 @@ yydefault: } case 164: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1202 +// line internal/php7/php7.y:1202 { yyVAL.node = yyDollar[1].node } case 165: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:1209 +// line internal/php7/php7.y:1209 { yyVAL.node = &ast.StmtFunction{ Node: ast.Node{ @@ -3594,31 +3594,31 @@ yydefault: } case 166: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1237 +// line internal/php7/php7.y:1237 { yyVAL.token = nil } case 167: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1241 +// line internal/php7/php7.y:1241 { yyVAL.token = yyDollar[1].token } case 168: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1248 +// line internal/php7/php7.y:1248 { yyVAL.token = nil } case 169: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1252 +// line internal/php7/php7.y:1252 { yyVAL.token = yyDollar[1].token } case 170: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:1259 +// line internal/php7/php7.y:1259 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3642,7 +3642,7 @@ yydefault: } case 171: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:1281 +// line internal/php7/php7.y:1281 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -3665,19 +3665,19 @@ yydefault: } case 172: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1305 +// line internal/php7/php7.y:1305 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 173: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1309 +// line internal/php7/php7.y:1309 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 174: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1316 +// line internal/php7/php7.y:1316 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -3689,7 +3689,7 @@ yydefault: } case 175: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1326 +// line internal/php7/php7.y:1326 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -3701,7 +3701,7 @@ yydefault: } case 176: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1339 +// line internal/php7/php7.y:1339 { yyVAL.node = &ast.StmtTrait{ Node: ast.Node{ @@ -3722,7 +3722,7 @@ yydefault: } case 177: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1361 +// line internal/php7/php7.y:1361 { yyVAL.node = &ast.StmtInterface{ Node: ast.Node{ @@ -3744,13 +3744,13 @@ yydefault: } case 178: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1384 +// line internal/php7/php7.y:1384 { yyVAL.node = nil } case 179: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1388 +// line internal/php7/php7.y:1388 { yyVAL.node = &ast.StmtClassExtends{ Node: ast.Node{ @@ -3762,13 +3762,13 @@ yydefault: } case 180: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1401 +// line internal/php7/php7.y:1401 { yyVAL.node = nil } case 181: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1405 +// line internal/php7/php7.y:1405 { yyVAL.node = &ast.StmtInterfaceExtends{ Node: ast.Node{ @@ -3781,13 +3781,13 @@ yydefault: } case 182: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1419 +// line internal/php7/php7.y:1419 { yyVAL.node = nil } case 183: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1423 +// line internal/php7/php7.y:1423 { yyVAL.node = &ast.StmtClassImplements{ Node: ast.Node{ @@ -3800,13 +3800,13 @@ yydefault: } case 184: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1437 +// line internal/php7/php7.y:1437 { yyVAL.node = yyDollar[1].node } case 185: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1441 +// line internal/php7/php7.y:1441 { yyVAL.node = &ast.ExprReference{ Node: ast.Node{ @@ -3818,7 +3818,7 @@ yydefault: } case 186: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1451 +// line internal/php7/php7.y:1451 { yyVAL.node = &ast.ExprList{ Node: ast.Node{ @@ -3833,7 +3833,7 @@ yydefault: } case 187: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1464 +// line internal/php7/php7.y:1464 { yyVAL.node = &ast.ExprList{ Node: ast.Node{ @@ -3847,7 +3847,7 @@ yydefault: } case 188: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1479 +// line internal/php7/php7.y:1479 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3858,7 +3858,7 @@ yydefault: } case 189: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1488 +// line internal/php7/php7.y:1488 { yyVAL.node = &ast.StmtFor{ Node: ast.Node{ @@ -3878,7 +3878,7 @@ yydefault: } case 190: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1509 +// line internal/php7/php7.y:1509 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3889,7 +3889,7 @@ yydefault: } case 191: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1518 +// line internal/php7/php7.y:1518 { yyVAL.node = &ast.StmtForeach{ Node: ast.Node{ @@ -3909,7 +3909,7 @@ yydefault: } case 192: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1539 +// line internal/php7/php7.y:1539 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3920,7 +3920,7 @@ yydefault: } case 193: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1548 +// line internal/php7/php7.y:1548 { yyVAL.node = &ast.StmtDeclare{ Node: ast.Node{ @@ -3940,7 +3940,7 @@ yydefault: } case 194: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1569 +// line internal/php7/php7.y:1569 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3953,7 +3953,7 @@ yydefault: } case 195: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1580 +// line internal/php7/php7.y:1580 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3967,7 +3967,7 @@ yydefault: } case 196: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1592 +// line internal/php7/php7.y:1592 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3982,7 +3982,7 @@ yydefault: } case 197: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1605 +// line internal/php7/php7.y:1605 { yyVAL.node = &ast.StmtSwitch{ Node: ast.Node{ @@ -3998,13 +3998,13 @@ yydefault: } case 198: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1622 +// line internal/php7/php7.y:1622 { yyVAL.list = nil } case 199: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1626 +// line internal/php7/php7.y:1626 { yyVAL.list = append(yyDollar[1].list, &ast.StmtCase{ Node: ast.Node{ @@ -4018,7 +4018,7 @@ yydefault: } case 200: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1638 +// line internal/php7/php7.y:1638 { yyVAL.list = append(yyDollar[1].list, &ast.StmtDefault{ Node: ast.Node{ @@ -4031,19 +4031,19 @@ yydefault: } case 201: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1652 +// line internal/php7/php7.y:1652 { yyVAL.token = yyDollar[1].token } case 202: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1656 +// line internal/php7/php7.y:1656 { yyVAL.token = yyDollar[1].token } case 203: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1663 +// line internal/php7/php7.y:1663 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4054,7 +4054,7 @@ yydefault: } case 204: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1672 +// line internal/php7/php7.y:1672 { yyVAL.node = &ast.StmtWhile{ Node: ast.Node{ @@ -4074,7 +4074,7 @@ yydefault: } case 205: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:1693 +// line internal/php7/php7.y:1693 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -4089,7 +4089,7 @@ yydefault: } case 206: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1706 +// line internal/php7/php7.y:1706 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Node: ast.Node{ @@ -4108,13 +4108,13 @@ yydefault: } case 207: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1726 +// line internal/php7/php7.y:1726 { yyVAL.node = yyDollar[1].node } case 208: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1730 +// line internal/php7/php7.y:1730 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Node: ast.Node{ @@ -4130,7 +4130,7 @@ yydefault: } case 209: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1747 +// line internal/php7/php7.y:1747 { yyVAL.node = &ast.StmtIf{ Node: ast.Node{ @@ -4152,7 +4152,7 @@ yydefault: } case 210: yyDollar = yyS[yypt-7 : yypt+1] - // line internal/php7/php7.y:1767 +// line internal/php7/php7.y:1767 { yyDollar[1].node.(*ast.StmtIf).ElseIf = append(yyDollar[1].node.(*ast.StmtIf).ElseIf, &ast.StmtElseIf{ Node: ast.Node{ @@ -4176,7 +4176,7 @@ yydefault: } case 211: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1792 +// line internal/php7/php7.y:1792 { yyDollar[1].node.(*ast.StmtIf).EndIfTkn = yyDollar[2].token yyDollar[1].node.(*ast.StmtIf).SemiColonTkn = yyDollar[3].token @@ -4186,7 +4186,7 @@ yydefault: } case 212: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1800 +// line internal/php7/php7.y:1800 { yyDollar[1].node.(*ast.StmtIf).Else = &ast.StmtElse{ Node: ast.Node{ @@ -4210,25 +4210,25 @@ yydefault: } case 213: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1825 +// line internal/php7/php7.y:1825 { yyVAL.list = yyDollar[1].list } case 214: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1829 +// line internal/php7/php7.y:1829 { yyVAL.list = nil } case 215: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1836 +// line internal/php7/php7.y:1836 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 216: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:1840 +// line internal/php7/php7.y:1840 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -4237,7 +4237,7 @@ yydefault: } case 217: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:1850 +// line internal/php7/php7.y:1850 { var variable ast.Vertex variable = &ast.ExprVariable{ @@ -4292,7 +4292,7 @@ yydefault: } case 218: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:1903 +// line internal/php7/php7.y:1903 { var variable ast.Vertex variable = &ast.ExprVariable{ @@ -4349,25 +4349,25 @@ yydefault: } case 219: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:1961 +// line internal/php7/php7.y:1961 { yyVAL.node = nil } case 220: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1965 +// line internal/php7/php7.y:1965 { yyVAL.node = yyDollar[1].node } case 221: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1972 +// line internal/php7/php7.y:1972 { yyVAL.node = yyDollar[1].node } case 222: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:1976 +// line internal/php7/php7.y:1976 { yyVAL.node = &ast.Nullable{ Node: ast.Node{ @@ -4379,7 +4379,7 @@ yydefault: } case 223: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1989 +// line internal/php7/php7.y:1989 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4391,7 +4391,7 @@ yydefault: } case 224: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:1999 +// line internal/php7/php7.y:1999 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4403,19 +4403,19 @@ yydefault: } case 225: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2009 +// line internal/php7/php7.y:2009 { yyVAL.node = yyDollar[1].node } case 226: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2016 +// line internal/php7/php7.y:2016 { yyVAL.node = nil } case 227: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2020 +// line internal/php7/php7.y:2020 { yyVAL.node = &ast.ReturnType{ ColonTkn: yyDollar[1].token, @@ -4424,7 +4424,7 @@ yydefault: } case 228: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2030 +// line internal/php7/php7.y:2030 { yyVAL.node = &ast.ArgumentList{ Node: ast.Node{ @@ -4436,7 +4436,7 @@ yydefault: } case 229: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2040 +// line internal/php7/php7.y:2040 { argumentList := yyDollar[2].node.(*ast.ArgumentList) argumentList.Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[4].token) @@ -4448,7 +4448,7 @@ yydefault: } case 230: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2053 +// line internal/php7/php7.y:2053 { yyVAL.node = &ast.ArgumentList{ Arguments: []ast.Vertex{yyDollar[1].node}, @@ -4456,7 +4456,7 @@ yydefault: } case 231: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2059 +// line internal/php7/php7.y:2059 { yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns = append(yyDollar[1].node.(*ast.ArgumentList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ArgumentList).Arguments = append(yyDollar[1].node.(*ast.ArgumentList).Arguments, yyDollar[3].node) @@ -4465,7 +4465,7 @@ yydefault: } case 232: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2069 +// line internal/php7/php7.y:2069 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4476,7 +4476,7 @@ yydefault: } case 233: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2078 +// line internal/php7/php7.y:2078 { yyVAL.node = &ast.Argument{ Node: ast.Node{ @@ -4488,7 +4488,7 @@ yydefault: } case 234: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2091 +// line internal/php7/php7.y:2091 { yyDollar[1].node.(*ast.StmtGlobal).Vars = append(yyDollar[1].node.(*ast.StmtGlobal).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtGlobal).SeparatorTkns, yyDollar[2].token) @@ -4497,7 +4497,7 @@ yydefault: } case 235: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2098 +// line internal/php7/php7.y:2098 { yyVAL.node = &ast.StmtGlobal{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4505,13 +4505,13 @@ yydefault: } case 236: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2107 +// line internal/php7/php7.y:2107 { yyVAL.node = yyDollar[1].node } case 237: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2114 +// line internal/php7/php7.y:2114 { yyDollar[1].node.(*ast.StmtStatic).Vars = append(yyDollar[1].node.(*ast.StmtStatic).Vars, yyDollar[3].node) yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtStatic).SeparatorTkns, yyDollar[2].token) @@ -4520,7 +4520,7 @@ yydefault: } case 238: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2121 +// line internal/php7/php7.y:2121 { yyVAL.node = &ast.StmtStatic{ Vars: []ast.Vertex{yyDollar[1].node}, @@ -4528,7 +4528,7 @@ yydefault: } case 239: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2130 +// line internal/php7/php7.y:2130 { yyVAL.node = &ast.StmtStaticVar{ @@ -4551,7 +4551,7 @@ yydefault: } case 240: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2151 +// line internal/php7/php7.y:2151 { yyVAL.node = &ast.StmtStaticVar{ Node: ast.Node{ @@ -4575,19 +4575,19 @@ yydefault: } case 241: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2176 +// line internal/php7/php7.y:2176 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 242: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2180 +// line internal/php7/php7.y:2180 { yyVAL.list = []ast.Vertex{} } case 243: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2187 +// line internal/php7/php7.y:2187 { yyVAL.node = &ast.StmtPropertyList{ Node: ast.Node{ @@ -4602,7 +4602,7 @@ yydefault: } case 244: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2200 +// line internal/php7/php7.y:2200 { yyVAL.node = &ast.StmtClassConstList{ Node: ast.Node{ @@ -4616,7 +4616,7 @@ yydefault: } case 245: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2212 +// line internal/php7/php7.y:2212 { yyVAL.node = &ast.StmtTraitUse{ Node: ast.Node{ @@ -4630,7 +4630,7 @@ yydefault: } case 246: yyDollar = yyS[yypt-10 : yypt+1] - // line internal/php7/php7.y:2224 +// line internal/php7/php7.y:2224 { pos := position.NewTokenNodePosition(yyDollar[2].token, yyDollar[10].node) if yyDollar[1].list != nil { @@ -4661,7 +4661,7 @@ yydefault: } case 247: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2256 +// line internal/php7/php7.y:2256 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -4669,7 +4669,7 @@ yydefault: } case 248: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2262 +// line internal/php7/php7.y:2262 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -4678,7 +4678,7 @@ yydefault: } case 249: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2272 +// line internal/php7/php7.y:2272 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4689,7 +4689,7 @@ yydefault: } case 250: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2281 +// line internal/php7/php7.y:2281 { yyVAL.node = &ast.StmtTraitAdaptationList{ Node: ast.Node{ @@ -4701,7 +4701,7 @@ yydefault: } case 251: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2291 +// line internal/php7/php7.y:2291 { yyVAL.node = &ast.StmtTraitAdaptationList{ Node: ast.Node{ @@ -4714,19 +4714,19 @@ yydefault: } case 252: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2305 +// line internal/php7/php7.y:2305 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 253: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2309 +// line internal/php7/php7.y:2309 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 254: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2316 +// line internal/php7/php7.y:2316 { yyVAL.node = yyDollar[1].node @@ -4736,7 +4736,7 @@ yydefault: } case 255: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2324 +// line internal/php7/php7.y:2324 { yyVAL.node = yyDollar[1].node @@ -4746,7 +4746,7 @@ yydefault: } case 256: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2335 +// line internal/php7/php7.y:2335 { yyVAL.node = &ast.StmtTraitUsePrecedence{ Node: ast.Node{ @@ -4760,7 +4760,7 @@ yydefault: } case 257: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2350 +// line internal/php7/php7.y:2350 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4779,7 +4779,7 @@ yydefault: } case 258: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2367 +// line internal/php7/php7.y:2367 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4798,7 +4798,7 @@ yydefault: } case 259: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2384 +// line internal/php7/php7.y:2384 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4818,7 +4818,7 @@ yydefault: } case 260: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2402 +// line internal/php7/php7.y:2402 { yyVAL.node = &ast.StmtTraitUseAlias{ Node: ast.Node{ @@ -4831,7 +4831,7 @@ yydefault: } case 261: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2416 +// line internal/php7/php7.y:2416 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4848,13 +4848,13 @@ yydefault: } case 262: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2431 +// line internal/php7/php7.y:2431 { yyVAL.node = yyDollar[1].node } case 263: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2438 +// line internal/php7/php7.y:2438 { yyVAL.node = &ast.StmtTraitMethodRef{ Node: ast.Node{ @@ -4873,7 +4873,7 @@ yydefault: } case 264: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2458 +// line internal/php7/php7.y:2458 { yyVAL.node = &ast.StmtNop{ Node: ast.Node{ @@ -4884,7 +4884,7 @@ yydefault: } case 265: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2467 +// line internal/php7/php7.y:2467 { yyVAL.node = &ast.StmtStmtList{ Node: ast.Node{ @@ -4897,13 +4897,13 @@ yydefault: } case 266: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2481 +// line internal/php7/php7.y:2481 { yyVAL.list = yyDollar[1].list } case 267: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2485 +// line internal/php7/php7.y:2485 { yyVAL.list = []ast.Vertex{ &ast.Identifier{ @@ -4917,31 +4917,31 @@ yydefault: } case 268: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2500 +// line internal/php7/php7.y:2500 { yyVAL.list = nil } case 269: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2504 +// line internal/php7/php7.y:2504 { yyVAL.list = yyDollar[1].list } case 270: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2511 +// line internal/php7/php7.y:2511 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 271: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2515 +// line internal/php7/php7.y:2515 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 272: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2522 +// line internal/php7/php7.y:2522 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4953,7 +4953,7 @@ yydefault: } case 273: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2532 +// line internal/php7/php7.y:2532 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4965,7 +4965,7 @@ yydefault: } case 274: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2542 +// line internal/php7/php7.y:2542 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4977,7 +4977,7 @@ yydefault: } case 275: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2552 +// line internal/php7/php7.y:2552 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -4989,7 +4989,7 @@ yydefault: } case 276: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2562 +// line internal/php7/php7.y:2562 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5001,7 +5001,7 @@ yydefault: } case 277: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2572 +// line internal/php7/php7.y:2572 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -5013,7 +5013,7 @@ yydefault: } case 278: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2585 +// line internal/php7/php7.y:2585 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -5022,7 +5022,7 @@ yydefault: } case 279: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2592 +// line internal/php7/php7.y:2592 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -5030,7 +5030,7 @@ yydefault: } case 280: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2601 +// line internal/php7/php7.y:2601 { yyVAL.node = &ast.StmtProperty{ Node: ast.Node{ @@ -5053,7 +5053,7 @@ yydefault: } case 281: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2622 +// line internal/php7/php7.y:2622 { yyVAL.node = &ast.StmtProperty{ Node: ast.Node{ @@ -5077,7 +5077,7 @@ yydefault: } case 282: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2647 +// line internal/php7/php7.y:2647 { lastNode(yyDollar[1].list).(*ast.StmtConstant).CommaTkn = yyDollar[2].token @@ -5085,13 +5085,13 @@ yydefault: } case 283: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2653 +// line internal/php7/php7.y:2653 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 284: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2660 +// line internal/php7/php7.y:2660 { yyVAL.node = &ast.StmtConstant{ Node: ast.Node{ @@ -5112,7 +5112,7 @@ yydefault: } case 285: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2682 +// line internal/php7/php7.y:2682 { yyVAL.node = &ast.StmtConstant{ Node: ast.Node{ @@ -5133,7 +5133,7 @@ yydefault: } case 286: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2704 +// line internal/php7/php7.y:2704 { yyDollar[1].node.(*ast.StmtEcho).Exprs = append(yyDollar[1].node.(*ast.StmtEcho).Exprs, yyDollar[3].node) yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns = append(yyDollar[1].node.(*ast.StmtEcho).SeparatorTkns, yyDollar[2].token) @@ -5142,7 +5142,7 @@ yydefault: } case 287: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2711 +// line internal/php7/php7.y:2711 { yyVAL.node = &ast.StmtEcho{ Exprs: []ast.Vertex{yyDollar[1].node}, @@ -5150,25 +5150,25 @@ yydefault: } case 288: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2720 +// line internal/php7/php7.y:2720 { yyVAL.node = yyDollar[1].node } case 289: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:2727 +// line internal/php7/php7.y:2727 { yyVAL.list = nil } case 290: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2731 +// line internal/php7/php7.y:2731 { yyVAL.list = yyDollar[1].list } case 291: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2738 +// line internal/php7/php7.y:2738 { yyVAL.list = append(yyDollar[1].list, yyDollar[3].node) @@ -5177,13 +5177,13 @@ yydefault: } case 292: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:2745 +// line internal/php7/php7.y:2745 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 293: yyDollar = yyS[yypt-8 : yypt+1] - // line internal/php7/php7.y:2752 +// line internal/php7/php7.y:2752 { yyVAL.node = &ast.StmtClass{ Node: ast.Node{ @@ -5200,7 +5200,7 @@ yydefault: } case 294: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2770 +// line internal/php7/php7.y:2770 { if yyDollar[3].node != nil { yyVAL.node = &ast.ExprNew{ @@ -5225,7 +5225,7 @@ yydefault: } case 295: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2793 +// line internal/php7/php7.y:2793 { yyVAL.node = &ast.ExprNew{ Node: ast.Node{ @@ -5237,7 +5237,7 @@ yydefault: } case 296: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:2806 +// line internal/php7/php7.y:2806 { listNode := &ast.ExprList{ Node: ast.Node{ @@ -5259,7 +5259,7 @@ yydefault: } case 297: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:2826 +// line internal/php7/php7.y:2826 { listNode := &ast.ExprList{ Node: ast.Node{ @@ -5280,7 +5280,7 @@ yydefault: } case 298: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2845 +// line internal/php7/php7.y:2845 { yyVAL.node = &ast.ExprAssign{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5293,7 +5293,7 @@ yydefault: } case 299: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:2856 +// line internal/php7/php7.y:2856 { yyVAL.node = &ast.ExprAssignReference{ast.Node{}, yyDollar[1].node, yyDollar[4].node} @@ -5307,7 +5307,7 @@ yydefault: } case 300: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:2868 +// line internal/php7/php7.y:2868 { yyVAL.node = &ast.ExprClone{ Node: ast.Node{ @@ -5319,7 +5319,7 @@ yydefault: } case 301: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2878 +// line internal/php7/php7.y:2878 { yyVAL.node = &ast.ExprAssignPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5332,7 +5332,7 @@ yydefault: } case 302: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2889 +// line internal/php7/php7.y:2889 { yyVAL.node = &ast.ExprAssignMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5345,7 +5345,7 @@ yydefault: } case 303: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2900 +// line internal/php7/php7.y:2900 { yyVAL.node = &ast.ExprAssignMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5358,7 +5358,7 @@ yydefault: } case 304: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2911 +// line internal/php7/php7.y:2911 { yyVAL.node = &ast.ExprAssignPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5371,7 +5371,7 @@ yydefault: } case 305: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2922 +// line internal/php7/php7.y:2922 { yyVAL.node = &ast.ExprAssignDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5384,7 +5384,7 @@ yydefault: } case 306: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2933 +// line internal/php7/php7.y:2933 { yyVAL.node = &ast.ExprAssignConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5397,7 +5397,7 @@ yydefault: } case 307: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2944 +// line internal/php7/php7.y:2944 { yyVAL.node = &ast.ExprAssignMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5410,7 +5410,7 @@ yydefault: } case 308: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2955 +// line internal/php7/php7.y:2955 { yyVAL.node = &ast.ExprAssignBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5423,7 +5423,7 @@ yydefault: } case 309: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2966 +// line internal/php7/php7.y:2966 { yyVAL.node = &ast.ExprAssignBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5436,7 +5436,7 @@ yydefault: } case 310: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2977 +// line internal/php7/php7.y:2977 { yyVAL.node = &ast.ExprAssignBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5449,7 +5449,7 @@ yydefault: } case 311: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2988 +// line internal/php7/php7.y:2988 { yyVAL.node = &ast.ExprAssignShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5462,7 +5462,7 @@ yydefault: } case 312: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:2999 +// line internal/php7/php7.y:2999 { yyVAL.node = &ast.ExprAssignShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5475,7 +5475,7 @@ yydefault: } case 313: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3010 +// line internal/php7/php7.y:3010 { yyVAL.node = &ast.ExprAssignCoalesce{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5488,7 +5488,7 @@ yydefault: } case 314: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3021 +// line internal/php7/php7.y:3021 { yyVAL.node = &ast.ExprPostInc{ Node: ast.Node{ @@ -5500,7 +5500,7 @@ yydefault: } case 315: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3031 +// line internal/php7/php7.y:3031 { yyVAL.node = &ast.ExprPreInc{ Node: ast.Node{ @@ -5512,7 +5512,7 @@ yydefault: } case 316: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3041 +// line internal/php7/php7.y:3041 { yyVAL.node = &ast.ExprPostDec{ Node: ast.Node{ @@ -5524,7 +5524,7 @@ yydefault: } case 317: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3051 +// line internal/php7/php7.y:3051 { yyVAL.node = &ast.ExprPreDec{ Node: ast.Node{ @@ -5536,7 +5536,7 @@ yydefault: } case 318: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3061 +// line internal/php7/php7.y:3061 { yyVAL.node = &ast.ExprBinaryBooleanOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5549,7 +5549,7 @@ yydefault: } case 319: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3072 +// line internal/php7/php7.y:3072 { yyVAL.node = &ast.ExprBinaryBooleanAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5562,7 +5562,7 @@ yydefault: } case 320: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3083 +// line internal/php7/php7.y:3083 { yyVAL.node = &ast.ExprBinaryLogicalOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5575,7 +5575,7 @@ yydefault: } case 321: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3094 +// line internal/php7/php7.y:3094 { yyVAL.node = &ast.ExprBinaryLogicalAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5588,7 +5588,7 @@ yydefault: } case 322: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3105 +// line internal/php7/php7.y:3105 { yyVAL.node = &ast.ExprBinaryLogicalXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5601,7 +5601,7 @@ yydefault: } case 323: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3116 +// line internal/php7/php7.y:3116 { yyVAL.node = &ast.ExprBinaryBitwiseOr{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5614,7 +5614,7 @@ yydefault: } case 324: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3127 +// line internal/php7/php7.y:3127 { yyVAL.node = &ast.ExprBinaryBitwiseAnd{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5627,7 +5627,7 @@ yydefault: } case 325: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3138 +// line internal/php7/php7.y:3138 { yyVAL.node = &ast.ExprBinaryBitwiseXor{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5640,7 +5640,7 @@ yydefault: } case 326: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3149 +// line internal/php7/php7.y:3149 { yyVAL.node = &ast.ExprBinaryConcat{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5652,7 +5652,7 @@ yydefault: } case 327: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3159 +// line internal/php7/php7.y:3159 { yyVAL.node = &ast.ExprBinaryPlus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5665,7 +5665,7 @@ yydefault: } case 328: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3170 +// line internal/php7/php7.y:3170 { yyVAL.node = &ast.ExprBinaryMinus{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5678,7 +5678,7 @@ yydefault: } case 329: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3181 +// line internal/php7/php7.y:3181 { yyVAL.node = &ast.ExprBinaryMul{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5691,7 +5691,7 @@ yydefault: } case 330: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3192 +// line internal/php7/php7.y:3192 { yyVAL.node = &ast.ExprBinaryPow{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5704,7 +5704,7 @@ yydefault: } case 331: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3203 +// line internal/php7/php7.y:3203 { yyVAL.node = &ast.ExprBinaryDiv{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5717,7 +5717,7 @@ yydefault: } case 332: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3214 +// line internal/php7/php7.y:3214 { yyVAL.node = &ast.ExprBinaryMod{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5730,7 +5730,7 @@ yydefault: } case 333: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3225 +// line internal/php7/php7.y:3225 { yyVAL.node = &ast.ExprBinaryShiftLeft{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5743,7 +5743,7 @@ yydefault: } case 334: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3236 +// line internal/php7/php7.y:3236 { yyVAL.node = &ast.ExprBinaryShiftRight{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5756,7 +5756,7 @@ yydefault: } case 335: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3247 +// line internal/php7/php7.y:3247 { yyVAL.node = &ast.ExprUnaryPlus{ Node: ast.Node{ @@ -5768,7 +5768,7 @@ yydefault: } case 336: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3257 +// line internal/php7/php7.y:3257 { yyVAL.node = &ast.ExprUnaryMinus{ Node: ast.Node{ @@ -5780,7 +5780,7 @@ yydefault: } case 337: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3267 +// line internal/php7/php7.y:3267 { yyVAL.node = &ast.ExprBooleanNot{ Node: ast.Node{ @@ -5792,7 +5792,7 @@ yydefault: } case 338: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3277 +// line internal/php7/php7.y:3277 { yyVAL.node = &ast.ExprBitwiseNot{ Node: ast.Node{ @@ -5804,7 +5804,7 @@ yydefault: } case 339: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3287 +// line internal/php7/php7.y:3287 { yyVAL.node = &ast.ExprBinaryIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5817,7 +5817,7 @@ yydefault: } case 340: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3298 +// line internal/php7/php7.y:3298 { yyVAL.node = &ast.ExprBinaryNotIdentical{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5830,7 +5830,7 @@ yydefault: } case 341: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3309 +// line internal/php7/php7.y:3309 { yyVAL.node = &ast.ExprBinaryEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5843,7 +5843,7 @@ yydefault: } case 342: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3320 +// line internal/php7/php7.y:3320 { yyVAL.node = &ast.ExprBinaryNotEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5857,7 +5857,7 @@ yydefault: } case 343: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3332 +// line internal/php7/php7.y:3332 { yyVAL.node = &ast.ExprBinarySmaller{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5870,7 +5870,7 @@ yydefault: } case 344: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3343 +// line internal/php7/php7.y:3343 { yyVAL.node = &ast.ExprBinarySmallerOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5883,7 +5883,7 @@ yydefault: } case 345: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3354 +// line internal/php7/php7.y:3354 { yyVAL.node = &ast.ExprBinaryGreater{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5896,7 +5896,7 @@ yydefault: } case 346: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3365 +// line internal/php7/php7.y:3365 { yyVAL.node = &ast.ExprBinaryGreaterOrEqual{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5909,7 +5909,7 @@ yydefault: } case 347: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3376 +// line internal/php7/php7.y:3376 { yyVAL.node = &ast.ExprBinarySpaceship{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -5922,7 +5922,7 @@ yydefault: } case 348: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3387 +// line internal/php7/php7.y:3387 { yyVAL.node = &ast.ExprInstanceOf{ Node: ast.Node{ @@ -5935,7 +5935,7 @@ yydefault: } case 349: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3398 +// line internal/php7/php7.y:3398 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -5952,13 +5952,13 @@ yydefault: } case 350: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3413 +// line internal/php7/php7.y:3413 { yyVAL.node = yyDollar[1].node } case 351: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:3417 +// line internal/php7/php7.y:3417 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -5973,7 +5973,7 @@ yydefault: } case 352: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3430 +// line internal/php7/php7.y:3430 { yyVAL.node = &ast.ExprTernary{ Node: ast.Node{ @@ -5987,7 +5987,7 @@ yydefault: } case 353: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3442 +// line internal/php7/php7.y:3442 { yyVAL.node = &ast.ExprBinaryCoalesce{ast.Node{}, yyDollar[1].node, yyDollar[3].node} @@ -6000,104 +6000,97 @@ yydefault: } case 354: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3453 +// line internal/php7/php7.y:3453 { yyVAL.node = yyDollar[1].node } case 355: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3457 +// line internal/php7/php7.y:3457 { - yyVAL.node = &ast.ExprCastInt{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastInt{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 356: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3468 +// line internal/php7/php7.y:3467 { - yyVAL.node = &ast.ExprCastDouble{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastDouble{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 357: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3479 +// line internal/php7/php7.y:3477 { - yyVAL.node = &ast.ExprCastString{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastString{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 358: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3490 +// line internal/php7/php7.y:3487 { - yyVAL.node = &ast.ExprCastArray{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastArray{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 359: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3501 +// line internal/php7/php7.y:3497 { - yyVAL.node = &ast.ExprCastObject{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastObject{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 360: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3512 +// line internal/php7/php7.y:3507 { - yyVAL.node = &ast.ExprCastBool{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastBool{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 361: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3523 +// line internal/php7/php7.y:3517 { - yyVAL.node = &ast.ExprCastUnset{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setToken(yyVAL.node, token.Cast, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprCastUnset{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + CastTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 362: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3534 +// line internal/php7/php7.y:3527 { exit := &ast.ExprExit{ DieTkn: yyDollar[1].token, @@ -6116,7 +6109,7 @@ yydefault: } case 363: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3551 +// line internal/php7/php7.y:3544 { yyVAL.node = &ast.ExprErrorSuppress{ Node: ast.Node{ @@ -6128,13 +6121,13 @@ yydefault: } case 364: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3561 +// line internal/php7/php7.y:3554 { yyVAL.node = yyDollar[1].node } case 365: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3565 +// line internal/php7/php7.y:3558 { yyVAL.node = &ast.ExprShellExec{ Node: ast.Node{ @@ -6147,7 +6140,7 @@ yydefault: } case 366: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3576 +// line internal/php7/php7.y:3569 { yyVAL.node = &ast.ExprPrint{ Node: ast.Node{ @@ -6159,62 +6152,62 @@ yydefault: } case 367: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3586 +// line internal/php7/php7.y:3579 { - yyVAL.node = &ast.ExprYield{ast.Node{}, nil, nil} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenPosition(yyDollar[1].token) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenPosition(yyDollar[1].token), + }, + YieldTkn: yyDollar[1].token, + } } case 368: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3596 +// line internal/php7/php7.y:3588 { - yyVAL.node = &ast.ExprYield{ast.Node{}, nil, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + YieldTkn: yyDollar[1].token, + Value: yyDollar[2].node, + } } case 369: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3606 +// line internal/php7/php7.y:3598 { - yyVAL.node = &ast.ExprYield{ast.Node{}, yyDollar[2].node, yyDollar[4].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Expr, yyDollar[3].token.SkippedTokens) + yyVAL.node = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[4].node), + }, + YieldTkn: yyDollar[1].token, + Key: yyDollar[2].node, + DoubleArrowTkn: yyDollar[3].token, + Value: yyDollar[4].node, + } } case 370: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3617 +// line internal/php7/php7.y:3610 { - yyVAL.node = &ast.ExprYieldFrom{ast.Node{}, yyDollar[2].node} - - // save position - yyVAL.node.GetNode().Position = position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node) - - // save comments - yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens) + yyVAL.node = &ast.ExprYieldFrom{ + Node: ast.Node{ + Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node), + }, + YieldFromTkn: yyDollar[1].token, + Expr: yyDollar[2].node, + } } case 371: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3627 +// line internal/php7/php7.y:3620 { yyVAL.node = yyDollar[1].node } case 372: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3631 +// line internal/php7/php7.y:3624 { switch n := yyDollar[2].node.(type) { case *ast.ExprClosure: @@ -6229,7 +6222,7 @@ yydefault: } case 373: yyDollar = yyS[yypt-11 : yypt+1] - // line internal/php7/php7.y:3647 +// line internal/php7/php7.y:3640 { yyVAL.node = &ast.ExprClosure{ Node: ast.Node{ @@ -6250,7 +6243,7 @@ yydefault: } case 374: yyDollar = yyS[yypt-9 : yypt+1] - // line internal/php7/php7.y:3666 +// line internal/php7/php7.y:3659 { yyVAL.node = &ast.ExprArrowFunction{ Node: ast.Node{ @@ -6269,25 +6262,25 @@ yydefault: } case 376: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3690 +// line internal/php7/php7.y:3683 { yyVAL.token = nil } case 377: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3694 +// line internal/php7/php7.y:3687 { yyVAL.token = yyDollar[1].token } case 378: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3701 +// line internal/php7/php7.y:3694 { yyVAL.ClosureUse = nil } case 379: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3705 +// line internal/php7/php7.y:3698 { yyVAL.ClosureUse = &ast.ExprClosureUse{ Node: ast.Node{ @@ -6302,7 +6295,7 @@ yydefault: } case 380: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3721 +// line internal/php7/php7.y:3714 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -6311,7 +6304,7 @@ yydefault: } case 381: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3728 +// line internal/php7/php7.y:3721 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -6319,7 +6312,7 @@ yydefault: } case 382: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3737 +// line internal/php7/php7.y:3730 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -6336,7 +6329,7 @@ yydefault: } case 383: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3752 +// line internal/php7/php7.y:3745 { yyVAL.node = &ast.ExprReference{ Node: ast.Node{ @@ -6359,7 +6352,7 @@ yydefault: } case 384: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3776 +// line internal/php7/php7.y:3769 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6373,7 +6366,7 @@ yydefault: } case 385: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3788 +// line internal/php7/php7.y:3781 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6389,7 +6382,7 @@ yydefault: } case 386: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3802 +// line internal/php7/php7.y:3795 { yyVAL.node = &ast.ExprStaticCall{ Node: ast.Node{ @@ -6405,7 +6398,7 @@ yydefault: } case 387: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:3816 +// line internal/php7/php7.y:3809 { yyVAL.node = &ast.ExprFunctionCall{ Node: ast.Node{ @@ -6419,7 +6412,7 @@ yydefault: } case 388: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3831 +// line internal/php7/php7.y:3824 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -6431,31 +6424,31 @@ yydefault: } case 389: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3841 +// line internal/php7/php7.y:3834 { yyVAL.node = yyDollar[1].node } case 390: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3848 +// line internal/php7/php7.y:3841 { yyVAL.node = yyDollar[1].node } case 391: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3852 +// line internal/php7/php7.y:3845 { yyVAL.node = yyDollar[1].node } case 392: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3859 +// line internal/php7/php7.y:3852 { yyVAL.node = nil } case 393: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3863 +// line internal/php7/php7.y:3856 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6472,13 +6465,13 @@ yydefault: } case 394: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3881 +// line internal/php7/php7.y:3874 { yyVAL.list = []ast.Vertex{} } case 395: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3885 +// line internal/php7/php7.y:3878 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -6492,25 +6485,25 @@ yydefault: } case 396: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3897 +// line internal/php7/php7.y:3890 { yyVAL.list = yyDollar[1].list } case 397: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:3904 +// line internal/php7/php7.y:3897 { yyVAL.node = nil } case 398: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3908 +// line internal/php7/php7.y:3901 { yyVAL.node = yyDollar[1].node } case 399: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:3915 +// line internal/php7/php7.y:3908 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6525,7 +6518,7 @@ yydefault: } case 400: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:3928 +// line internal/php7/php7.y:3921 { yyVAL.node = &ast.ExprArray{ Node: ast.Node{ @@ -6539,7 +6532,7 @@ yydefault: } case 401: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3940 +// line internal/php7/php7.y:3933 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -6551,7 +6544,7 @@ yydefault: } case 402: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3953 +// line internal/php7/php7.y:3946 { yyVAL.node = &ast.ScalarLnumber{ Node: ast.Node{ @@ -6563,7 +6556,7 @@ yydefault: } case 403: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3963 +// line internal/php7/php7.y:3956 { yyVAL.node = &ast.ScalarDnumber{ Node: ast.Node{ @@ -6575,7 +6568,7 @@ yydefault: } case 404: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3973 +// line internal/php7/php7.y:3966 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6587,7 +6580,7 @@ yydefault: } case 405: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3983 +// line internal/php7/php7.y:3976 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6599,7 +6592,7 @@ yydefault: } case 406: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:3993 +// line internal/php7/php7.y:3986 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6611,7 +6604,7 @@ yydefault: } case 407: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4003 +// line internal/php7/php7.y:3996 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6623,7 +6616,7 @@ yydefault: } case 408: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4013 +// line internal/php7/php7.y:4006 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6635,7 +6628,7 @@ yydefault: } case 409: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4023 +// line internal/php7/php7.y:4016 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6647,7 +6640,7 @@ yydefault: } case 410: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4033 +// line internal/php7/php7.y:4026 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6659,7 +6652,7 @@ yydefault: } case 411: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4043 +// line internal/php7/php7.y:4036 { yyVAL.node = &ast.ScalarMagicConstant{ Node: ast.Node{ @@ -6671,7 +6664,7 @@ yydefault: } case 412: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4053 +// line internal/php7/php7.y:4046 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6692,7 +6685,7 @@ yydefault: } case 413: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4072 +// line internal/php7/php7.y:4065 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6704,7 +6697,7 @@ yydefault: } case 414: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4082 +// line internal/php7/php7.y:4075 { yyVAL.node = &ast.ScalarEncapsed{ Node: ast.Node{ @@ -6717,7 +6710,7 @@ yydefault: } case 415: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4093 +// line internal/php7/php7.y:4086 { yyVAL.node = &ast.ScalarHeredoc{ Node: ast.Node{ @@ -6730,19 +6723,19 @@ yydefault: } case 416: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4104 +// line internal/php7/php7.y:4097 { yyVAL.node = yyDollar[1].node } case 417: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4108 +// line internal/php7/php7.y:4101 { yyVAL.node = yyDollar[1].node } case 418: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4115 +// line internal/php7/php7.y:4108 { yyVAL.node = &ast.ExprConstFetch{ Node: ast.Node{ @@ -6753,7 +6746,7 @@ yydefault: } case 419: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4124 +// line internal/php7/php7.y:4117 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -6772,7 +6765,7 @@ yydefault: } case 420: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4141 +// line internal/php7/php7.y:4134 { yyVAL.node = &ast.ExprClassConstFetch{ Node: ast.Node{ @@ -6791,43 +6784,43 @@ yydefault: } case 421: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4161 +// line internal/php7/php7.y:4154 { yyVAL.node = yyDollar[1].node } case 422: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4165 +// line internal/php7/php7.y:4158 { yyVAL.node = yyDollar[1].node } case 423: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4172 +// line internal/php7/php7.y:4165 { yyVAL.node = nil } case 424: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4176 +// line internal/php7/php7.y:4169 { yyVAL.node = yyDollar[1].node } case 425: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4183 +// line internal/php7/php7.y:4176 { yyVAL.node = yyDollar[1].node } case 426: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4190 +// line internal/php7/php7.y:4183 { yyVAL.node = yyDollar[1].node } case 427: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4194 +// line internal/php7/php7.y:4187 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6844,19 +6837,19 @@ yydefault: } case 428: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4209 +// line internal/php7/php7.y:4202 { yyVAL.node = yyDollar[1].node } case 429: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4216 +// line internal/php7/php7.y:4209 { yyVAL.node = yyDollar[1].node } case 430: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4220 +// line internal/php7/php7.y:4213 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -6873,19 +6866,19 @@ yydefault: } case 431: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4235 +// line internal/php7/php7.y:4228 { yyVAL.node = yyDollar[1].node } case 432: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4242 +// line internal/php7/php7.y:4235 { yyVAL.node = yyDollar[1].node } case 433: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4246 +// line internal/php7/php7.y:4239 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6899,7 +6892,7 @@ yydefault: } case 434: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4258 +// line internal/php7/php7.y:4251 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6913,7 +6906,7 @@ yydefault: } case 435: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4270 +// line internal/php7/php7.y:4263 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -6927,7 +6920,7 @@ yydefault: } case 436: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4282 +// line internal/php7/php7.y:4275 { yyVAL.node = &ast.ExprMethodCall{ Node: ast.Node{ @@ -6943,25 +6936,25 @@ yydefault: } case 437: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4296 +// line internal/php7/php7.y:4289 { yyVAL.node = yyDollar[1].node } case 438: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4303 +// line internal/php7/php7.y:4296 { yyVAL.node = yyDollar[1].node } case 439: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4307 +// line internal/php7/php7.y:4300 { yyVAL.node = yyDollar[1].node } case 440: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4311 +// line internal/php7/php7.y:4304 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -6974,7 +6967,7 @@ yydefault: } case 441: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4325 +// line internal/php7/php7.y:4318 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -6991,7 +6984,7 @@ yydefault: } case 442: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4340 +// line internal/php7/php7.y:4333 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7010,7 +7003,7 @@ yydefault: } case 443: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4357 +// line internal/php7/php7.y:4350 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7022,7 +7015,7 @@ yydefault: } case 444: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4370 +// line internal/php7/php7.y:4363 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7035,7 +7028,7 @@ yydefault: } case 445: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4381 +// line internal/php7/php7.y:4374 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7048,13 +7041,13 @@ yydefault: } case 446: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4395 +// line internal/php7/php7.y:4388 { yyVAL.node = yyDollar[1].node } case 447: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4399 +// line internal/php7/php7.y:4392 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7068,7 +7061,7 @@ yydefault: } case 448: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4411 +// line internal/php7/php7.y:4404 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7082,7 +7075,7 @@ yydefault: } case 449: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4423 +// line internal/php7/php7.y:4416 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -7095,7 +7088,7 @@ yydefault: } case 450: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4434 +// line internal/php7/php7.y:4427 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7108,7 +7101,7 @@ yydefault: } case 451: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4445 +// line internal/php7/php7.y:4438 { yyVAL.node = &ast.ExprStaticPropertyFetch{ Node: ast.Node{ @@ -7121,7 +7114,7 @@ yydefault: } case 452: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4459 +// line internal/php7/php7.y:4452 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7133,7 +7126,7 @@ yydefault: } case 453: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4469 +// line internal/php7/php7.y:4462 { yyVAL.node = yyDollar[2].node @@ -7143,13 +7136,13 @@ yydefault: } case 454: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4477 +// line internal/php7/php7.y:4470 { yyVAL.node = yyDollar[1].node } case 455: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4484 +// line internal/php7/php7.y:4477 { yyVAL.node = &ast.Identifier{ Node: ast.Node{ @@ -7161,7 +7154,7 @@ yydefault: } case 456: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4494 +// line internal/php7/php7.y:4487 { yyVAL.node = yyDollar[2].node @@ -7171,13 +7164,13 @@ yydefault: } case 457: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4502 +// line internal/php7/php7.y:4495 { yyVAL.node = yyDollar[1].node } case 458: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4509 +// line internal/php7/php7.y:4502 { pairList := yyDollar[1].node.(*ast.ParserSeparatedList) fistPair := pairList.Items[0].(*ast.ExprArrayItem) @@ -7190,19 +7183,19 @@ yydefault: } case 459: yyDollar = yyS[yypt-0 : yypt+1] - // line internal/php7/php7.y:4523 +// line internal/php7/php7.y:4516 { yyVAL.node = &ast.ExprArrayItem{} } case 460: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4527 +// line internal/php7/php7.y:4520 { yyVAL.node = yyDollar[1].node } case 461: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4534 +// line internal/php7/php7.y:4527 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -7211,7 +7204,7 @@ yydefault: } case 462: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4541 +// line internal/php7/php7.y:4534 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7219,7 +7212,7 @@ yydefault: } case 463: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4550 +// line internal/php7/php7.y:4543 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7232,7 +7225,7 @@ yydefault: } case 464: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4561 +// line internal/php7/php7.y:4554 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7243,7 +7236,7 @@ yydefault: } case 465: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4570 +// line internal/php7/php7.y:4563 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7262,7 +7255,7 @@ yydefault: } case 466: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4587 +// line internal/php7/php7.y:4580 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7279,7 +7272,7 @@ yydefault: } case 467: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4602 +// line internal/php7/php7.y:4595 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7291,7 +7284,7 @@ yydefault: } case 468: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4612 +// line internal/php7/php7.y:4605 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7313,7 +7306,7 @@ yydefault: } case 469: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4632 +// line internal/php7/php7.y:4625 { yyVAL.node = &ast.ExprArrayItem{ Node: ast.Node{ @@ -7333,13 +7326,13 @@ yydefault: } case 470: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4653 +// line internal/php7/php7.y:4646 { yyVAL.list = append(yyDollar[1].list, yyDollar[2].node) } case 471: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4657 +// line internal/php7/php7.y:4650 { yyVAL.list = append( yyDollar[1].list, @@ -7354,13 +7347,13 @@ yydefault: } case 472: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4670 +// line internal/php7/php7.y:4663 { yyVAL.list = []ast.Vertex{yyDollar[1].node} } case 473: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4674 +// line internal/php7/php7.y:4667 { yyVAL.list = []ast.Vertex{ &ast.ScalarEncapsedStringPart{ @@ -7375,7 +7368,7 @@ yydefault: } case 474: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4690 +// line internal/php7/php7.y:4683 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7392,7 +7385,7 @@ yydefault: } case 475: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4705 +// line internal/php7/php7.y:4698 { yyVAL.node = &ast.ExprArrayDimFetch{ Node: ast.Node{ @@ -7417,7 +7410,7 @@ yydefault: } case 476: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4728 +// line internal/php7/php7.y:4721 { yyVAL.node = &ast.ExprPropertyFetch{ Node: ast.Node{ @@ -7447,7 +7440,7 @@ yydefault: } case 477: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4756 +// line internal/php7/php7.y:4749 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7465,7 +7458,7 @@ yydefault: } case 478: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4772 +// line internal/php7/php7.y:4765 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7489,7 +7482,7 @@ yydefault: } case 479: yyDollar = yyS[yypt-6 : yypt+1] - // line internal/php7/php7.y:4794 +// line internal/php7/php7.y:4787 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7521,7 +7514,7 @@ yydefault: } case 480: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:4824 +// line internal/php7/php7.y:4817 { yyVAL.node = &ast.ParserBrackets{ Node: ast.Node{ @@ -7534,7 +7527,7 @@ yydefault: } case 481: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4838 +// line internal/php7/php7.y:4831 { yyVAL.node = &ast.ScalarString{ Node: ast.Node{ @@ -7546,7 +7539,7 @@ yydefault: } case 482: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4848 +// line internal/php7/php7.y:4841 { // TODO: add option to handle 64 bit integer if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil { @@ -7569,7 +7562,7 @@ yydefault: } case 483: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4869 +// line internal/php7/php7.y:4862 { _, err := strconv.Atoi(string(yyDollar[2].token.Value)) isInt := err == nil @@ -7602,7 +7595,7 @@ yydefault: } case 484: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:4900 +// line internal/php7/php7.y:4893 { yyVAL.node = &ast.ExprVariable{ Node: ast.Node{ @@ -7619,7 +7612,7 @@ yydefault: } case 485: yyDollar = yyS[yypt-5 : yypt+1] - // line internal/php7/php7.y:4918 +// line internal/php7/php7.y:4911 { if yyDollar[4].token != nil { yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[4].token) @@ -7638,7 +7631,7 @@ yydefault: } case 486: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4935 +// line internal/php7/php7.y:4928 { yyVAL.node = &ast.ExprEmpty{ Node: ast.Node{ @@ -7652,7 +7645,7 @@ yydefault: } case 487: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4947 +// line internal/php7/php7.y:4940 { yyVAL.node = &ast.ExprInclude{ Node: ast.Node{ @@ -7664,7 +7657,7 @@ yydefault: } case 488: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4957 +// line internal/php7/php7.y:4950 { yyVAL.node = &ast.ExprIncludeOnce{ Node: ast.Node{ @@ -7676,7 +7669,7 @@ yydefault: } case 489: yyDollar = yyS[yypt-4 : yypt+1] - // line internal/php7/php7.y:4967 +// line internal/php7/php7.y:4960 { yyVAL.node = &ast.ExprEval{ Node: ast.Node{ @@ -7690,7 +7683,7 @@ yydefault: } case 490: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4979 +// line internal/php7/php7.y:4972 { yyVAL.node = &ast.ExprRequire{ Node: ast.Node{ @@ -7702,7 +7695,7 @@ yydefault: } case 491: yyDollar = yyS[yypt-2 : yypt+1] - // line internal/php7/php7.y:4989 +// line internal/php7/php7.y:4982 { yyVAL.node = &ast.ExprRequireOnce{ Node: ast.Node{ @@ -7714,7 +7707,7 @@ yydefault: } case 492: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5002 +// line internal/php7/php7.y:4995 { yyVAL.node = &ast.ParserSeparatedList{ Items: []ast.Vertex{yyDollar[1].node}, @@ -7722,7 +7715,7 @@ yydefault: } case 493: yyDollar = yyS[yypt-3 : yypt+1] - // line internal/php7/php7.y:5008 +// line internal/php7/php7.y:5001 { yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token) yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node) @@ -7731,7 +7724,7 @@ yydefault: } case 494: yyDollar = yyS[yypt-1 : yypt+1] - // line internal/php7/php7.y:5018 +// line internal/php7/php7.y:5011 { yyVAL.node = yyDollar[1].node } diff --git a/internal/php7/php7.y b/internal/php7/php7.y index bdd808a..7390dd6 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -3455,80 +3455,73 @@ expr_without_variable: } | T_INT_CAST expr { - $$ = &ast.ExprCastInt{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastInt{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_DOUBLE_CAST expr { - $$ = &ast.ExprCastDouble{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastDouble{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_STRING_CAST expr { - $$ = &ast.ExprCastString{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastString{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_ARRAY_CAST expr { - $$ = &ast.ExprCastArray{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastArray{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_OBJECT_CAST expr { - $$ = &ast.ExprCastObject{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastObject{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_BOOL_CAST expr { - $$ = &ast.ExprCastBool{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastBool{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_UNSET_CAST expr { - $$ = &ast.ExprCastUnset{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setToken($$, token.Cast, $1.SkippedTokens) + $$ = &ast.ExprCastUnset{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + CastTkn: $1, + Expr: $2, + } } | T_EXIT exit_expr { @@ -3584,44 +3577,44 @@ expr_without_variable: } | T_YIELD { - $$ = &ast.ExprYield{ast.Node{}, nil, nil} - - // save position - $$.GetNode().Position = position.NewTokenPosition($1) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenPosition($1), + }, + YieldTkn: $1, + } } | T_YIELD expr { - $$ = &ast.ExprYield{ast.Node{}, nil, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + YieldTkn: $1, + Value: $2, + } } | T_YIELD expr T_DOUBLE_ARROW expr { - $$ = &ast.ExprYield{ast.Node{}, $2, $4} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $4) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) - yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens) + $$ = &ast.ExprYield{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $4), + }, + YieldTkn: $1, + Key: $2, + DoubleArrowTkn: $3, + Value: $4, + } } | T_YIELD_FROM expr { - $$ = &ast.ExprYieldFrom{ast.Node{}, $2} - - // save position - $$.GetNode().Position = position.NewTokenNodePosition($1, $2) - - // save comments - yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens) + $$ = &ast.ExprYieldFrom{ + Node: ast.Node{ + Position: position.NewTokenNodePosition($1, $2), + }, + YieldFromTkn: $1, + Expr: $2, + } } | inline_function { diff --git a/pkg/ast/node.go b/pkg/ast/node.go index 4bd9737..a4599b4 100644 --- a/pkg/ast/node.go +++ b/pkg/ast/node.go @@ -1428,8 +1428,10 @@ func (n *ExprVariable) Accept(v NodeVisitor) { // ExprYield node type ExprYield struct { Node - Key Vertex - Value Vertex + YieldTkn *token.Token + Key Vertex + DoubleArrowTkn *token.Token + Value Vertex } func (n *ExprYield) Accept(v NodeVisitor) { @@ -1439,7 +1441,8 @@ func (n *ExprYield) Accept(v NodeVisitor) { // ExprYieldFrom node type ExprYieldFrom struct { Node - Expr Vertex + YieldFromTkn *token.Token + Expr Vertex } func (n *ExprYieldFrom) Accept(v NodeVisitor) { @@ -1449,7 +1452,8 @@ func (n *ExprYieldFrom) Accept(v NodeVisitor) { // ExprCastArray node type ExprCastArray struct { Node - Expr Vertex + CastTkn *token.Token + Expr Vertex } func (n *ExprCastArray) Accept(v NodeVisitor) { @@ -1459,7 +1463,8 @@ func (n *ExprCastArray) Accept(v NodeVisitor) { // ExprCastBool node type ExprCastBool struct { Node - Expr Vertex + CastTkn *token.Token + Expr Vertex } func (n *ExprCastBool) Accept(v NodeVisitor) { @@ -1469,7 +1474,8 @@ func (n *ExprCastBool) Accept(v NodeVisitor) { // ExprCastDouble node type ExprCastDouble struct { Node - Expr Vertex + CastTkn *token.Token + Expr Vertex } func (n *ExprCastDouble) Accept(v NodeVisitor) { @@ -1479,7 +1485,8 @@ func (n *ExprCastDouble) Accept(v NodeVisitor) { // ExprCastInt node type ExprCastInt struct { Node - Expr Vertex + CastTkn *token.Token + Expr Vertex } func (n *ExprCastInt) Accept(v NodeVisitor) { @@ -1489,7 +1496,8 @@ func (n *ExprCastInt) Accept(v NodeVisitor) { // ExprCastObject node type ExprCastObject struct { Node - Expr Vertex + CastTkn *token.Token + Expr Vertex } func (n *ExprCastObject) Accept(v NodeVisitor) { @@ -1499,7 +1507,8 @@ func (n *ExprCastObject) Accept(v NodeVisitor) { // ExprCastString node type ExprCastString struct { Node - Expr Vertex + CastTkn *token.Token + Expr Vertex } func (n *ExprCastString) Accept(v NodeVisitor) { @@ -1509,7 +1518,8 @@ func (n *ExprCastString) Accept(v NodeVisitor) { // ExprCastUnset node type ExprCastUnset struct { Node - Expr Vertex + CastTkn *token.Token + Expr Vertex } func (n *ExprCastUnset) Accept(v NodeVisitor) {