refactoring: remove ExprReference node

This commit is contained in:
Vadym Slizov
2020-12-26 22:38:35 +02:00
parent 0f5f5e7dc7
commit a593760569
13 changed files with 65 additions and 121 deletions

10
internal/php5/php5.go generated
View File

@@ -3141,12 +3141,12 @@ yydefault:
foreach.Var = yyDollar[6].node.(*ast.StmtForeach).Var
}
if val, ok := foreach.Key.(*ast.ExprReference); ok {
if val, ok := foreach.Key.(*ast.StmtForeach); ok {
yylex.(*Parser).errHandlerFunc(errors.NewError("Key element cannot be a reference", val.AmpersandTkn.Position))
foreach.Key = val.Var
}
if val, ok := foreach.Var.(*ast.ExprReference); ok {
if val, ok := foreach.Var.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -3173,12 +3173,12 @@ yydefault:
foreach.Var = yyDollar[6].node.(*ast.StmtForeach).Var
}
if val, ok := foreach.Key.(*ast.ExprReference); ok {
if val, ok := foreach.Key.(*ast.StmtForeach); ok {
yylex.(*Parser).errHandlerFunc(errors.NewError("Key element cannot be a reference", val.AmpersandTkn.Position))
foreach.Key = val.Var
}
if val, ok := foreach.Var.(*ast.ExprReference); ok {
if val, ok := foreach.Var.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -3627,7 +3627,7 @@ yydefault:
yyDollar = yyS[yypt-2 : yypt+1]
// line internal/php5/php5.y:1464
{
yyVAL.node = &ast.ExprReference{
yyVAL.node = &ast.StmtForeach{
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
AmpersandTkn: yyDollar[1].token,
Var: yyDollar[2].node,

View File

@@ -1000,12 +1000,12 @@ unticked_statement:
foreach.Var = $6.(*ast.StmtForeach).Var
}
if val, ok := foreach.Key.(*ast.ExprReference); ok {
if val, ok := foreach.Key.(*ast.StmtForeach); ok {
yylex.(*Parser).errHandlerFunc(errors.NewError("Key element cannot be a reference", val.AmpersandTkn.Position))
foreach.Key = val.Var
}
if val, ok := foreach.Var.(*ast.ExprReference); ok {
if val, ok := foreach.Var.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -1030,12 +1030,12 @@ unticked_statement:
foreach.Var = $6.(*ast.StmtForeach).Var
}
if val, ok := foreach.Key.(*ast.ExprReference); ok {
if val, ok := foreach.Key.(*ast.StmtForeach); ok {
yylex.(*Parser).errHandlerFunc(errors.NewError("Key element cannot be a reference", val.AmpersandTkn.Position))
foreach.Key = val.Var
}
if val, ok := foreach.Var.(*ast.ExprReference); ok {
if val, ok := foreach.Var.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -1462,7 +1462,7 @@ foreach_variable:
}
| '&' variable
{
$$ = &ast.ExprReference{
$$ = &ast.StmtForeach{
Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2),
AmpersandTkn: $1,
Var: $2,

6
internal/php7/php7.go generated
View File

@@ -3319,7 +3319,7 @@ yydefault:
foreach.Var = yyDollar[5].node
foreach.CloseParenthesisTkn = yyDollar[6].token
if val, ok := yyDollar[5].node.(*ast.ExprReference); ok {
if val, ok := yyDollar[5].node.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -3342,7 +3342,7 @@ yydefault:
foreach.Var = yyDollar[7].node
foreach.CloseParenthesisTkn = yyDollar[8].token
if val, ok := yyDollar[7].node.(*ast.ExprReference); ok {
if val, ok := yyDollar[7].node.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -3731,7 +3731,7 @@ yydefault:
yyDollar = yyS[yypt-2 : yypt+1]
// line internal/php7/php7.y:1361
{
yyVAL.node = &ast.ExprReference{
yyVAL.node = &ast.StmtForeach{
Position: yylex.(*Parser).builder.NewTokenNodePosition(yyDollar[1].token, yyDollar[2].node),
AmpersandTkn: yyDollar[1].token,
Var: yyDollar[2].node,

View File

@@ -972,7 +972,7 @@ statement:
foreach.Var = $5
foreach.CloseParenthesisTkn = $6
if val, ok := $5.(*ast.ExprReference); ok {
if val, ok := $5.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -993,7 +993,7 @@ statement:
foreach.Var = $7
foreach.CloseParenthesisTkn = $8
if val, ok := $7.(*ast.ExprReference); ok {
if val, ok := $7.(*ast.StmtForeach); ok {
foreach.AmpersandTkn = val.AmpersandTkn
foreach.Var = val.Var
}
@@ -1359,7 +1359,7 @@ foreach_variable:
}
| '&' variable
{
$$ = &ast.ExprReference{
$$ = &ast.StmtForeach{
Position: yylex.(*Parser).builder.NewTokenNodePosition($1, $2),
AmpersandTkn: $1,
Var: $2,