refactoring: update ast structure of "StaticCall" node
This commit is contained in:
parent
0f2341bfa9
commit
ad884c99df
410
internal/php5/php5.go
generated
410
internal/php5/php5.go
generated
File diff suppressed because it is too large
Load Diff
@ -3688,7 +3688,7 @@ function_call:
|
|||||||
}
|
}
|
||||||
| class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list
|
| class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list
|
||||||
{
|
{
|
||||||
$$ = &ast.ExprStaticCall{
|
staticCall := &ast.ExprStaticCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
||||||
Class: $1,
|
Class: $1,
|
||||||
DoubleColonTkn: $2,
|
DoubleColonTkn: $2,
|
||||||
@ -3698,6 +3698,14 @@ function_call:
|
|||||||
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
||||||
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if brackets, ok := $3.(*ast.ParserBrackets); ok {
|
||||||
|
staticCall.OpenCurlyBracketTkn = brackets.OpenBracketTkn
|
||||||
|
staticCall.Call = brackets.Child
|
||||||
|
staticCall.CloseCurlyBracketTkn = brackets.CloseBracketTkn
|
||||||
|
}
|
||||||
|
|
||||||
|
$$ = staticCall
|
||||||
}
|
}
|
||||||
| class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list
|
| class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list
|
||||||
{
|
{
|
||||||
@ -3714,7 +3722,7 @@ function_call:
|
|||||||
}
|
}
|
||||||
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list
|
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_name function_call_parameter_list
|
||||||
{
|
{
|
||||||
$$ = &ast.ExprStaticCall{
|
staticCall := &ast.ExprStaticCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
||||||
Class: $1,
|
Class: $1,
|
||||||
DoubleColonTkn: $2,
|
DoubleColonTkn: $2,
|
||||||
@ -3724,6 +3732,14 @@ function_call:
|
|||||||
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
||||||
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if brackets, ok := $3.(*ast.ParserBrackets); ok {
|
||||||
|
staticCall.OpenCurlyBracketTkn = brackets.OpenBracketTkn
|
||||||
|
staticCall.Call = brackets.Child
|
||||||
|
staticCall.CloseCurlyBracketTkn = brackets.CloseBracketTkn
|
||||||
|
}
|
||||||
|
|
||||||
|
$$ = staticCall
|
||||||
}
|
}
|
||||||
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list
|
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects function_call_parameter_list
|
||||||
{
|
{
|
||||||
|
240
internal/php7/php7.go
generated
240
internal/php7/php7.go
generated
@ -339,7 +339,7 @@ const yyEofCode = 1
|
|||||||
const yyErrCode = 2
|
const yyErrCode = 2
|
||||||
const yyInitialStackSize = 16
|
const yyInitialStackSize = 16
|
||||||
|
|
||||||
// line internal/php7/php7.y:4374
|
// line internal/php7/php7.y:4390
|
||||||
|
|
||||||
// line yacctab:1
|
// line yacctab:1
|
||||||
var yyExca = [...]int{
|
var yyExca = [...]int{
|
||||||
@ -5913,7 +5913,7 @@ yydefault:
|
|||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3323
|
// line internal/php7/php7.y:3323
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprStaticCall{
|
staticCall := &ast.ExprStaticCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
||||||
Class: yyDollar[1].node,
|
Class: yyDollar[1].node,
|
||||||
DoubleColonTkn: yyDollar[2].token,
|
DoubleColonTkn: yyDollar[2].token,
|
||||||
@ -5923,12 +5923,20 @@ yydefault:
|
|||||||
SeparatorTkns: yyDollar[4].node.(*ast.ArgumentList).SeparatorTkns,
|
SeparatorTkns: yyDollar[4].node.(*ast.ArgumentList).SeparatorTkns,
|
||||||
CloseParenthesisTkn: yyDollar[4].node.(*ast.ArgumentList).CloseParenthesisTkn,
|
CloseParenthesisTkn: yyDollar[4].node.(*ast.ArgumentList).CloseParenthesisTkn,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if brackets, ok := yyDollar[3].node.(*ast.ParserBrackets); ok {
|
||||||
|
staticCall.OpenCurlyBracketTkn = brackets.OpenBracketTkn
|
||||||
|
staticCall.Call = brackets.Child
|
||||||
|
staticCall.CloseCurlyBracketTkn = brackets.CloseBracketTkn
|
||||||
|
}
|
||||||
|
|
||||||
|
yyVAL.node = staticCall
|
||||||
}
|
}
|
||||||
case 386:
|
case 386:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3336
|
// line internal/php7/php7.y:3344
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprStaticCall{
|
staticCall := &ast.ExprStaticCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
||||||
Class: yyDollar[1].node,
|
Class: yyDollar[1].node,
|
||||||
DoubleColonTkn: yyDollar[2].token,
|
DoubleColonTkn: yyDollar[2].token,
|
||||||
@ -5938,10 +5946,18 @@ yydefault:
|
|||||||
SeparatorTkns: yyDollar[4].node.(*ast.ArgumentList).SeparatorTkns,
|
SeparatorTkns: yyDollar[4].node.(*ast.ArgumentList).SeparatorTkns,
|
||||||
CloseParenthesisTkn: yyDollar[4].node.(*ast.ArgumentList).CloseParenthesisTkn,
|
CloseParenthesisTkn: yyDollar[4].node.(*ast.ArgumentList).CloseParenthesisTkn,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if brackets, ok := yyDollar[3].node.(*ast.ParserBrackets); ok {
|
||||||
|
staticCall.OpenCurlyBracketTkn = brackets.OpenBracketTkn
|
||||||
|
staticCall.Call = brackets.Child
|
||||||
|
staticCall.CloseCurlyBracketTkn = brackets.CloseBracketTkn
|
||||||
|
}
|
||||||
|
|
||||||
|
yyVAL.node = staticCall
|
||||||
}
|
}
|
||||||
case 387:
|
case 387:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:3349
|
// line internal/php7/php7.y:3365
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprFunctionCall{
|
yyVAL.node = &ast.ExprFunctionCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[2].node),
|
||||||
@ -5954,7 +5970,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 388:
|
case 388:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3363
|
// line internal/php7/php7.y:3379
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.Identifier{
|
yyVAL.node = &ast.Identifier{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -5964,31 +5980,31 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 389:
|
case 389:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3371
|
// line internal/php7/php7.y:3387
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 390:
|
case 390:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3378
|
// line internal/php7/php7.y:3394
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 391:
|
case 391:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3382
|
// line internal/php7/php7.y:3398
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 392:
|
case 392:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
// line internal/php7/php7.y:3389
|
// line internal/php7/php7.y:3405
|
||||||
{
|
{
|
||||||
yyVAL.node = nil
|
yyVAL.node = nil
|
||||||
}
|
}
|
||||||
case 393:
|
case 393:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3393
|
// line internal/php7/php7.y:3409
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -5999,13 +6015,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 394:
|
case 394:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
// line internal/php7/php7.y:3405
|
// line internal/php7/php7.y:3421
|
||||||
{
|
{
|
||||||
yyVAL.list = []ast.Vertex{}
|
yyVAL.list = []ast.Vertex{}
|
||||||
}
|
}
|
||||||
case 395:
|
case 395:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3409
|
// line internal/php7/php7.y:3425
|
||||||
{
|
{
|
||||||
yyVAL.list = []ast.Vertex{
|
yyVAL.list = []ast.Vertex{
|
||||||
&ast.ScalarEncapsedStringPart{
|
&ast.ScalarEncapsedStringPart{
|
||||||
@ -6017,25 +6033,25 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 396:
|
case 396:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3419
|
// line internal/php7/php7.y:3435
|
||||||
{
|
{
|
||||||
yyVAL.list = yyDollar[1].list
|
yyVAL.list = yyDollar[1].list
|
||||||
}
|
}
|
||||||
case 397:
|
case 397:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
// line internal/php7/php7.y:3426
|
// line internal/php7/php7.y:3442
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ArgumentList{}
|
yyVAL.node = &ast.ArgumentList{}
|
||||||
}
|
}
|
||||||
case 398:
|
case 398:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3430
|
// line internal/php7/php7.y:3446
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 399:
|
case 399:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3437
|
// line internal/php7/php7.y:3453
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArray{
|
yyVAL.node = &ast.ExprArray{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
||||||
@ -6048,7 +6064,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 400:
|
case 400:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3448
|
// line internal/php7/php7.y:3464
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArray{
|
yyVAL.node = &ast.ExprArray{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6060,7 +6076,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 401:
|
case 401:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3458
|
// line internal/php7/php7.y:3474
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarString{
|
yyVAL.node = &ast.ScalarString{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6070,7 +6086,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 402:
|
case 402:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3469
|
// line internal/php7/php7.y:3485
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarLnumber{
|
yyVAL.node = &ast.ScalarLnumber{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6080,7 +6096,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 403:
|
case 403:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3477
|
// line internal/php7/php7.y:3493
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarDnumber{
|
yyVAL.node = &ast.ScalarDnumber{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6090,7 +6106,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 404:
|
case 404:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3485
|
// line internal/php7/php7.y:3501
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6100,7 +6116,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 405:
|
case 405:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3493
|
// line internal/php7/php7.y:3509
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6110,7 +6126,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 406:
|
case 406:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3501
|
// line internal/php7/php7.y:3517
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6120,7 +6136,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 407:
|
case 407:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3509
|
// line internal/php7/php7.y:3525
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6130,7 +6146,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 408:
|
case 408:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3517
|
// line internal/php7/php7.y:3533
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6140,7 +6156,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 409:
|
case 409:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3525
|
// line internal/php7/php7.y:3541
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6150,7 +6166,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 410:
|
case 410:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3533
|
// line internal/php7/php7.y:3549
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6160,7 +6176,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 411:
|
case 411:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3541
|
// line internal/php7/php7.y:3557
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarMagicConstant{
|
yyVAL.node = &ast.ScalarMagicConstant{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6170,7 +6186,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 412:
|
case 412:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3549
|
// line internal/php7/php7.y:3565
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarHeredoc{
|
yyVAL.node = &ast.ScalarHeredoc{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6187,7 +6203,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 413:
|
case 413:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:3564
|
// line internal/php7/php7.y:3580
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarHeredoc{
|
yyVAL.node = &ast.ScalarHeredoc{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[2].token),
|
||||||
@ -6197,7 +6213,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 414:
|
case 414:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3572
|
// line internal/php7/php7.y:3588
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarEncapsed{
|
yyVAL.node = &ast.ScalarEncapsed{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6208,7 +6224,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 415:
|
case 415:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3581
|
// line internal/php7/php7.y:3597
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarHeredoc{
|
yyVAL.node = &ast.ScalarHeredoc{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6219,19 +6235,19 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 416:
|
case 416:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3590
|
// line internal/php7/php7.y:3606
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 417:
|
case 417:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3594
|
// line internal/php7/php7.y:3610
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 418:
|
case 418:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3601
|
// line internal/php7/php7.y:3617
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprConstFetch{
|
yyVAL.node = &ast.ExprConstFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node),
|
Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node),
|
||||||
@ -6240,7 +6256,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 419:
|
case 419:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3608
|
// line internal/php7/php7.y:3624
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprClassConstFetch{
|
yyVAL.node = &ast.ExprClassConstFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token),
|
||||||
@ -6255,7 +6271,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 420:
|
case 420:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3621
|
// line internal/php7/php7.y:3637
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprClassConstFetch{
|
yyVAL.node = &ast.ExprClassConstFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[3].token),
|
||||||
@ -6270,43 +6286,43 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 421:
|
case 421:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3637
|
// line internal/php7/php7.y:3653
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 422:
|
case 422:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3641
|
// line internal/php7/php7.y:3657
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 423:
|
case 423:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
// line internal/php7/php7.y:3648
|
// line internal/php7/php7.y:3664
|
||||||
{
|
{
|
||||||
yyVAL.node = nil
|
yyVAL.node = nil
|
||||||
}
|
}
|
||||||
case 424:
|
case 424:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3652
|
// line internal/php7/php7.y:3668
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 425:
|
case 425:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3659
|
// line internal/php7/php7.y:3675
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 426:
|
case 426:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3666
|
// line internal/php7/php7.y:3682
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 427:
|
case 427:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3670
|
// line internal/php7/php7.y:3686
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6317,19 +6333,19 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 428:
|
case 428:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3679
|
// line internal/php7/php7.y:3695
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 429:
|
case 429:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3686
|
// line internal/php7/php7.y:3702
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 430:
|
case 430:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3690
|
// line internal/php7/php7.y:3706
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6340,19 +6356,19 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 431:
|
case 431:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3699
|
// line internal/php7/php7.y:3715
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 432:
|
case 432:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3706
|
// line internal/php7/php7.y:3722
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 433:
|
case 433:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3710
|
// line internal/php7/php7.y:3726
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
||||||
@ -6364,7 +6380,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 434:
|
case 434:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3720
|
// line internal/php7/php7.y:3736
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
||||||
@ -6376,7 +6392,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 435:
|
case 435:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3730
|
// line internal/php7/php7.y:3746
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
||||||
@ -6388,7 +6404,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 436:
|
case 436:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3740
|
// line internal/php7/php7.y:3756
|
||||||
{
|
{
|
||||||
methodCall := &ast.ExprMethodCall{
|
methodCall := &ast.ExprMethodCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
||||||
@ -6411,25 +6427,25 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 437:
|
case 437:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3761
|
// line internal/php7/php7.y:3777
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 438:
|
case 438:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3768
|
// line internal/php7/php7.y:3784
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 439:
|
case 439:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3772
|
// line internal/php7/php7.y:3788
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 440:
|
case 440:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3776
|
// line internal/php7/php7.y:3792
|
||||||
{
|
{
|
||||||
propertyFetch := &ast.ExprPropertyFetch{
|
propertyFetch := &ast.ExprPropertyFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||||
@ -6448,7 +6464,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 441:
|
case 441:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3796
|
// line internal/php7/php7.y:3812
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprVariable{
|
yyVAL.node = &ast.ExprVariable{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6461,7 +6477,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 442:
|
case 442:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3807
|
// line internal/php7/php7.y:3823
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprVariable{
|
yyVAL.node = &ast.ExprVariable{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
||||||
@ -6473,7 +6489,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 443:
|
case 443:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:3817
|
// line internal/php7/php7.y:3833
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprVariable{
|
yyVAL.node = &ast.ExprVariable{
|
||||||
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||||
@ -6483,7 +6499,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 444:
|
case 444:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3828
|
// line internal/php7/php7.y:3844
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||||
@ -6494,7 +6510,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 445:
|
case 445:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3837
|
// line internal/php7/php7.y:3853
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||||
@ -6505,13 +6521,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 446:
|
case 446:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3849
|
// line internal/php7/php7.y:3865
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 447:
|
case 447:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3853
|
// line internal/php7/php7.y:3869
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
||||||
@ -6523,7 +6539,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 448:
|
case 448:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:3863
|
// line internal/php7/php7.y:3879
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[4].token),
|
||||||
@ -6535,7 +6551,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 449:
|
case 449:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3873
|
// line internal/php7/php7.y:3889
|
||||||
{
|
{
|
||||||
propertyFetch := &ast.ExprPropertyFetch{
|
propertyFetch := &ast.ExprPropertyFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||||
@ -6554,7 +6570,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 450:
|
case 450:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3890
|
// line internal/php7/php7.y:3906
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||||
@ -6565,7 +6581,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 451:
|
case 451:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3899
|
// line internal/php7/php7.y:3915
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
yyVAL.node = &ast.ExprStaticPropertyFetch{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||||
@ -6576,7 +6592,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 452:
|
case 452:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3911
|
// line internal/php7/php7.y:3927
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.Identifier{
|
yyVAL.node = &ast.Identifier{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6586,7 +6602,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 453:
|
case 453:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3919
|
// line internal/php7/php7.y:3935
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6597,13 +6613,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 454:
|
case 454:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3928
|
// line internal/php7/php7.y:3944
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 455:
|
case 455:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3935
|
// line internal/php7/php7.y:3951
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.Identifier{
|
yyVAL.node = &ast.Identifier{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6613,7 +6629,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 456:
|
case 456:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3943
|
// line internal/php7/php7.y:3959
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6624,13 +6640,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 457:
|
case 457:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3952
|
// line internal/php7/php7.y:3968
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 458:
|
case 458:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3959
|
// line internal/php7/php7.y:3975
|
||||||
{
|
{
|
||||||
pairList := yyDollar[1].node.(*ast.ParserSeparatedList)
|
pairList := yyDollar[1].node.(*ast.ParserSeparatedList)
|
||||||
fistPair := pairList.Items[0].(*ast.ExprArrayItem)
|
fistPair := pairList.Items[0].(*ast.ExprArrayItem)
|
||||||
@ -6643,19 +6659,19 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 459:
|
case 459:
|
||||||
yyDollar = yyS[yypt-0 : yypt+1]
|
yyDollar = yyS[yypt-0 : yypt+1]
|
||||||
// line internal/php7/php7.y:3973
|
// line internal/php7/php7.y:3989
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{}
|
yyVAL.node = &ast.ExprArrayItem{}
|
||||||
}
|
}
|
||||||
case 460:
|
case 460:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3977
|
// line internal/php7/php7.y:3993
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
case 461:
|
case 461:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:3984
|
// line internal/php7/php7.y:4000
|
||||||
{
|
{
|
||||||
yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token)
|
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)
|
yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node)
|
||||||
@ -6664,7 +6680,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 462:
|
case 462:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:3991
|
// line internal/php7/php7.y:4007
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserSeparatedList{
|
yyVAL.node = &ast.ParserSeparatedList{
|
||||||
Items: []ast.Vertex{yyDollar[1].node},
|
Items: []ast.Vertex{yyDollar[1].node},
|
||||||
@ -6672,7 +6688,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 463:
|
case 463:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:4000
|
// line internal/php7/php7.y:4016
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{
|
yyVAL.node = &ast.ExprArrayItem{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[3].node),
|
||||||
@ -6683,7 +6699,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 464:
|
case 464:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4009
|
// line internal/php7/php7.y:4025
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{
|
yyVAL.node = &ast.ExprArrayItem{
|
||||||
Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node),
|
Position: yylex.(*Parser).builder.NewNodePosition(yyDollar[1].node),
|
||||||
@ -6692,7 +6708,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 465:
|
case 465:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:4016
|
// line internal/php7/php7.y:4032
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{
|
yyVAL.node = &ast.ExprArrayItem{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
Position: yylex.(*Parser).builder.NewNodesPosition(yyDollar[1].node, yyDollar[4].node),
|
||||||
@ -6704,7 +6720,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 466:
|
case 466:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4026
|
// line internal/php7/php7.y:4042
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{
|
yyVAL.node = &ast.ExprArrayItem{
|
||||||
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||||
@ -6714,7 +6730,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 467:
|
case 467:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4034
|
// line internal/php7/php7.y:4050
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{
|
yyVAL.node = &ast.ExprArrayItem{
|
||||||
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||||
@ -6724,7 +6740,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 468:
|
case 468:
|
||||||
yyDollar = yyS[yypt-6 : yypt+1]
|
yyDollar = yyS[yypt-6 : yypt+1]
|
||||||
// line internal/php7/php7.y:4042
|
// line internal/php7/php7.y:4058
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{
|
yyVAL.node = &ast.ExprArrayItem{
|
||||||
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token),
|
Position: yylex.(*Parser).builder.NewNodeTokenPosition(yyDollar[1].node, yyDollar[6].token),
|
||||||
@ -6742,7 +6758,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 469:
|
case 469:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:4058
|
// line internal/php7/php7.y:4074
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayItem{
|
yyVAL.node = &ast.ExprArrayItem{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
||||||
@ -6758,13 +6774,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 470:
|
case 470:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4075
|
// line internal/php7/php7.y:4091
|
||||||
{
|
{
|
||||||
yyVAL.list = append(yyDollar[1].list, yyDollar[2].node)
|
yyVAL.list = append(yyDollar[1].list, yyDollar[2].node)
|
||||||
}
|
}
|
||||||
case 471:
|
case 471:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4079
|
// line internal/php7/php7.y:4095
|
||||||
{
|
{
|
||||||
yyVAL.list = append(
|
yyVAL.list = append(
|
||||||
yyDollar[1].list,
|
yyDollar[1].list,
|
||||||
@ -6777,13 +6793,13 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 472:
|
case 472:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4090
|
// line internal/php7/php7.y:4106
|
||||||
{
|
{
|
||||||
yyVAL.list = []ast.Vertex{yyDollar[1].node}
|
yyVAL.list = []ast.Vertex{yyDollar[1].node}
|
||||||
}
|
}
|
||||||
case 473:
|
case 473:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4094
|
// line internal/php7/php7.y:4110
|
||||||
{
|
{
|
||||||
yyVAL.list = []ast.Vertex{
|
yyVAL.list = []ast.Vertex{
|
||||||
&ast.ScalarEncapsedStringPart{
|
&ast.ScalarEncapsedStringPart{
|
||||||
@ -6796,7 +6812,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 474:
|
case 474:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4108
|
// line internal/php7/php7.y:4124
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprVariable{
|
yyVAL.node = &ast.ExprVariable{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6809,7 +6825,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 475:
|
case 475:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:4119
|
// line internal/php7/php7.y:4135
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprArrayDimFetch{
|
yyVAL.node = &ast.ExprArrayDimFetch{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
||||||
@ -6828,7 +6844,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 476:
|
case 476:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:4136
|
// line internal/php7/php7.y:4152
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprPropertyFetch{
|
yyVAL.node = &ast.ExprPropertyFetch{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6850,7 +6866,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 477:
|
case 477:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:4156
|
// line internal/php7/php7.y:4172
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6864,7 +6880,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 478:
|
case 478:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:4168
|
// line internal/php7/php7.y:4184
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6882,7 +6898,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 479:
|
case 479:
|
||||||
yyDollar = yyS[yypt-6 : yypt+1]
|
yyDollar = yyS[yypt-6 : yypt+1]
|
||||||
// line internal/php7/php7.y:4184
|
// line internal/php7/php7.y:4200
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[6].token),
|
||||||
@ -6906,7 +6922,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 480:
|
case 480:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:4206
|
// line internal/php7/php7.y:4222
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserBrackets{
|
yyVAL.node = &ast.ParserBrackets{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
|
||||||
@ -6917,7 +6933,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 481:
|
case 481:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4218
|
// line internal/php7/php7.y:4234
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ScalarString{
|
yyVAL.node = &ast.ScalarString{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6927,7 +6943,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 482:
|
case 482:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4226
|
// line internal/php7/php7.y:4242
|
||||||
{
|
{
|
||||||
// TODO: add option to handle 64 bit integer
|
// TODO: add option to handle 64 bit integer
|
||||||
if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil {
|
if _, err := strconv.Atoi(string(yyDollar[1].token.Value)); err == nil {
|
||||||
@ -6946,7 +6962,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 483:
|
case 483:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4243
|
// line internal/php7/php7.y:4259
|
||||||
{
|
{
|
||||||
_, err := strconv.Atoi(string(yyDollar[2].token.Value))
|
_, err := strconv.Atoi(string(yyDollar[2].token.Value))
|
||||||
isInt := err == nil
|
isInt := err == nil
|
||||||
@ -6972,7 +6988,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 484:
|
case 484:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4267
|
// line internal/php7/php7.y:4283
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprVariable{
|
yyVAL.node = &ast.ExprVariable{
|
||||||
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
Position: yylex.(*Parser).builder.NewTokenPosition(yyDollar[1].token),
|
||||||
@ -6985,7 +7001,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 485:
|
case 485:
|
||||||
yyDollar = yyS[yypt-5 : yypt+1]
|
yyDollar = yyS[yypt-5 : yypt+1]
|
||||||
// line internal/php7/php7.y:4281
|
// line internal/php7/php7.y:4297
|
||||||
{
|
{
|
||||||
if yyDollar[4].token != nil {
|
if yyDollar[4].token != nil {
|
||||||
yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[4].token)
|
yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[3].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[4].token)
|
||||||
@ -7002,7 +7018,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 486:
|
case 486:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:4296
|
// line internal/php7/php7.y:4312
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprEmpty{
|
yyVAL.node = &ast.ExprEmpty{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
||||||
@ -7014,7 +7030,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 487:
|
case 487:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4306
|
// line internal/php7/php7.y:4322
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprInclude{
|
yyVAL.node = &ast.ExprInclude{
|
||||||
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||||
@ -7024,7 +7040,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 488:
|
case 488:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4314
|
// line internal/php7/php7.y:4330
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprIncludeOnce{
|
yyVAL.node = &ast.ExprIncludeOnce{
|
||||||
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||||
@ -7034,7 +7050,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 489:
|
case 489:
|
||||||
yyDollar = yyS[yypt-4 : yypt+1]
|
yyDollar = yyS[yypt-4 : yypt+1]
|
||||||
// line internal/php7/php7.y:4322
|
// line internal/php7/php7.y:4338
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprEval{
|
yyVAL.node = &ast.ExprEval{
|
||||||
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[4].token),
|
||||||
@ -7046,7 +7062,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 490:
|
case 490:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4332
|
// line internal/php7/php7.y:4348
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprRequire{
|
yyVAL.node = &ast.ExprRequire{
|
||||||
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||||
@ -7056,7 +7072,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 491:
|
case 491:
|
||||||
yyDollar = yyS[yypt-2 : yypt+1]
|
yyDollar = yyS[yypt-2 : yypt+1]
|
||||||
// line internal/php7/php7.y:4340
|
// line internal/php7/php7.y:4356
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ExprRequireOnce{
|
yyVAL.node = &ast.ExprRequireOnce{
|
||||||
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
|
||||||
@ -7066,7 +7082,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 492:
|
case 492:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4351
|
// line internal/php7/php7.y:4367
|
||||||
{
|
{
|
||||||
yyVAL.node = &ast.ParserSeparatedList{
|
yyVAL.node = &ast.ParserSeparatedList{
|
||||||
Items: []ast.Vertex{yyDollar[1].node},
|
Items: []ast.Vertex{yyDollar[1].node},
|
||||||
@ -7074,7 +7090,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 493:
|
case 493:
|
||||||
yyDollar = yyS[yypt-3 : yypt+1]
|
yyDollar = yyS[yypt-3 : yypt+1]
|
||||||
// line internal/php7/php7.y:4357
|
// line internal/php7/php7.y:4373
|
||||||
{
|
{
|
||||||
yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns = append(yyDollar[1].node.(*ast.ParserSeparatedList).SeparatorTkns, yyDollar[2].token)
|
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)
|
yyDollar[1].node.(*ast.ParserSeparatedList).Items = append(yyDollar[1].node.(*ast.ParserSeparatedList).Items, yyDollar[3].node)
|
||||||
@ -7083,7 +7099,7 @@ yydefault:
|
|||||||
}
|
}
|
||||||
case 494:
|
case 494:
|
||||||
yyDollar = yyS[yypt-1 : yypt+1]
|
yyDollar = yyS[yypt-1 : yypt+1]
|
||||||
// line internal/php7/php7.y:4367
|
// line internal/php7/php7.y:4383
|
||||||
{
|
{
|
||||||
yyVAL.node = yyDollar[1].node
|
yyVAL.node = yyDollar[1].node
|
||||||
}
|
}
|
||||||
|
@ -3321,7 +3321,7 @@ function_call:
|
|||||||
}
|
}
|
||||||
| class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
|
| class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
|
||||||
{
|
{
|
||||||
$$ = &ast.ExprStaticCall{
|
staticCall := &ast.ExprStaticCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
||||||
Class: $1,
|
Class: $1,
|
||||||
DoubleColonTkn: $2,
|
DoubleColonTkn: $2,
|
||||||
@ -3331,10 +3331,18 @@ function_call:
|
|||||||
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
||||||
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if brackets, ok := $3.(*ast.ParserBrackets); ok {
|
||||||
|
staticCall.OpenCurlyBracketTkn = brackets.OpenBracketTkn
|
||||||
|
staticCall.Call = brackets.Child
|
||||||
|
staticCall.CloseCurlyBracketTkn = brackets.CloseBracketTkn
|
||||||
|
}
|
||||||
|
|
||||||
|
$$ = staticCall
|
||||||
}
|
}
|
||||||
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
|
| variable_class_name T_PAAMAYIM_NEKUDOTAYIM member_name argument_list
|
||||||
{
|
{
|
||||||
$$ = &ast.ExprStaticCall{
|
staticCall := &ast.ExprStaticCall{
|
||||||
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
Position: yylex.(*Parser).builder.NewNodesPosition($1, $4),
|
||||||
Class: $1,
|
Class: $1,
|
||||||
DoubleColonTkn: $2,
|
DoubleColonTkn: $2,
|
||||||
@ -3344,6 +3352,14 @@ function_call:
|
|||||||
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
SeparatorTkns: $4.(*ast.ArgumentList).SeparatorTkns,
|
||||||
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
CloseParenthesisTkn: $4.(*ast.ArgumentList).CloseParenthesisTkn,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if brackets, ok := $3.(*ast.ParserBrackets); ok {
|
||||||
|
staticCall.OpenCurlyBracketTkn = brackets.OpenBracketTkn
|
||||||
|
staticCall.Call = brackets.Child
|
||||||
|
staticCall.CloseCurlyBracketTkn = brackets.CloseBracketTkn
|
||||||
|
}
|
||||||
|
|
||||||
|
$$ = staticCall
|
||||||
}
|
}
|
||||||
| callable_expr argument_list
|
| callable_expr argument_list
|
||||||
{
|
{
|
||||||
|
@ -1681,14 +1681,16 @@ func (n *ExprShellExec) GetPosition() *position.Position {
|
|||||||
|
|
||||||
// ExprStaticCall node
|
// ExprStaticCall node
|
||||||
type ExprStaticCall struct {
|
type ExprStaticCall struct {
|
||||||
Position *position.Position
|
Position *position.Position
|
||||||
Class Vertex
|
Class Vertex
|
||||||
DoubleColonTkn *token.Token
|
DoubleColonTkn *token.Token
|
||||||
Call Vertex
|
OpenCurlyBracketTkn *token.Token
|
||||||
OpenParenthesisTkn *token.Token
|
Call Vertex
|
||||||
Arguments []Vertex
|
CloseCurlyBracketTkn *token.Token
|
||||||
SeparatorTkns []*token.Token
|
OpenParenthesisTkn *token.Token
|
||||||
CloseParenthesisTkn *token.Token
|
Arguments []Vertex
|
||||||
|
SeparatorTkns []*token.Token
|
||||||
|
CloseParenthesisTkn *token.Token
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *ExprStaticCall) Accept(v NodeVisitor) {
|
func (n *ExprStaticCall) Accept(v NodeVisitor) {
|
||||||
|
@ -1473,7 +1473,9 @@ func (v *Dumper) ExprStaticCall(n *ast.ExprStaticCall) {
|
|||||||
v.dumpPosition(n.Position)
|
v.dumpPosition(n.Position)
|
||||||
v.dumpVertex("Class", n.Class)
|
v.dumpVertex("Class", n.Class)
|
||||||
v.dumpToken("DoubleColonTkn", n.DoubleColonTkn)
|
v.dumpToken("DoubleColonTkn", n.DoubleColonTkn)
|
||||||
|
v.dumpToken("OpenCurlyBracketTkn", n.OpenCurlyBracketTkn)
|
||||||
v.dumpVertex("Call", n.Call)
|
v.dumpVertex("Call", n.Call)
|
||||||
|
v.dumpToken("CloseCurlyBracketTkn", n.CloseCurlyBracketTkn)
|
||||||
v.dumpToken("OpenParenthesisTkn", n.OpenParenthesisTkn)
|
v.dumpToken("OpenParenthesisTkn", n.OpenParenthesisTkn)
|
||||||
v.dumpVertexList("Arguments", n.Arguments)
|
v.dumpVertexList("Arguments", n.Arguments)
|
||||||
v.dumpTokenList("SeparatorTkns", n.SeparatorTkns)
|
v.dumpTokenList("SeparatorTkns", n.SeparatorTkns)
|
||||||
|
@ -1394,6 +1394,17 @@ func (f *formatter) ExprShellExec(n *ast.ExprShellExec) {
|
|||||||
func (f *formatter) ExprStaticCall(n *ast.ExprStaticCall) {
|
func (f *formatter) ExprStaticCall(n *ast.ExprStaticCall) {
|
||||||
n.Class.Accept(f)
|
n.Class.Accept(f)
|
||||||
n.DoubleColonTkn = f.newToken(token.T_PAAMAYIM_NEKUDOTAYIM, []byte("::"))
|
n.DoubleColonTkn = f.newToken(token.T_PAAMAYIM_NEKUDOTAYIM, []byte("::"))
|
||||||
|
|
||||||
|
n.OpenCurlyBracketTkn = nil
|
||||||
|
n.CloseCurlyBracketTkn = nil
|
||||||
|
switch n.Call.(type) {
|
||||||
|
case *ast.Identifier:
|
||||||
|
case *ast.ExprVariable:
|
||||||
|
default:
|
||||||
|
n.OpenCurlyBracketTkn = f.newToken('{', []byte("{"))
|
||||||
|
n.CloseCurlyBracketTkn = f.newToken('}', []byte("}"))
|
||||||
|
}
|
||||||
|
|
||||||
n.Call.Accept(f)
|
n.Call.Accept(f)
|
||||||
|
|
||||||
n.OpenParenthesisTkn = f.newToken('(', []byte("("))
|
n.OpenParenthesisTkn = f.newToken('(', []byte("("))
|
||||||
|
@ -4692,6 +4692,36 @@ func TestFormatter_ExprStaticCall(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestFormatter_ExprStaticCall_Expr(t *testing.T) {
|
||||||
|
o := bytes.NewBufferString("")
|
||||||
|
|
||||||
|
n := &ast.ExprStaticCall{
|
||||||
|
Class: &ast.NameName{
|
||||||
|
Parts: []ast.Vertex{
|
||||||
|
&ast.NameNamePart{
|
||||||
|
Value: []byte("foo"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Call: &ast.ScalarString{
|
||||||
|
Value: []byte("'bar'"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
f := visitor.NewFormatter().WithState(visitor.FormatterStatePHP).WithIndent(1)
|
||||||
|
n.Accept(f)
|
||||||
|
|
||||||
|
p := visitor.NewPrinter(o).WithState(visitor.PrinterStatePHP)
|
||||||
|
n.Accept(p)
|
||||||
|
|
||||||
|
expected := `foo::{'bar'}()`
|
||||||
|
actual := o.String()
|
||||||
|
|
||||||
|
if expected != actual {
|
||||||
|
t.Errorf("\nexpected: %s\ngot: %s\n", expected, actual)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestFormatter_ExprStaticCall_Arguments(t *testing.T) {
|
func TestFormatter_ExprStaticCall_Arguments(t *testing.T) {
|
||||||
o := bytes.NewBufferString("")
|
o := bytes.NewBufferString("")
|
||||||
|
|
||||||
|
@ -840,7 +840,9 @@ func (p *printer) ExprShellExec(n *ast.ExprShellExec) {
|
|||||||
func (p *printer) ExprStaticCall(n *ast.ExprStaticCall) {
|
func (p *printer) ExprStaticCall(n *ast.ExprStaticCall) {
|
||||||
p.printNode(n.Class)
|
p.printNode(n.Class)
|
||||||
p.printToken(n.DoubleColonTkn, []byte("::"))
|
p.printToken(n.DoubleColonTkn, []byte("::"))
|
||||||
|
p.printToken(n.OpenCurlyBracketTkn, nil)
|
||||||
p.printNode(n.Call)
|
p.printNode(n.Call)
|
||||||
|
p.printToken(n.CloseCurlyBracketTkn, nil)
|
||||||
p.printToken(n.OpenParenthesisTkn, p.ifNodeList(n.Arguments, []byte("(")))
|
p.printToken(n.OpenParenthesisTkn, p.ifNodeList(n.Arguments, []byte("(")))
|
||||||
p.printSeparatedList(n.Arguments, n.SeparatorTkns, []byte(","))
|
p.printSeparatedList(n.Arguments, n.SeparatorTkns, []byte(","))
|
||||||
p.printToken(n.CloseParenthesisTkn, p.ifNodeList(n.Arguments, []byte(")")))
|
p.printToken(n.CloseParenthesisTkn, p.ifNodeList(n.Arguments, []byte(")")))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user