[refactoring] update ast structure of "Print", "Reference", "Require" and "RequireOnce" nodes
This commit is contained in:
parent
45e959056b
commit
592c9b9aff
472
internal/php5/php5.go
generated
472
internal/php5/php5.go
generated
File diff suppressed because it is too large
Load Diff
@ -1609,13 +1609,13 @@ foreach_variable:
|
||||
}
|
||||
| '&' variable
|
||||
{
|
||||
$$ = &ast.ExprReference{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprReference{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
AmpersandTkn: $1,
|
||||
Var: $2,
|
||||
}
|
||||
}
|
||||
| T_LIST '(' assignment_list ')'
|
||||
{
|
||||
@ -3943,13 +3943,13 @@ expr_without_variable:
|
||||
}
|
||||
| T_PRINT expr
|
||||
{
|
||||
$$ = &ast.ExprPrint{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprPrint{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
PrintTkn: $1,
|
||||
Expr: $2,
|
||||
}
|
||||
}
|
||||
| T_YIELD
|
||||
{
|
||||
@ -4182,6 +4182,7 @@ lexical_var_list:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokensPosition($3, $4),
|
||||
},
|
||||
AmpersandTkn: $3,
|
||||
Var: &ast.ExprVariable{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition($4),
|
||||
@ -4228,6 +4229,7 @@ lexical_var_list:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokensPosition($1, $2),
|
||||
},
|
||||
AmpersandTkn: $1,
|
||||
Var: &ast.ExprVariable{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition($2),
|
||||
@ -6100,7 +6102,8 @@ non_empty_array_pair_list:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($5, $6),
|
||||
},
|
||||
Var: $6,
|
||||
AmpersandTkn: $5,
|
||||
Var: $6,
|
||||
},
|
||||
}
|
||||
|
||||
@ -6119,7 +6122,8 @@ non_empty_array_pair_list:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($3, $4),
|
||||
},
|
||||
Var: $4,
|
||||
AmpersandTkn: $3,
|
||||
Var: $4,
|
||||
},
|
||||
}
|
||||
|
||||
@ -6142,7 +6146,8 @@ non_empty_array_pair_list:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($3, $4),
|
||||
},
|
||||
Var: $4,
|
||||
AmpersandTkn: $3,
|
||||
Var: $4,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -6160,7 +6165,8 @@ non_empty_array_pair_list:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
Var: $2,
|
||||
AmpersandTkn: $1,
|
||||
Var: $2,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -6471,23 +6477,23 @@ internal_functions_in_yacc:
|
||||
}
|
||||
| T_REQUIRE expr
|
||||
{
|
||||
$$ = &ast.ExprRequire{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprRequire{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
RequireTkn: $1,
|
||||
Expr: $2,
|
||||
}
|
||||
}
|
||||
| T_REQUIRE_ONCE expr
|
||||
{
|
||||
$$ = &ast.ExprRequireOnce{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprRequireOnce{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
RequireOnceTkn: $1,
|
||||
Expr: $2,
|
||||
}
|
||||
}
|
||||
;
|
||||
|
||||
|
315
internal/php7/php7.go
generated
315
internal/php7/php7.go
generated
@ -343,7 +343,7 @@ const yyEofCode = 1
|
||||
const yyErrCode = 2
|
||||
const yyInitialStackSize = 16
|
||||
|
||||
// line internal/php7/php7.y:5008
|
||||
// line internal/php7/php7.y:5011
|
||||
|
||||
// line yacctab:1
|
||||
var yyExca = [...]int{
|
||||
@ -3812,13 +3812,13 @@ yydefault:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:1445
|
||||
{
|
||||
yyVAL.node = &ast.ExprReference{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.ExprReference{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||
},
|
||||
AmpersandTkn: yyDollar[1].token,
|
||||
Var: yyDollar[2].node,
|
||||
}
|
||||
}
|
||||
case 186:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
@ -6156,13 +6156,13 @@ yydefault:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:3583
|
||||
{
|
||||
yyVAL.node = &ast.ExprPrint{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.ExprPrint{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||
},
|
||||
PrintTkn: yyDollar[1].token,
|
||||
Expr: yyDollar[2].node,
|
||||
}
|
||||
}
|
||||
case 367:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
@ -6347,27 +6347,28 @@ yydefault:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:3761
|
||||
{
|
||||
identifier := &ast.Identifier{
|
||||
yyVAL.node = &ast.ExprReference{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition(yyDollar[2].token),
|
||||
Position: position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token),
|
||||
},
|
||||
AmpersandTkn: yyDollar[1].token,
|
||||
Var: &ast.ExprVariable{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition(yyDollar[2].token),
|
||||
},
|
||||
VarName: &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition(yyDollar[2].token),
|
||||
},
|
||||
IdentifierTkn: yyDollar[2].token,
|
||||
Value: yyDollar[2].token.Value,
|
||||
},
|
||||
},
|
||||
IdentifierTkn: yyDollar[2].token,
|
||||
Value: yyDollar[2].token.Value,
|
||||
}
|
||||
variable := &ast.ExprVariable{ast.Node{}, identifier}
|
||||
yyVAL.node = &ast.ExprReference{ast.Node{}, variable}
|
||||
|
||||
// save position
|
||||
variable.GetNode().Position = position.NewTokenPosition(yyDollar[2].token)
|
||||
yyVAL.node.GetNode().Position = position.NewTokensPosition(yyDollar[1].token, yyDollar[2].token)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating(yyVAL.node, token.Start, yyDollar[1].token.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating(variable, token.Start, yyDollar[2].token.SkippedTokens)
|
||||
}
|
||||
case 384:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:3784
|
||||
// line internal/php7/php7.y:3785
|
||||
{
|
||||
yyVAL.node = &ast.ExprFunctionCall{
|
||||
Node: ast.Node{
|
||||
@ -6381,7 +6382,7 @@ yydefault:
|
||||
}
|
||||
case 385:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:3796
|
||||
// line internal/php7/php7.y:3797
|
||||
{
|
||||
yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)}
|
||||
|
||||
@ -6394,7 +6395,7 @@ yydefault:
|
||||
}
|
||||
case 386:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:3807
|
||||
// line internal/php7/php7.y:3808
|
||||
{
|
||||
yyVAL.node = &ast.ExprStaticCall{ast.Node{}, yyDollar[1].node, yyDollar[3].node, yyDollar[4].node.(*ast.ArgumentList)}
|
||||
|
||||
@ -6407,7 +6408,7 @@ yydefault:
|
||||
}
|
||||
case 387:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:3818
|
||||
// line internal/php7/php7.y:3819
|
||||
{
|
||||
yyVAL.node = &ast.ExprFunctionCall{
|
||||
Node: ast.Node{
|
||||
@ -6421,7 +6422,7 @@ yydefault:
|
||||
}
|
||||
case 388:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3833
|
||||
// line internal/php7/php7.y:3834
|
||||
{
|
||||
yyVAL.node = &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
@ -6433,31 +6434,31 @@ yydefault:
|
||||
}
|
||||
case 389:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3843
|
||||
// line internal/php7/php7.y:3844
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 390:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3850
|
||||
// line internal/php7/php7.y:3851
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 391:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3854
|
||||
// line internal/php7/php7.y:3855
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 392:
|
||||
yyDollar = yyS[yypt-0 : yypt+1]
|
||||
// line internal/php7/php7.y:3861
|
||||
// line internal/php7/php7.y:3862
|
||||
{
|
||||
yyVAL.node = nil
|
||||
}
|
||||
case 393:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:3865
|
||||
// line internal/php7/php7.y:3866
|
||||
{
|
||||
yyVAL.node = &ast.ParserBrackets{
|
||||
Node: ast.Node{
|
||||
@ -6474,13 +6475,13 @@ yydefault:
|
||||
}
|
||||
case 394:
|
||||
yyDollar = yyS[yypt-0 : yypt+1]
|
||||
// line internal/php7/php7.y:3883
|
||||
// line internal/php7/php7.y:3884
|
||||
{
|
||||
yyVAL.list = []ast.Vertex{}
|
||||
}
|
||||
case 395:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3887
|
||||
// line internal/php7/php7.y:3888
|
||||
{
|
||||
yyVAL.list = []ast.Vertex{
|
||||
&ast.ScalarEncapsedStringPart{
|
||||
@ -6494,25 +6495,25 @@ yydefault:
|
||||
}
|
||||
case 396:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3899
|
||||
// line internal/php7/php7.y:3900
|
||||
{
|
||||
yyVAL.list = yyDollar[1].list
|
||||
}
|
||||
case 397:
|
||||
yyDollar = yyS[yypt-0 : yypt+1]
|
||||
// line internal/php7/php7.y:3906
|
||||
// line internal/php7/php7.y:3907
|
||||
{
|
||||
yyVAL.node = nil
|
||||
}
|
||||
case 398:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3910
|
||||
// line internal/php7/php7.y:3911
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 399:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:3917
|
||||
// line internal/php7/php7.y:3918
|
||||
{
|
||||
yyVAL.node = &ast.ExprArray{
|
||||
Node: ast.Node{
|
||||
@ -6527,7 +6528,7 @@ yydefault:
|
||||
}
|
||||
case 400:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:3930
|
||||
// line internal/php7/php7.y:3931
|
||||
{
|
||||
yyVAL.node = &ast.ExprArray{
|
||||
Node: ast.Node{
|
||||
@ -6541,7 +6542,7 @@ yydefault:
|
||||
}
|
||||
case 401:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3942
|
||||
// line internal/php7/php7.y:3943
|
||||
{
|
||||
yyVAL.node = &ast.ScalarString{
|
||||
Node: ast.Node{
|
||||
@ -6553,7 +6554,7 @@ yydefault:
|
||||
}
|
||||
case 402:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3955
|
||||
// line internal/php7/php7.y:3956
|
||||
{
|
||||
yyVAL.node = &ast.ScalarLnumber{
|
||||
Node: ast.Node{
|
||||
@ -6565,7 +6566,7 @@ yydefault:
|
||||
}
|
||||
case 403:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3965
|
||||
// line internal/php7/php7.y:3966
|
||||
{
|
||||
yyVAL.node = &ast.ScalarDnumber{
|
||||
Node: ast.Node{
|
||||
@ -6577,7 +6578,7 @@ yydefault:
|
||||
}
|
||||
case 404:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3975
|
||||
// line internal/php7/php7.y:3976
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6589,7 +6590,7 @@ yydefault:
|
||||
}
|
||||
case 405:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3985
|
||||
// line internal/php7/php7.y:3986
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6601,7 +6602,7 @@ yydefault:
|
||||
}
|
||||
case 406:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:3995
|
||||
// line internal/php7/php7.y:3996
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6613,7 +6614,7 @@ yydefault:
|
||||
}
|
||||
case 407:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4005
|
||||
// line internal/php7/php7.y:4006
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6625,7 +6626,7 @@ yydefault:
|
||||
}
|
||||
case 408:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4015
|
||||
// line internal/php7/php7.y:4016
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6637,7 +6638,7 @@ yydefault:
|
||||
}
|
||||
case 409:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4025
|
||||
// line internal/php7/php7.y:4026
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6649,7 +6650,7 @@ yydefault:
|
||||
}
|
||||
case 410:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4035
|
||||
// line internal/php7/php7.y:4036
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6661,7 +6662,7 @@ yydefault:
|
||||
}
|
||||
case 411:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4045
|
||||
// line internal/php7/php7.y:4046
|
||||
{
|
||||
yyVAL.node = &ast.ScalarMagicConstant{
|
||||
Node: ast.Node{
|
||||
@ -6673,7 +6674,7 @@ yydefault:
|
||||
}
|
||||
case 412:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4055
|
||||
// line internal/php7/php7.y:4056
|
||||
{
|
||||
yyVAL.node = &ast.ScalarHeredoc{
|
||||
Node: ast.Node{
|
||||
@ -6694,7 +6695,7 @@ yydefault:
|
||||
}
|
||||
case 413:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4074
|
||||
// line internal/php7/php7.y:4075
|
||||
{
|
||||
yyVAL.node = &ast.ScalarHeredoc{
|
||||
Node: ast.Node{
|
||||
@ -6706,7 +6707,7 @@ yydefault:
|
||||
}
|
||||
case 414:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4084
|
||||
// line internal/php7/php7.y:4085
|
||||
{
|
||||
yyVAL.node = &ast.ScalarEncapsed{
|
||||
Node: ast.Node{
|
||||
@ -6719,7 +6720,7 @@ yydefault:
|
||||
}
|
||||
case 415:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4095
|
||||
// line internal/php7/php7.y:4096
|
||||
{
|
||||
yyVAL.node = &ast.ScalarHeredoc{
|
||||
Node: ast.Node{
|
||||
@ -6732,19 +6733,19 @@ yydefault:
|
||||
}
|
||||
case 416:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4106
|
||||
// line internal/php7/php7.y:4107
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 417:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4110
|
||||
// line internal/php7/php7.y:4111
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 418:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4117
|
||||
// line internal/php7/php7.y:4118
|
||||
{
|
||||
yyVAL.node = &ast.ExprConstFetch{
|
||||
Node: ast.Node{
|
||||
@ -6755,7 +6756,7 @@ yydefault:
|
||||
}
|
||||
case 419:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4126
|
||||
// line internal/php7/php7.y:4127
|
||||
{
|
||||
yyVAL.node = &ast.ExprClassConstFetch{
|
||||
Node: ast.Node{
|
||||
@ -6774,7 +6775,7 @@ yydefault:
|
||||
}
|
||||
case 420:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4143
|
||||
// line internal/php7/php7.y:4144
|
||||
{
|
||||
yyVAL.node = &ast.ExprClassConstFetch{
|
||||
Node: ast.Node{
|
||||
@ -6793,43 +6794,43 @@ yydefault:
|
||||
}
|
||||
case 421:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4163
|
||||
// line internal/php7/php7.y:4164
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 422:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4167
|
||||
// line internal/php7/php7.y:4168
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 423:
|
||||
yyDollar = yyS[yypt-0 : yypt+1]
|
||||
// line internal/php7/php7.y:4174
|
||||
// line internal/php7/php7.y:4175
|
||||
{
|
||||
yyVAL.node = nil
|
||||
}
|
||||
case 424:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4178
|
||||
// line internal/php7/php7.y:4179
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 425:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4185
|
||||
// line internal/php7/php7.y:4186
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 426:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4192
|
||||
// line internal/php7/php7.y:4193
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 427:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4196
|
||||
// line internal/php7/php7.y:4197
|
||||
{
|
||||
yyVAL.node = &ast.ParserBrackets{
|
||||
Node: ast.Node{
|
||||
@ -6846,19 +6847,19 @@ yydefault:
|
||||
}
|
||||
case 428:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4211
|
||||
// line internal/php7/php7.y:4212
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 429:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4218
|
||||
// line internal/php7/php7.y:4219
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 430:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4222
|
||||
// line internal/php7/php7.y:4223
|
||||
{
|
||||
yyVAL.node = &ast.ParserBrackets{
|
||||
Node: ast.Node{
|
||||
@ -6875,19 +6876,19 @@ yydefault:
|
||||
}
|
||||
case 431:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4237
|
||||
// line internal/php7/php7.y:4238
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 432:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4244
|
||||
// line internal/php7/php7.y:4245
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 433:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4248
|
||||
// line internal/php7/php7.y:4249
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||
Node: ast.Node{
|
||||
@ -6901,7 +6902,7 @@ yydefault:
|
||||
}
|
||||
case 434:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4260
|
||||
// line internal/php7/php7.y:4261
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||
Node: ast.Node{
|
||||
@ -6915,7 +6916,7 @@ yydefault:
|
||||
}
|
||||
case 435:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4272
|
||||
// line internal/php7/php7.y:4273
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||
Node: ast.Node{
|
||||
@ -6929,7 +6930,7 @@ yydefault:
|
||||
}
|
||||
case 436:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4284
|
||||
// line internal/php7/php7.y:4285
|
||||
{
|
||||
yyVAL.node = &ast.ExprMethodCall{
|
||||
Node: ast.Node{
|
||||
@ -6945,25 +6946,25 @@ yydefault:
|
||||
}
|
||||
case 437:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4298
|
||||
// line internal/php7/php7.y:4299
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 438:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4305
|
||||
// line internal/php7/php7.y:4306
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 439:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4309
|
||||
// line internal/php7/php7.y:4310
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 440:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4313
|
||||
// line internal/php7/php7.y:4314
|
||||
{
|
||||
yyVAL.node = &ast.ExprPropertyFetch{
|
||||
Node: ast.Node{
|
||||
@ -6976,7 +6977,7 @@ yydefault:
|
||||
}
|
||||
case 441:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4327
|
||||
// line internal/php7/php7.y:4328
|
||||
{
|
||||
name := &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
@ -6995,7 +6996,7 @@ yydefault:
|
||||
}
|
||||
case 442:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4344
|
||||
// line internal/php7/php7.y:4345
|
||||
{
|
||||
yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[3].node}
|
||||
|
||||
@ -7009,7 +7010,7 @@ yydefault:
|
||||
}
|
||||
case 443:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4356
|
||||
// line internal/php7/php7.y:4357
|
||||
{
|
||||
yyVAL.node = &ast.ExprVariable{ast.Node{}, yyDollar[2].node}
|
||||
|
||||
@ -7021,7 +7022,7 @@ yydefault:
|
||||
}
|
||||
case 444:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4369
|
||||
// line internal/php7/php7.y:4370
|
||||
{
|
||||
yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node}
|
||||
|
||||
@ -7034,7 +7035,7 @@ yydefault:
|
||||
}
|
||||
case 445:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4380
|
||||
// line internal/php7/php7.y:4381
|
||||
{
|
||||
yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node}
|
||||
|
||||
@ -7047,13 +7048,13 @@ yydefault:
|
||||
}
|
||||
case 446:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4394
|
||||
// line internal/php7/php7.y:4395
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 447:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4398
|
||||
// line internal/php7/php7.y:4399
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||
Node: ast.Node{
|
||||
@ -7067,7 +7068,7 @@ yydefault:
|
||||
}
|
||||
case 448:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4410
|
||||
// line internal/php7/php7.y:4411
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||
Node: ast.Node{
|
||||
@ -7081,7 +7082,7 @@ yydefault:
|
||||
}
|
||||
case 449:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4422
|
||||
// line internal/php7/php7.y:4423
|
||||
{
|
||||
yyVAL.node = &ast.ExprPropertyFetch{
|
||||
Node: ast.Node{
|
||||
@ -7094,7 +7095,7 @@ yydefault:
|
||||
}
|
||||
case 450:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4433
|
||||
// line internal/php7/php7.y:4434
|
||||
{
|
||||
yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node}
|
||||
|
||||
@ -7107,7 +7108,7 @@ yydefault:
|
||||
}
|
||||
case 451:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4444
|
||||
// line internal/php7/php7.y:4445
|
||||
{
|
||||
yyVAL.node = &ast.ExprStaticPropertyFetch{ast.Node{}, yyDollar[1].node, yyDollar[3].node}
|
||||
|
||||
@ -7120,7 +7121,7 @@ yydefault:
|
||||
}
|
||||
case 452:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4458
|
||||
// line internal/php7/php7.y:4459
|
||||
{
|
||||
yyVAL.node = &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
@ -7132,7 +7133,7 @@ yydefault:
|
||||
}
|
||||
case 453:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4468
|
||||
// line internal/php7/php7.y:4469
|
||||
{
|
||||
yyVAL.node = yyDollar[2].node
|
||||
|
||||
@ -7142,13 +7143,13 @@ yydefault:
|
||||
}
|
||||
case 454:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4476
|
||||
// line internal/php7/php7.y:4477
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 455:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4483
|
||||
// line internal/php7/php7.y:4484
|
||||
{
|
||||
yyVAL.node = &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
@ -7160,7 +7161,7 @@ yydefault:
|
||||
}
|
||||
case 456:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4493
|
||||
// line internal/php7/php7.y:4494
|
||||
{
|
||||
yyVAL.node = yyDollar[2].node
|
||||
|
||||
@ -7170,13 +7171,13 @@ yydefault:
|
||||
}
|
||||
case 457:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4501
|
||||
// line internal/php7/php7.y:4502
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 458:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4508
|
||||
// line internal/php7/php7.y:4509
|
||||
{
|
||||
pairList := yyDollar[1].node.(*ast.ParserSeparatedList)
|
||||
fistPair := pairList.Items[0].(*ast.ExprArrayItem)
|
||||
@ -7189,19 +7190,19 @@ yydefault:
|
||||
}
|
||||
case 459:
|
||||
yyDollar = yyS[yypt-0 : yypt+1]
|
||||
// line internal/php7/php7.y:4522
|
||||
// line internal/php7/php7.y:4523
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{}
|
||||
}
|
||||
case 460:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4526
|
||||
// line internal/php7/php7.y:4527
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
case 461:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4533
|
||||
// line internal/php7/php7.y:4534
|
||||
{
|
||||
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)
|
||||
@ -7210,7 +7211,7 @@ yydefault:
|
||||
}
|
||||
case 462:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4540
|
||||
// line internal/php7/php7.y:4541
|
||||
{
|
||||
yyVAL.node = &ast.ParserSeparatedList{
|
||||
Items: []ast.Vertex{yyDollar[1].node},
|
||||
@ -7218,7 +7219,7 @@ yydefault:
|
||||
}
|
||||
case 463:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4549
|
||||
// line internal/php7/php7.y:4550
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{
|
||||
Node: ast.Node{
|
||||
@ -7231,7 +7232,7 @@ yydefault:
|
||||
}
|
||||
case 464:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4560
|
||||
// line internal/php7/php7.y:4561
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{
|
||||
Node: ast.Node{
|
||||
@ -7242,7 +7243,7 @@ yydefault:
|
||||
}
|
||||
case 465:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4569
|
||||
// line internal/php7/php7.y:4570
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{
|
||||
Node: ast.Node{
|
||||
@ -7254,13 +7255,14 @@ yydefault:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition(yyDollar[3].token, yyDollar[4].node),
|
||||
},
|
||||
Var: yyDollar[4].node,
|
||||
AmpersandTkn: yyDollar[3].token,
|
||||
Var: yyDollar[4].node,
|
||||
},
|
||||
}
|
||||
}
|
||||
case 466:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4585
|
||||
// line internal/php7/php7.y:4587
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{
|
||||
Node: ast.Node{
|
||||
@ -7270,13 +7272,14 @@ yydefault:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||
},
|
||||
Var: yyDollar[2].node,
|
||||
AmpersandTkn: yyDollar[1].token,
|
||||
Var: yyDollar[2].node,
|
||||
},
|
||||
}
|
||||
}
|
||||
case 467:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4599
|
||||
// line internal/php7/php7.y:4602
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{
|
||||
Node: ast.Node{
|
||||
@ -7288,7 +7291,7 @@ yydefault:
|
||||
}
|
||||
case 468:
|
||||
yyDollar = yyS[yypt-6 : yypt+1]
|
||||
// line internal/php7/php7.y:4609
|
||||
// line internal/php7/php7.y:4612
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{
|
||||
Node: ast.Node{
|
||||
@ -7310,7 +7313,7 @@ yydefault:
|
||||
}
|
||||
case 469:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4629
|
||||
// line internal/php7/php7.y:4632
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayItem{
|
||||
Node: ast.Node{
|
||||
@ -7330,13 +7333,13 @@ yydefault:
|
||||
}
|
||||
case 470:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4650
|
||||
// line internal/php7/php7.y:4653
|
||||
{
|
||||
yyVAL.list = append(yyDollar[1].list, yyDollar[2].node)
|
||||
}
|
||||
case 471:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4654
|
||||
// line internal/php7/php7.y:4657
|
||||
{
|
||||
yyVAL.list = append(
|
||||
yyDollar[1].list,
|
||||
@ -7351,13 +7354,13 @@ yydefault:
|
||||
}
|
||||
case 472:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4667
|
||||
// line internal/php7/php7.y:4670
|
||||
{
|
||||
yyVAL.list = []ast.Vertex{yyDollar[1].node}
|
||||
}
|
||||
case 473:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4671
|
||||
// line internal/php7/php7.y:4674
|
||||
{
|
||||
yyVAL.list = []ast.Vertex{
|
||||
&ast.ScalarEncapsedStringPart{
|
||||
@ -7372,7 +7375,7 @@ yydefault:
|
||||
}
|
||||
case 474:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4687
|
||||
// line internal/php7/php7.y:4690
|
||||
{
|
||||
name := &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
@ -7391,7 +7394,7 @@ yydefault:
|
||||
}
|
||||
case 475:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4704
|
||||
// line internal/php7/php7.y:4707
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||
Node: ast.Node{
|
||||
@ -7416,7 +7419,7 @@ yydefault:
|
||||
}
|
||||
case 476:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4727
|
||||
// line internal/php7/php7.y:4730
|
||||
{
|
||||
yyVAL.node = &ast.ExprPropertyFetch{
|
||||
Node: ast.Node{
|
||||
@ -7446,7 +7449,7 @@ yydefault:
|
||||
}
|
||||
case 477:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4755
|
||||
// line internal/php7/php7.y:4758
|
||||
{
|
||||
variable := &ast.ExprVariable{ast.Node{}, yyDollar[2].node}
|
||||
|
||||
@ -7461,7 +7464,7 @@ yydefault:
|
||||
}
|
||||
case 478:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4768
|
||||
// line internal/php7/php7.y:4771
|
||||
{
|
||||
name := &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
@ -7483,7 +7486,7 @@ yydefault:
|
||||
}
|
||||
case 479:
|
||||
yyDollar = yyS[yypt-6 : yypt+1]
|
||||
// line internal/php7/php7.y:4788
|
||||
// line internal/php7/php7.y:4791
|
||||
{
|
||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||
Node: ast.Node{
|
||||
@ -7510,7 +7513,7 @@ yydefault:
|
||||
}
|
||||
case 480:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4813
|
||||
// line internal/php7/php7.y:4816
|
||||
{
|
||||
yyVAL.node = yyDollar[2].node
|
||||
|
||||
@ -7520,7 +7523,7 @@ yydefault:
|
||||
}
|
||||
case 481:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4824
|
||||
// line internal/php7/php7.y:4827
|
||||
{
|
||||
yyVAL.node = &ast.ScalarString{
|
||||
Node: ast.Node{
|
||||
@ -7532,7 +7535,7 @@ yydefault:
|
||||
}
|
||||
case 482:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4834
|
||||
// line internal/php7/php7.y:4837
|
||||
{
|
||||
// TODO: add option to handle 64 bit integer
|
||||
if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil {
|
||||
@ -7555,7 +7558,7 @@ yydefault:
|
||||
}
|
||||
case 483:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4855
|
||||
// line internal/php7/php7.y:4858
|
||||
{
|
||||
_, err := strconv.Atoi(string(yyDollar[2].token.Value))
|
||||
isInt := err == nil
|
||||
@ -7583,7 +7586,7 @@ yydefault:
|
||||
}
|
||||
case 484:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4881
|
||||
// line internal/php7/php7.y:4884
|
||||
{
|
||||
identifier := &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
@ -7602,7 +7605,7 @@ yydefault:
|
||||
}
|
||||
case 485:
|
||||
yyDollar = yyS[yypt-5 : yypt+1]
|
||||
// line internal/php7/php7.y:4901
|
||||
// line internal/php7/php7.y:4904
|
||||
{
|
||||
if yyDollar[4].token != nil {
|
||||
yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[4].token)
|
||||
@ -7621,7 +7624,7 @@ yydefault:
|
||||
}
|
||||
case 486:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4918
|
||||
// line internal/php7/php7.y:4921
|
||||
{
|
||||
yyVAL.node = &ast.ExprEmpty{
|
||||
Node: ast.Node{
|
||||
@ -7635,7 +7638,7 @@ yydefault:
|
||||
}
|
||||
case 487:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4930
|
||||
// line internal/php7/php7.y:4933
|
||||
{
|
||||
yyVAL.node = &ast.ExprInclude{
|
||||
Node: ast.Node{
|
||||
@ -7647,7 +7650,7 @@ yydefault:
|
||||
}
|
||||
case 488:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4940
|
||||
// line internal/php7/php7.y:4943
|
||||
{
|
||||
yyVAL.node = &ast.ExprIncludeOnce{
|
||||
Node: ast.Node{
|
||||
@ -7659,7 +7662,7 @@ yydefault:
|
||||
}
|
||||
case 489:
|
||||
yyDollar = yyS[yypt-4 : yypt+1]
|
||||
// line internal/php7/php7.y:4950
|
||||
// line internal/php7/php7.y:4953
|
||||
{
|
||||
yyVAL.node = &ast.ExprEval{
|
||||
Node: ast.Node{
|
||||
@ -7673,31 +7676,31 @@ yydefault:
|
||||
}
|
||||
case 490:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4962
|
||||
// line internal/php7/php7.y:4965
|
||||
{
|
||||
yyVAL.node = &ast.ExprRequire{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.ExprRequire{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||
},
|
||||
RequireTkn: yyDollar[1].token,
|
||||
Expr: yyDollar[2].node,
|
||||
}
|
||||
}
|
||||
case 491:
|
||||
yyDollar = yyS[yypt-2 : yypt+1]
|
||||
// line internal/php7/php7.y:4972
|
||||
// line internal/php7/php7.y:4975
|
||||
{
|
||||
yyVAL.node = &ast.ExprRequireOnce{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.ExprRequireOnce{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||
},
|
||||
RequireOnceTkn: yyDollar[1].token,
|
||||
Expr: yyDollar[2].node,
|
||||
}
|
||||
}
|
||||
case 492:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:4985
|
||||
// line internal/php7/php7.y:4988
|
||||
{
|
||||
yyVAL.node = &ast.ParserSeparatedList{
|
||||
Items: []ast.Vertex{yyDollar[1].node},
|
||||
@ -7705,7 +7708,7 @@ yydefault:
|
||||
}
|
||||
case 493:
|
||||
yyDollar = yyS[yypt-3 : yypt+1]
|
||||
// line internal/php7/php7.y:4991
|
||||
// line internal/php7/php7.y:4994
|
||||
{
|
||||
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)
|
||||
@ -7714,7 +7717,7 @@ yydefault:
|
||||
}
|
||||
case 494:
|
||||
yyDollar = yyS[yypt-1 : yypt+1]
|
||||
// line internal/php7/php7.y:5001
|
||||
// line internal/php7/php7.y:5004
|
||||
{
|
||||
yyVAL.node = yyDollar[1].node
|
||||
}
|
||||
|
@ -1443,13 +1443,13 @@ foreach_variable:
|
||||
}
|
||||
| '&' variable
|
||||
{
|
||||
$$ = &ast.ExprReference{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprReference{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
AmpersandTkn: $1,
|
||||
Var: $2,
|
||||
}
|
||||
}
|
||||
| T_LIST '(' array_pair_list ')'
|
||||
{
|
||||
@ -3581,13 +3581,13 @@ expr_without_variable:
|
||||
}
|
||||
| T_PRINT expr
|
||||
{
|
||||
$$ = &ast.ExprPrint{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprPrint{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
PrintTkn: $1,
|
||||
Expr: $2,
|
||||
}
|
||||
}
|
||||
| T_YIELD
|
||||
{
|
||||
@ -3759,23 +3759,24 @@ lexical_var:
|
||||
}
|
||||
| '&' T_VARIABLE
|
||||
{
|
||||
identifier := &ast.Identifier{
|
||||
$$ = &ast.ExprReference{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition($2),
|
||||
Position: position.NewTokensPosition($1, $2),
|
||||
},
|
||||
AmpersandTkn: $1,
|
||||
Var: &ast.ExprVariable{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition($2),
|
||||
},
|
||||
VarName: &ast.Identifier{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenPosition($2),
|
||||
},
|
||||
IdentifierTkn: $2,
|
||||
Value: $2.Value,
|
||||
},
|
||||
},
|
||||
IdentifierTkn: $2,
|
||||
Value: $2.Value,
|
||||
}
|
||||
variable := &ast.ExprVariable{ast.Node{}, identifier}
|
||||
$$ = &ast.ExprReference{ast.Node{}, variable}
|
||||
|
||||
// save position
|
||||
variable.GetNode().Position = position.NewTokenPosition($2)
|
||||
$$.GetNode().Position = position.NewTokensPosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
yylex.(*Parser).setFreeFloating(variable, token.Start, $2.SkippedTokens)
|
||||
}
|
||||
;
|
||||
|
||||
@ -4577,7 +4578,8 @@ array_pair:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($3, $4),
|
||||
},
|
||||
Var: $4,
|
||||
AmpersandTkn: $3,
|
||||
Var: $4,
|
||||
},
|
||||
}
|
||||
}
|
||||
@ -4591,7 +4593,8 @@ array_pair:
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
Var: $2,
|
||||
AmpersandTkn: $1,
|
||||
Var: $2,
|
||||
},
|
||||
}
|
||||
}
|
||||
@ -4960,23 +4963,23 @@ internal_functions_in_yacc:
|
||||
}
|
||||
| T_REQUIRE expr
|
||||
{
|
||||
$$ = &ast.ExprRequire{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprRequire{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
RequireTkn: $1,
|
||||
Expr: $2,
|
||||
}
|
||||
}
|
||||
| T_REQUIRE_ONCE expr
|
||||
{
|
||||
$$ = &ast.ExprRequireOnce{ast.Node{}, $2}
|
||||
|
||||
// save position
|
||||
$$.GetNode().Position = position.NewTokenNodePosition($1, $2)
|
||||
|
||||
// save comments
|
||||
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
|
||||
$$ = &ast.ExprRequireOnce{
|
||||
Node: ast.Node{
|
||||
Position: position.NewTokenNodePosition($1, $2),
|
||||
},
|
||||
RequireOnceTkn: $1,
|
||||
Expr: $2,
|
||||
}
|
||||
}
|
||||
;
|
||||
|
||||
|
@ -1288,7 +1288,8 @@ func (n *ExprPreInc) Accept(v NodeVisitor) {
|
||||
// ExprPrint node
|
||||
type ExprPrint struct {
|
||||
Node
|
||||
Expr Vertex
|
||||
PrintTkn *token.Token
|
||||
Expr Vertex
|
||||
}
|
||||
|
||||
func (n *ExprPrint) Accept(v NodeVisitor) {
|
||||
@ -1310,7 +1311,8 @@ func (n *ExprPropertyFetch) Accept(v NodeVisitor) {
|
||||
// ExprReference node
|
||||
type ExprReference struct {
|
||||
Node
|
||||
Var Vertex
|
||||
AmpersandTkn *token.Token
|
||||
Var Vertex
|
||||
}
|
||||
|
||||
func (n *ExprReference) Accept(v NodeVisitor) {
|
||||
@ -1320,7 +1322,8 @@ func (n *ExprReference) Accept(v NodeVisitor) {
|
||||
// ExprRequire node
|
||||
type ExprRequire struct {
|
||||
Node
|
||||
Expr Vertex
|
||||
RequireTkn *token.Token
|
||||
Expr Vertex
|
||||
}
|
||||
|
||||
func (n *ExprRequire) Accept(v NodeVisitor) {
|
||||
@ -1330,7 +1333,8 @@ func (n *ExprRequire) Accept(v NodeVisitor) {
|
||||
// ExprRequireOnce node
|
||||
type ExprRequireOnce struct {
|
||||
Node
|
||||
Expr Vertex
|
||||
RequireOnceTkn *token.Token
|
||||
Expr Vertex
|
||||
}
|
||||
|
||||
func (n *ExprRequireOnce) Accept(v NodeVisitor) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user