refactoring: update ast structure of "Variable" node

This commit is contained in:
Vadym Slizov
2020-12-27 21:55:36 +02:00
parent 69919594fd
commit 2c09138600
12 changed files with 589 additions and 578 deletions

View File

@@ -16726,90 +16726,82 @@ func TestStmtGlobal_Vars(t *testing.T) {
},
},
},
VarName: &ast.ParserBrackets{
OpenCurlyBracketTkn: &token.Token{
ID: token.ID(123),
Value: []byte("{"),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 24,
EndPos: 31,
EndPos: 25,
},
OpenBracketTkn: &token.Token{
ID: token.ID(123),
Value: []byte("{"),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 24,
EndPos: 25,
},
},
VarName: &ast.ExprFunctionCall{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 25,
EndPos: 30,
},
Child: &ast.ExprFunctionCall{
Function: &ast.NameName{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 25,
EndPos: 30,
EndPos: 28,
},
Function: &ast.NameName{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 25,
EndPos: 28,
},
Parts: []ast.Vertex{
&ast.NameNamePart{
Parts: []ast.Vertex{
&ast.NameNamePart{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 25,
EndPos: 28,
},
StringTkn: &token.Token{
ID: token.T_STRING,
Value: []byte("foo"),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 25,
EndPos: 28,
},
StringTkn: &token.Token{
ID: token.T_STRING,
Value: []byte("foo"),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 25,
EndPos: 28,
},
},
Value: []byte("foo"),
},
},
},
OpenParenthesisTkn: &token.Token{
ID: token.ID(40),
Value: []byte("("),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 28,
EndPos: 29,
},
},
CloseParenthesisTkn: &token.Token{
ID: token.ID(41),
Value: []byte(")"),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 29,
EndPos: 30,
Value: []byte("foo"),
},
},
},
CloseBracketTkn: &token.Token{
ID: token.ID(125),
Value: []byte("}"),
OpenParenthesisTkn: &token.Token{
ID: token.ID(40),
Value: []byte("("),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 30,
EndPos: 31,
StartPos: 28,
EndPos: 29,
},
},
CloseParenthesisTkn: &token.Token{
ID: token.ID(41),
Value: []byte(")"),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 29,
EndPos: 30,
},
},
},
CloseCurlyBracketTkn: &token.Token{
ID: token.ID(125),
Value: []byte("}"),
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 30,
EndPos: 31,
},
},
},
},

740
internal/php5/php5.go generated

File diff suppressed because it is too large Load Diff

View File

@@ -2022,14 +2022,11 @@ global_var:
| '$' '{' expr '}'
{
$$ = &ast.ExprVariable{
Position: yylex.(*Parser).builder.NewTokensPosition($1, $4),
DollarTkn: $1,
VarName: &ast.ParserBrackets{
Position: yylex.(*Parser).builder.NewTokensPosition($2, $4),
OpenBracketTkn: $2,
Child: $3,
CloseBracketTkn: $4,
},
Position: yylex.(*Parser).builder.NewTokensPosition($1, $4),
DollarTkn: $1,
OpenCurlyBracketTkn: $2,
VarName: $3,
CloseCurlyBracketTkn: $4,
}
}
;
@@ -5017,14 +5014,11 @@ compound_variable:
| '$' '{' expr '}'
{
$$ = &ast.ExprVariable{
Position: yylex.(*Parser).builder.NewTokensPosition($1, $4),
DollarTkn: $1,
VarName: &ast.ParserBrackets{
Position: yylex.(*Parser).builder.NewTokensPosition($2, $4),
OpenBracketTkn: $2,
Child: $3,
CloseBracketTkn: $4,
},
Position: yylex.(*Parser).builder.NewTokensPosition($1, $4),
DollarTkn: $1,
OpenCurlyBracketTkn: $2,
VarName: $3,
CloseCurlyBracketTkn: $4,
}
}
;