[refactoring] update ast structure of "Print", "Reference", "Require" and "RequireOnce" nodes

This commit is contained in:
Vadym Slizov
2020-12-03 22:20:50 +02:00
parent 45e959056b
commit 592c9b9aff
5 changed files with 491 additions and 469 deletions

472
internal/php5/php5.go generated

File diff suppressed because it is too large Load Diff

View File

@@ -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,
}
}
;