[refactoring] update ast structure of "Break", "Continue" nodes

This commit is contained in:
Vadym Slizov
2020-09-06 13:02:13 +03:00
parent f6cb2bff4d
commit e817f8dd8d
9 changed files with 1089 additions and 1108 deletions

1022
internal/php7/php7.go generated

File diff suppressed because it is too large Load Diff

View File

@@ -919,27 +919,25 @@ statement:
}
| T_BREAK optional_expr ';'
{
$$ = &ast.StmtBreak{ast.Node{}, $2}
// save position
$$.GetNode().Position = position.NewTokensPosition($1, $3)
// save comments
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens)
yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens)
$$ = &ast.StmtBreak{
Node: ast.Node{
Position: position.NewTokensPosition($1, $3),
},
BreakTkn: $1,
Expr: $2,
SemiColonTkn: $3,
}
}
| T_CONTINUE optional_expr ';'
{
$$ = &ast.StmtContinue{ast.Node{}, $2}
// save position
$$.GetNode().Position = position.NewTokensPosition($1, $3)
// save comments
yylex.(*Parser).setFreeFloating($$, token.Start, $1.SkippedTokens)
yylex.(*Parser).setFreeFloating($$, token.Expr, $3.SkippedTokens)
yylex.(*Parser).setToken($$, token.SemiColon, $3.SkippedTokens)
$$ = &ast.StmtContinue{
Node: ast.Node{
Position: position.NewTokensPosition($1, $3),
},
ContinueTkn: $1,
Expr: $2,
SemiColonTkn: $3,
}
}
| T_RETURN optional_expr ';'
{