refactoring: create "ScalarEncapsedStringBrackets" node

This commit is contained in:
Vadym Slizov
2020-12-28 00:53:48 +02:00
parent 38141ce97f
commit 2990f0cc2d
14 changed files with 120 additions and 78 deletions

View File

@@ -3975,14 +3975,14 @@ func TestScalarEncapsed_StringVarCurveOpen(t *testing.T) {
Value: []byte("$a"),
},
},
&ast.ParserBrackets{
&ast.ScalarEncapsedStringBrackets{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 7,
EndPos: 11,
},
OpenBracketTkn: &token.Token{
OpenCurlyBracketTkn: &token.Token{
ID: token.T_CURLY_OPEN,
Value: []byte("{"),
Position: &position.Position{
@@ -3992,7 +3992,7 @@ func TestScalarEncapsed_StringVarCurveOpen(t *testing.T) {
EndPos: 8,
},
},
Child: &ast.ExprVariable{
Var: &ast.ExprVariable{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
@@ -4019,7 +4019,7 @@ func TestScalarEncapsed_StringVarCurveOpen(t *testing.T) {
Value: []byte("$b"),
},
},
CloseBracketTkn: &token.Token{
CloseCurlyBracketTkn: &token.Token{
ID: token.ID(125),
Value: []byte("}"),
Position: &position.Position{
@@ -4690,14 +4690,14 @@ func TestScalarEncapsed_CurlyOpenMethodCall(t *testing.T) {
},
Value: []byte("test "),
},
&ast.ParserBrackets{
&ast.ScalarEncapsedStringBrackets{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
StartPos: 9,
EndPos: 22,
},
OpenBracketTkn: &token.Token{
OpenCurlyBracketTkn: &token.Token{
ID: token.T_CURLY_OPEN,
Value: []byte("{"),
Position: &position.Position{
@@ -4707,7 +4707,7 @@ func TestScalarEncapsed_CurlyOpenMethodCall(t *testing.T) {
EndPos: 10,
},
},
Child: &ast.ExprMethodCall{
Var: &ast.ExprMethodCall{
Position: &position.Position{
StartLine: 1,
EndLine: 1,
@@ -4791,7 +4791,7 @@ func TestScalarEncapsed_CurlyOpenMethodCall(t *testing.T) {
},
},
},
CloseBracketTkn: &token.Token{
CloseCurlyBracketTkn: &token.Token{
ID: token.ID(125),
Value: []byte("}"),
Position: &position.Position{

10
internal/php5/php5.go generated
View File

@@ -8039,11 +8039,11 @@ yydefault:
yyDollar = yyS[yypt-3 : yypt+1]
// line internal/php5/php5.y:5452
{
yyVAL.node = &ast.ParserBrackets{
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
OpenBracketTkn: yyDollar[1].token,
Child: yyDollar[2].node,
CloseBracketTkn: yyDollar[3].token,
yyVAL.node = &ast.ScalarEncapsedStringBrackets{
Position: yylex.(*Parser).builder.NewTokensPosition(yyDollar[1].token, yyDollar[3].token),
OpenCurlyBracketTkn: yyDollar[1].token,
Var: yyDollar[2].node,
CloseCurlyBracketTkn: yyDollar[3].token,
}
}
case 502:

View File

@@ -5450,11 +5450,11 @@ encaps_var:
}
| T_CURLY_OPEN variable '}'
{
$$ = &ast.ParserBrackets{
Position: yylex.(*Parser).builder.NewTokensPosition($1, $3),
OpenBracketTkn: $1,
Child: $2,
CloseBracketTkn: $3,
$$ = &ast.ScalarEncapsedStringBrackets{
Position: yylex.(*Parser).builder.NewTokensPosition($1, $3),
OpenCurlyBracketTkn: $1,
Var: $2,
CloseCurlyBracketTkn: $3,
}
}
;