From ee3fe3b5c0933501cc219e01f2e504bf823ce647 Mon Sep 17 00:00:00 2001 From: Vadym Slizov Date: Tue, 30 Jun 2020 00:45:15 +0300 Subject: [PATCH] [refactoring] keep $ in variable identifier --- internal/php5/parser.go | 19 - internal/php5/parser_test.go | 558 ++++++++++---------- internal/php5/php5.go | Bin 342054 -> 339846 bytes internal/php5/php5.y | 73 +-- internal/php5/php5_test.go | 666 ++++++++++++------------ internal/php7/parser.go | 17 - internal/php7/parser_test.go | 606 ++++++++++----------- internal/php7/php7.go | Bin 280801 -> 278533 bytes internal/php7/php7.y | 44 +- internal/php7/php7_test.go | 580 ++++++++++----------- pkg/printer/printer.go | 7 +- pkg/printer/printer_parsed_php5_test.go | 2 +- pkg/printer/printer_test.go | 533 +++++++++---------- 13 files changed, 1506 insertions(+), 1599 deletions(-) diff --git a/internal/php5/parser.go b/internal/php5/parser.go index f7c244f..02bc113 100644 --- a/internal/php5/parser.go +++ b/internal/php5/parser.go @@ -2,7 +2,6 @@ package php5 import ( "bytes" - "fmt" "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" @@ -63,10 +62,6 @@ func lastNode(nn []ast.Vertex) ast.Vertex { return nn[len(nn)-1] } -func isDollar(r rune) bool { - return r == '$' -} - func (p *Parser) MoveFreeFloating(src ast.Vertex, dst ast.Vertex) { if p.withTokens == false { return @@ -110,19 +105,6 @@ func (p *Parser) GetFreeFloatingToken(t *scanner.Token) []token.Token { } } -func (p *Parser) addDollarToken(v ast.Vertex) { - if p.withTokens == false { - return - } - - p.setFreeFloating(v, token.Dollar, []token.Token{ - { - ID: token.ID('$'), - Value: []byte("$"), - }, - }) -} - func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast.Vertex) { if p.withTokens == false { return @@ -144,7 +126,6 @@ func (p *Parser) splitSemiColonAndPhpCloseTag(htmlNode ast.Vertex, prevNode ast. } vlen := len(semiColon[0].Value) - fmt.Printf("vlen: %q\n", string(semiColon[0].Value)) tlen := 2 if bytes.HasSuffix(semiColon[0].Value, []byte("?>\n")) { diff --git a/internal/php5/parser_test.go b/internal/php5/parser_test.go index ec349e5..223eb2b 100644 --- a/internal/php5/parser_test.go +++ b/internal/php5/parser_test.go @@ -51,7 +51,7 @@ func TestIdentifier(t *testing.T) { EndPos: 7, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, }, @@ -165,7 +165,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -198,7 +198,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 19, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -242,7 +242,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 28, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, ArgumentList: &ast.ArgumentList{ @@ -284,7 +284,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 31, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -317,7 +317,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 38, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -361,7 +361,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 47, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Method: &ast.Identifier{ @@ -414,7 +414,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 55, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -447,7 +447,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 62, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -546,7 +546,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 78, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -579,7 +579,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 85, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -623,7 +623,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 94, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Call: &ast.Identifier{ @@ -676,7 +676,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 102, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -709,7 +709,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 109, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -797,7 +797,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 124, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -830,7 +830,7 @@ func TestPhp5ArgumentNode(t *testing.T) { EndPos: 131, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -940,7 +940,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 27, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -1029,7 +1029,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 46, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -1144,7 +1144,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 92, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -1233,7 +1233,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 111, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -1325,7 +1325,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 136, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -1414,7 +1414,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 155, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -1495,7 +1495,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 187, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -1584,7 +1584,7 @@ func TestPhp5ParameterNode(t *testing.T) { EndPos: 206, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -1917,7 +1917,7 @@ func TestScalarEncapsed_SimpleVar(t *testing.T) { EndPos: 13, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, }, @@ -1994,7 +1994,7 @@ func TestScalarEncapsed_SimpleVarOneChar(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -2071,7 +2071,7 @@ func TestScalarEncapsed_SimpleVarEndsEcapsed(t *testing.T) { EndPos: 13, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, &ast.ScalarEncapsedStringPart{ @@ -2159,7 +2159,7 @@ func TestScalarEncapsed_StringVarCurveOpen(t *testing.T) { EndPos: 7, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ExprVariable{ @@ -2180,7 +2180,7 @@ func TestScalarEncapsed_StringVarCurveOpen(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -2266,7 +2266,7 @@ func TestScalarEncapsed_SimpleVarPropertyFetch(t *testing.T) { EndPos: 13, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Property: &ast.Identifier{ @@ -2550,7 +2550,7 @@ func TestScalarEncapsed_CurlyOpenMethodCall(t *testing.T) { EndPos: 14, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Method: &ast.Identifier{ @@ -2653,7 +2653,7 @@ LBL; EndPos: 19, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, &ast.ScalarEncapsedStringPart{ @@ -2745,7 +2745,7 @@ LBL; EndPos: 21, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, &ast.ScalarEncapsedStringPart{ @@ -3560,7 +3560,7 @@ func TestStmtAltIf_AltIf(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3629,7 +3629,7 @@ func TestStmtAltIf_AltElseIf(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3671,7 +3671,7 @@ func TestStmtAltIf_AltElseIf(t *testing.T) { EndPos: 27, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -3742,7 +3742,7 @@ func TestStmtAltIf_AltElse(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3834,7 +3834,7 @@ func TestStmtAltIf_AltElseElseIf(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3876,7 +3876,7 @@ func TestStmtAltIf_AltElseElseIf(t *testing.T) { EndPos: 27, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -3918,7 +3918,7 @@ func TestStmtAltIf_AltElseElseIf(t *testing.T) { EndPos: 42, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, Stmt: &ast.StmtStmtList{ @@ -5618,7 +5618,7 @@ func TestStmtEcho(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ScalarLnumber{ @@ -5685,7 +5685,7 @@ func TestStmtEcho_Parenthesis(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -5794,7 +5794,7 @@ func TestStmtFor(t *testing.T) { EndPos: 9, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, Expr: &ast.ScalarLnumber{ @@ -5838,7 +5838,7 @@ func TestStmtFor(t *testing.T) { EndPos: 17, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, Right: &ast.ScalarLnumber{ @@ -5882,7 +5882,7 @@ func TestStmtFor(t *testing.T) { EndPos: 26, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, }, @@ -5913,7 +5913,7 @@ func TestStmtFor(t *testing.T) { EndPos: 32, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, }, @@ -5990,7 +5990,7 @@ func TestStmtFor_Alt(t *testing.T) { EndPos: 11, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, Right: &ast.ScalarLnumber{ @@ -6034,7 +6034,7 @@ func TestStmtFor_Alt(t *testing.T) { EndPos: 20, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, }, @@ -6101,7 +6101,7 @@ func TestStmtForeach(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Var: &ast.ExprVariable{ @@ -6122,7 +6122,7 @@ func TestStmtForeach(t *testing.T) { EndPos: 20, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -6198,7 +6198,7 @@ func TestStmtForeach_Expr(t *testing.T) { EndPos: 20, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -6263,7 +6263,7 @@ func TestStmtForeach_Alt(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Var: &ast.ExprVariable{ @@ -6284,7 +6284,7 @@ func TestStmtForeach_Alt(t *testing.T) { EndPos: 20, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -6349,7 +6349,7 @@ func TestStmtForeach_WithKey(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -6370,7 +6370,7 @@ func TestStmtForeach_WithKey(t *testing.T) { EndPos: 20, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprVariable{ @@ -6391,7 +6391,7 @@ func TestStmtForeach_WithKey(t *testing.T) { EndPos: 26, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -6467,7 +6467,7 @@ func TestStmtForeach_ExprWithKey(t *testing.T) { EndPos: 20, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprVariable{ @@ -6488,7 +6488,7 @@ func TestStmtForeach_ExprWithKey(t *testing.T) { EndPos: 26, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -6553,7 +6553,7 @@ func TestStmtForeach_WithRef(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -6574,7 +6574,7 @@ func TestStmtForeach_WithRef(t *testing.T) { EndPos: 20, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprReference{ @@ -6604,7 +6604,7 @@ func TestStmtForeach_WithRef(t *testing.T) { EndPos: 27, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, }, @@ -6670,7 +6670,7 @@ func TestStmtForeach_WithList(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -6691,7 +6691,7 @@ func TestStmtForeach_WithList(t *testing.T) { EndPos: 20, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprList{ @@ -6731,7 +6731,7 @@ func TestStmtForeach_WithList(t *testing.T) { EndPos: 31, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, }, @@ -6937,7 +6937,7 @@ func TestStmtFunction_ReturnVar(t *testing.T) { EndPos: 24, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -6981,7 +6981,7 @@ func TestStmtFunction_ReturnVar(t *testing.T) { EndPos: 37, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -7014,7 +7014,7 @@ func TestStmtFunction_ReturnVar(t *testing.T) { EndPos: 49, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -7139,7 +7139,7 @@ func TestStmtGlobal(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -7195,7 +7195,7 @@ func TestStmtGlobal_Vars(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ExprVariable{ @@ -7216,7 +7216,7 @@ func TestStmtGlobal_Vars(t *testing.T) { EndPos: 16, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, &ast.ExprVariable{ @@ -7246,7 +7246,7 @@ func TestStmtGlobal_Vars(t *testing.T) { EndPos: 21, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -7453,7 +7453,7 @@ func TestStmtIf(t *testing.T) { EndPos: 9, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -7518,7 +7518,7 @@ func TestStmtIf_ElseIf(t *testing.T) { EndPos: 9, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -7560,7 +7560,7 @@ func TestStmtIf_ElseIf(t *testing.T) { EndPos: 24, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -7627,7 +7627,7 @@ func TestStmtIf_Else(t *testing.T) { EndPos: 9, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -7713,7 +7713,7 @@ func TestStmtIf_ElseElseIf(t *testing.T) { EndPos: 9, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -7755,7 +7755,7 @@ func TestStmtIf_ElseElseIf(t *testing.T) { EndPos: 24, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -7797,7 +7797,7 @@ func TestStmtIf_ElseElseIf(t *testing.T) { EndPos: 39, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, Stmt: &ast.StmtStmtList{ @@ -7885,7 +7885,7 @@ func TestStmtIf_ElseIfElseIfElse(t *testing.T) { EndPos: 9, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -7927,7 +7927,7 @@ func TestStmtIf_ElseIfElseIfElse(t *testing.T) { EndPos: 24, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -7979,7 +7979,7 @@ func TestStmtIf_ElseIfElseIfElse(t *testing.T) { EndPos: 40, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, Stmt: &ast.StmtStmtList{ @@ -8530,7 +8530,7 @@ func TestStmtProperty(t *testing.T) { EndPos: 20, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -8643,7 +8643,7 @@ func TestStmtProperty_Properties(t *testing.T) { EndPos: 30, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -8674,7 +8674,7 @@ func TestStmtProperty_Properties(t *testing.T) { EndPos: 34, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Expr: &ast.ScalarLnumber{ @@ -8798,7 +8798,7 @@ func TestStmtProperty_Properties2(t *testing.T) { EndPos: 30, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ScalarLnumber{ @@ -8840,7 +8840,7 @@ func TestStmtProperty_Properties2(t *testing.T) { EndPos: 38, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -8908,7 +8908,7 @@ func TestStmtStaticVar(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -8974,7 +8974,7 @@ func TestStmtStaticVar_Vars(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -9005,7 +9005,7 @@ func TestStmtStaticVar_Vars(t *testing.T) { EndPos: 16, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Expr: &ast.ScalarLnumber{ @@ -9082,7 +9082,7 @@ func TestStmtStaticVar_Vars2(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ScalarLnumber{ @@ -9124,7 +9124,7 @@ func TestStmtStaticVar_Vars2(t *testing.T) { EndPos: 20, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -9656,7 +9656,7 @@ func TestStmtThrow(t *testing.T) { EndPos: 11, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, }, @@ -10759,7 +10759,7 @@ func TestStmtTry_TryCatch(t *testing.T) { EndPos: 32, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -10854,7 +10854,7 @@ func TestStmtTry_TryCatchCatch(t *testing.T) { EndPos: 32, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -10911,7 +10911,7 @@ func TestStmtTry_TryCatchCatch(t *testing.T) { EndPos: 63, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -11006,7 +11006,7 @@ func TestStmtTry_TryCatchFinally(t *testing.T) { EndPos: 32, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -11110,7 +11110,7 @@ func TestStmtTry_TryCatchCatchCatch(t *testing.T) { EndPos: 29, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -11167,7 +11167,7 @@ func TestStmtTry_TryCatchCatchCatch(t *testing.T) { EndPos: 61, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -11224,7 +11224,7 @@ func TestStmtTry_TryCatchCatchCatch(t *testing.T) { EndPos: 103, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -11282,7 +11282,7 @@ func TestStmtUnset(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11338,7 +11338,7 @@ func TestStmtUnset_Vars(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ExprVariable{ @@ -11359,7 +11359,7 @@ func TestStmtUnset_Vars(t *testing.T) { EndPos: 15, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -12565,7 +12565,7 @@ func TestExprArrayDimFetch(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Dim: &ast.ScalarLnumber{ @@ -12649,7 +12649,7 @@ func TestExprArrayDimFetch_Nested(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Dim: &ast.ScalarLnumber{ @@ -12897,7 +12897,7 @@ func TestExprArray_Items(t *testing.T) { EndPos: 18, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -12965,7 +12965,7 @@ func TestExprBitwiseNot(t *testing.T) { EndPos: 6, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13029,7 +13029,7 @@ func TestExprBooleanNot(t *testing.T) { EndPos: 6, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13235,7 +13235,7 @@ func TestExprClone_Brackets(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13299,7 +13299,7 @@ func TestExprClone(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13423,7 +13423,7 @@ func TestExprClosure_Use(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13456,7 +13456,7 @@ func TestExprClosure_Use(t *testing.T) { EndPos: 18, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -13489,7 +13489,7 @@ func TestExprClosure_Use(t *testing.T) { EndPos: 27, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, &ast.ExprReference{ @@ -13519,7 +13519,7 @@ func TestExprClosure_Use(t *testing.T) { EndPos: 32, }, }, - Value: []byte("d"), + Value: []byte("$d"), }, }, }, @@ -13601,7 +13601,7 @@ func TestExprClosure_Use2(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13634,7 +13634,7 @@ func TestExprClosure_Use2(t *testing.T) { EndPos: 18, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -13676,7 +13676,7 @@ func TestExprClosure_Use2(t *testing.T) { EndPos: 28, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -13698,7 +13698,7 @@ func TestExprClosure_Use2(t *testing.T) { EndPos: 32, }, }, - Value: []byte("d"), + Value: []byte("$d"), }, }, }, @@ -13963,7 +13963,7 @@ func TestExprEmpty(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14027,7 +14027,7 @@ func TestExprErrorSuppress(t *testing.T) { EndPos: 6, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14091,7 +14091,7 @@ func TestExprEval(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14244,7 +14244,7 @@ func TestExprExit_Expr(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14397,7 +14397,7 @@ func TestExprDie_Expr(t *testing.T) { EndPos: 9, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14714,7 +14714,7 @@ func TestExprFunctionCall_Var(t *testing.T) { EndPos: 7, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, ArgumentList: &ast.ArgumentList{ @@ -14765,7 +14765,7 @@ func TestExprFunctionCall_Var(t *testing.T) { EndPos: 16, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14886,7 +14886,7 @@ func TestExprFunctionCall_ExprArg(t *testing.T) { EndPos: 12, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Right: &ast.ScalarLnumber{ @@ -14965,7 +14965,7 @@ func TestExprPostDec(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15029,7 +15029,7 @@ func TestExprPostInc(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15093,7 +15093,7 @@ func TestExprPreDec(t *testing.T) { EndPos: 7, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15157,7 +15157,7 @@ func TestExprPreInc(t *testing.T) { EndPos: 7, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15221,7 +15221,7 @@ func TestExprInclude(t *testing.T) { EndPos: 13, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15285,7 +15285,7 @@ func TestExprInclude_Once(t *testing.T) { EndPos: 18, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15349,7 +15349,7 @@ func TestExprRequire(t *testing.T) { EndPos: 13, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15413,7 +15413,7 @@ func TestExprRequire_Once(t *testing.T) { EndPos: 18, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15477,7 +15477,7 @@ func TestExprInstanceOf(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Class: &ast.NameName{ @@ -15564,7 +15564,7 @@ func TestExprInstanceOf_Relative(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Class: &ast.NameRelative{ @@ -15651,7 +15651,7 @@ func TestExprInstanceOf_FullyQualified(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Class: &ast.NameFullyQualified{ @@ -15739,7 +15739,7 @@ func TestExprIsset(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15805,7 +15805,7 @@ func TestExprIsset_Variables(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ExprVariable{ @@ -15826,7 +15826,7 @@ func TestExprIsset_Variables(t *testing.T) { EndPos: 15, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15902,7 +15902,7 @@ func TestExprList_Empty(t *testing.T) { EndPos: 14, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15985,7 +15985,7 @@ func TestExprList(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -16009,7 +16009,7 @@ func TestExprList(t *testing.T) { EndPos: 16, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16101,7 +16101,7 @@ func TestExprList_ArrayIndex(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -16126,7 +16126,7 @@ func TestExprList_ArrayIndex(t *testing.T) { EndPos: 18, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16228,7 +16228,7 @@ func TestExprList_List(t *testing.T) { EndPos: 15, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -16255,7 +16255,7 @@ func TestExprList_List(t *testing.T) { EndPos: 22, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16339,7 +16339,7 @@ func TestExprList_EmptyItem(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -16363,7 +16363,7 @@ func TestExprList_EmptyItem(t *testing.T) { EndPos: 18, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16448,7 +16448,7 @@ func TestExprList_EmptyItems(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -16473,7 +16473,7 @@ func TestExprList_EmptyItems(t *testing.T) { EndPos: 22, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16537,7 +16537,7 @@ func TestExprMethodCall(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Method: &ast.Identifier{ @@ -16840,7 +16840,7 @@ func TestExprPrint(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -16904,7 +16904,7 @@ func TestExprPropertyFetch(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Property: &ast.Identifier{ @@ -16971,7 +16971,7 @@ func TestExprReference_ForeachWithRef(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -16992,7 +16992,7 @@ func TestExprReference_ForeachWithRef(t *testing.T) { EndPos: 20, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprReference{ @@ -17022,7 +17022,7 @@ func TestExprReference_ForeachWithRef(t *testing.T) { EndPos: 27, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, }, @@ -17109,7 +17109,7 @@ func TestExprShellExec(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -17335,7 +17335,7 @@ func TestExprShortArray_Items(t *testing.T) { EndPos: 13, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17687,7 +17687,7 @@ func TestExprStaticCall_Var(t *testing.T) { EndPos: 12, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, ArgumentList: &ast.ArgumentList{ @@ -17761,7 +17761,7 @@ func TestExprStaticCall_VarVar(t *testing.T) { EndPos: 7, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Call: &ast.ExprVariable{ @@ -17782,7 +17782,7 @@ func TestExprStaticCall_VarVar(t *testing.T) { EndPos: 13, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, ArgumentList: &ast.ArgumentList{ @@ -17879,7 +17879,7 @@ func TestExprStaticPropertyFetch(t *testing.T) { EndPos: 12, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -17966,7 +17966,7 @@ func TestExprStaticPropertyFetch_Relative(t *testing.T) { EndPos: 22, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -18053,7 +18053,7 @@ func TestExprStaticPropertyFetch_FullyQualified(t *testing.T) { EndPos: 13, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -18117,7 +18117,7 @@ func TestExprTernary(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfTrue: &ast.ExprVariable{ @@ -18138,7 +18138,7 @@ func TestExprTernary(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, IfFalse: &ast.ExprVariable{ @@ -18159,7 +18159,7 @@ func TestExprTernary(t *testing.T) { EndPos: 15, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -18223,7 +18223,7 @@ func TestExprTernary_Simple(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfFalse: &ast.ExprVariable{ @@ -18244,7 +18244,7 @@ func TestExprTernary_Simple(t *testing.T) { EndPos: 12, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -18308,7 +18308,7 @@ func TestExprTernary_NestedTrue(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfTrue: &ast.ExprTernary{ @@ -18338,7 +18338,7 @@ func TestExprTernary_NestedTrue(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, IfTrue: &ast.ExprVariable{ @@ -18359,7 +18359,7 @@ func TestExprTernary_NestedTrue(t *testing.T) { EndPos: 15, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, IfFalse: &ast.ExprVariable{ @@ -18380,7 +18380,7 @@ func TestExprTernary_NestedTrue(t *testing.T) { EndPos: 20, }, }, - Value: []byte("d"), + Value: []byte("$d"), }, }, }, @@ -18402,7 +18402,7 @@ func TestExprTernary_NestedTrue(t *testing.T) { EndPos: 25, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, }, @@ -18475,7 +18475,7 @@ func TestExprTernary_NestedCond(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfTrue: &ast.ExprVariable{ @@ -18496,7 +18496,7 @@ func TestExprTernary_NestedCond(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, IfFalse: &ast.ExprVariable{ @@ -18517,7 +18517,7 @@ func TestExprTernary_NestedCond(t *testing.T) { EndPos: 15, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -18539,7 +18539,7 @@ func TestExprTernary_NestedCond(t *testing.T) { EndPos: 20, }, }, - Value: []byte("d"), + Value: []byte("$d"), }, }, IfFalse: &ast.ExprVariable{ @@ -18560,7 +18560,7 @@ func TestExprTernary_NestedCond(t *testing.T) { EndPos: 25, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, }, @@ -18624,7 +18624,7 @@ func TestExprUnaryMinus(t *testing.T) { EndPos: 6, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -18688,7 +18688,7 @@ func TestExprUnaryPlus(t *testing.T) { EndPos: 6, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -18743,7 +18743,7 @@ func TestExprVariable(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -18806,7 +18806,7 @@ func TestExprVariable_Variable(t *testing.T) { EndPos: 6, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -18913,7 +18913,7 @@ func TestExprYield_Val(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -18977,7 +18977,7 @@ func TestExprYield_KeyVal(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Value: &ast.ExprVariable{ @@ -18998,7 +18998,7 @@ func TestExprYield_KeyVal(t *testing.T) { EndPos: 17, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19116,7 +19116,7 @@ func TestExprYield_KeyExpr(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Value: &ast.ScalarLnumber{ @@ -19193,7 +19193,7 @@ func TestExprAssign_Assign(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -19214,7 +19214,7 @@ func TestExprAssign_Assign(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19278,7 +19278,7 @@ func TestExprAssign_Reference(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -19299,7 +19299,7 @@ func TestExprAssign_Reference(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19363,7 +19363,7 @@ func TestExprAssign_ReferenceNew(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprNew{ @@ -19460,7 +19460,7 @@ func TestExprAssign_ReferenceArgs(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprNew{ @@ -19534,7 +19534,7 @@ func TestExprAssign_ReferenceArgs(t *testing.T) { EndPos: 19, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19602,7 +19602,7 @@ func TestExprAssign_BitwiseAnd(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -19623,7 +19623,7 @@ func TestExprAssign_BitwiseAnd(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19687,7 +19687,7 @@ func TestExprAssign_BitwiseOr(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -19708,7 +19708,7 @@ func TestExprAssign_BitwiseOr(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19772,7 +19772,7 @@ func TestExprAssign_BitwiseXor(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -19793,7 +19793,7 @@ func TestExprAssign_BitwiseXor(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19857,7 +19857,7 @@ func TestExprAssign_Concat(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -19878,7 +19878,7 @@ func TestExprAssign_Concat(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19942,7 +19942,7 @@ func TestExprAssign_Div(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -19963,7 +19963,7 @@ func TestExprAssign_Div(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20027,7 +20027,7 @@ func TestExprAssign_Minus(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -20048,7 +20048,7 @@ func TestExprAssign_Minus(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20112,7 +20112,7 @@ func TestExprAssign_Mod(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -20133,7 +20133,7 @@ func TestExprAssign_Mod(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20197,7 +20197,7 @@ func TestExprAssign_Mul(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -20218,7 +20218,7 @@ func TestExprAssign_Mul(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20282,7 +20282,7 @@ func TestExprAssign_Plus(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -20303,7 +20303,7 @@ func TestExprAssign_Plus(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20367,7 +20367,7 @@ func TestExprAssign_Pow(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -20388,7 +20388,7 @@ func TestExprAssign_Pow(t *testing.T) { EndPos: 12, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20452,7 +20452,7 @@ func TestExprAssign_ShiftLeft(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -20473,7 +20473,7 @@ func TestExprAssign_ShiftLeft(t *testing.T) { EndPos: 12, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20537,7 +20537,7 @@ func TestExprAssign_ShiftRight(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -20558,7 +20558,7 @@ func TestExprAssign_ShiftRight(t *testing.T) { EndPos: 12, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20624,7 +20624,7 @@ func TestExprBinary_BitwiseAnd(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -20645,7 +20645,7 @@ func TestExprBinary_BitwiseAnd(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20709,7 +20709,7 @@ func TestExprBinary_BitwiseOr(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -20730,7 +20730,7 @@ func TestExprBinary_BitwiseOr(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20794,7 +20794,7 @@ func TestExprBinary_BitwiseXor(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -20815,7 +20815,7 @@ func TestExprBinary_BitwiseXor(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20879,7 +20879,7 @@ func TestExprBinary_BooleanAnd(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -20900,7 +20900,7 @@ func TestExprBinary_BooleanAnd(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -20964,7 +20964,7 @@ func TestExprBinary_BooleanOr(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -20985,7 +20985,7 @@ func TestExprBinary_BooleanOr(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21049,7 +21049,7 @@ func TestExprBinary_Concat(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21070,7 +21070,7 @@ func TestExprBinary_Concat(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21134,7 +21134,7 @@ func TestExprBinary_Div(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21155,7 +21155,7 @@ func TestExprBinary_Div(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21219,7 +21219,7 @@ func TestExprBinary_Equal(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21240,7 +21240,7 @@ func TestExprBinary_Equal(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21304,7 +21304,7 @@ func TestExprBinary_GreaterOrEqual(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21325,7 +21325,7 @@ func TestExprBinary_GreaterOrEqual(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21389,7 +21389,7 @@ func TestExprBinary_Greater(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21410,7 +21410,7 @@ func TestExprBinary_Greater(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21474,7 +21474,7 @@ func TestExprBinary_Identical(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21495,7 +21495,7 @@ func TestExprBinary_Identical(t *testing.T) { EndPos: 12, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21559,7 +21559,7 @@ func TestExprBinary_LogicalAnd(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21580,7 +21580,7 @@ func TestExprBinary_LogicalAnd(t *testing.T) { EndPos: 12, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21644,7 +21644,7 @@ func TestExprBinary_LogicalOr(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21665,7 +21665,7 @@ func TestExprBinary_LogicalOr(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21729,7 +21729,7 @@ func TestExprBinary_LogicalXor(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21750,7 +21750,7 @@ func TestExprBinary_LogicalXor(t *testing.T) { EndPos: 12, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21814,7 +21814,7 @@ func TestExprBinary_Minus(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21835,7 +21835,7 @@ func TestExprBinary_Minus(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21899,7 +21899,7 @@ func TestExprBinary_Mod(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -21920,7 +21920,7 @@ func TestExprBinary_Mod(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -21984,7 +21984,7 @@ func TestExprBinary_Mul(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22005,7 +22005,7 @@ func TestExprBinary_Mul(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22069,7 +22069,7 @@ func TestExprBinary_NotEqual(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22090,7 +22090,7 @@ func TestExprBinary_NotEqual(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22154,7 +22154,7 @@ func TestExprBinary_NotIdentical(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22175,7 +22175,7 @@ func TestExprBinary_NotIdentical(t *testing.T) { EndPos: 12, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22239,7 +22239,7 @@ func TestExprBinary_Plus(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22260,7 +22260,7 @@ func TestExprBinary_Plus(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22324,7 +22324,7 @@ func TestExprBinary_Pow(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22345,7 +22345,7 @@ func TestExprBinary_Pow(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22409,7 +22409,7 @@ func TestExprBinary_ShiftLeft(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22430,7 +22430,7 @@ func TestExprBinary_ShiftLeft(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22494,7 +22494,7 @@ func TestExprBinary_ShiftRight(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22515,7 +22515,7 @@ func TestExprBinary_ShiftRight(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22579,7 +22579,7 @@ func TestExprBinary_SmallerOrEqual(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22600,7 +22600,7 @@ func TestExprBinary_SmallerOrEqual(t *testing.T) { EndPos: 11, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22664,7 +22664,7 @@ func TestExprBinary_Smaller(t *testing.T) { EndPos: 5, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -22685,7 +22685,7 @@ func TestExprBinary_Smaller(t *testing.T) { EndPos: 10, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -22751,7 +22751,7 @@ func TestExprCast_Array(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -22815,7 +22815,7 @@ func TestExprCast_Bool(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -22879,7 +22879,7 @@ func TestExprCast_BoolShort(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -22943,7 +22943,7 @@ func TestExprCast_Double(t *testing.T) { EndPos: 13, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -23007,7 +23007,7 @@ func TestExprCast_CastFloat(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -23071,7 +23071,7 @@ func TestExprCast_Int(t *testing.T) { EndPos: 14, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -23135,7 +23135,7 @@ func TestExprCast_IntShort(t *testing.T) { EndPos: 10, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -23199,7 +23199,7 @@ func TestExprCast_Object(t *testing.T) { EndPos: 13, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -23263,7 +23263,7 @@ func TestExprCast_String(t *testing.T) { EndPos: 13, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -23327,7 +23327,7 @@ func TestExprCast_BinaryString(t *testing.T) { EndPos: 13, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -23391,7 +23391,7 @@ func TestExprCast_Unset(t *testing.T) { EndPos: 12, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, diff --git a/internal/php5/php5.go b/internal/php5/php5.go index 22e8d54e951aceb2210da573ee1977d0171e989c..01c6d9df5118607f062b72163c0e10a752c85bb5 100644 GIT binary patch delta 8942 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 ZlV8`Xp;Z@6r2+Z4$>O&ceALDA{69|BR*nDw diff --git a/internal/php7/php7.y b/internal/php7/php7.y index 16e3936..29a4a8b 100644 --- a/internal/php7/php7.y +++ b/internal/php7/php7.y @@ -1352,7 +1352,7 @@ catch_list: } | catch_list T_CATCH '(' catch_name_list T_VARIABLE ')' '{' inner_statement_list '}' { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($5.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $5.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} catch := &ast.StmtCatch{ast.Node{}, $4, variable, $8} $$ = append($1, catch) @@ -1366,7 +1366,6 @@ catch_list: yylex.(*Parser).setFreeFloating(catch, token.Start, $2.Hidden) yylex.(*Parser).setFreeFloating(catch, token.Catch, $3.Hidden) yylex.(*Parser).setFreeFloating(variable, token.Start, $5.Hidden) - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).setFreeFloating(catch, token.Var, $6.Hidden) yylex.(*Parser).setFreeFloating(catch, token.Cond, $7.Hidden) yylex.(*Parser).setFreeFloating(catch, token.Stmts, $9.Hidden) @@ -2142,7 +2141,7 @@ non_empty_parameter_list: parameter: optional_type is_reference is_variadic T_VARIABLE { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($4.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $4.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.Parameter{ast.Node{}, $2 != nil, $3 != nil, $1, variable, nil} @@ -2171,7 +2170,6 @@ parameter: } yylex.(*Parser).setFreeFloating($$, token.Variadic, $4.Hidden) - yylex.(*Parser).addDollarToken(variable) // normalize if $3 == nil { @@ -2188,7 +2186,7 @@ parameter: } | optional_type is_reference is_variadic T_VARIABLE '=' expr { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($4.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $4.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.Parameter{ast.Node{}, $2 != nil, $3 != nil, $1, variable, $6} @@ -2218,7 +2216,6 @@ parameter: yylex.(*Parser).setFreeFloating($$, token.Variadic, $4.Hidden) yylex.(*Parser).setFreeFloating($$, token.Var, $5.Hidden) - yylex.(*Parser).addDollarToken(variable) // normalize if $3 == nil { @@ -2448,7 +2445,7 @@ static_var_list: static_var: T_VARIABLE { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.StmtStaticVar{ast.Node{}, variable, nil} @@ -2459,13 +2456,12 @@ static_var: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_VARIABLE '=' expr { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.StmtStaticVar{ast.Node{}, variable, $3} @@ -2476,7 +2472,6 @@ static_var: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).setFreeFloating($$, token.Var, $2.Hidden) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) @@ -2975,7 +2970,7 @@ property_list: property: T_VARIABLE backup_doc_comment { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.StmtProperty{ast.Node{}, variable, nil} @@ -2986,13 +2981,12 @@ property: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_VARIABLE '=' expr backup_doc_comment { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.StmtProperty{ast.Node{}, variable, $3} @@ -3003,7 +2997,6 @@ property: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).setFreeFloating($$, token.Var, $2.Hidden) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) @@ -4289,7 +4282,7 @@ lexical_var_list: lexical_var: T_VARIABLE { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} $$ = &ast.ExprVariable{ast.Node{}, identifier} // save position @@ -4298,13 +4291,12 @@ lexical_var: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken($$) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | '&' T_VARIABLE { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($2.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $2.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.ExprReference{ast.Node{}, variable} @@ -4316,7 +4308,6 @@ lexical_var: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) yylex.(*Parser).setFreeFloating(variable, token.Start, $2.Hidden) - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } @@ -4937,7 +4928,7 @@ variable: simple_variable: T_VARIABLE { - name := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + name := &ast.Identifier{ast.Node{}, $1.Value} $$ = &ast.ExprVariable{ast.Node{}, name} // save position @@ -4946,7 +4937,6 @@ simple_variable: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken($$) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } @@ -4959,7 +4949,6 @@ simple_variable: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).setFreeFloating($$, token.Dollar, yylex.(*Parser).GetFreeFloatingToken($1)) yylex.(*Parser).setFreeFloating($3, token.Start, append($2.Hidden, append(yylex.(*Parser).GetFreeFloatingToken($2), $3.GetNode().Tokens[token.Start]...)...)) yylex.(*Parser).setFreeFloating($3, token.End, append($3.GetNode().Tokens[token.End], append($4.Hidden, yylex.(*Parser).GetFreeFloatingToken($4)...)...)) @@ -4974,7 +4963,6 @@ simple_variable: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).setFreeFloating($$, token.Dollar, yylex.(*Parser).GetFreeFloatingToken($1)) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } @@ -5347,7 +5335,7 @@ encaps_list: encaps_var: T_VARIABLE { - name := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + name := &ast.Identifier{ast.Node{}, $1.Value} $$ = &ast.ExprVariable{ast.Node{}, name} // save position @@ -5356,13 +5344,12 @@ encaps_var: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken($$) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } | T_VARIABLE '[' encaps_var_offset ']' { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} $$ = &ast.ExprArrayDimFetch{ast.Node{}, variable, $3} @@ -5372,7 +5359,6 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $4) // save comments - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).setFreeFloating($$, token.Var, append($2.Hidden, yylex.(*Parser).GetFreeFloatingToken($2)...)) yylex.(*Parser).setFreeFloating($$, token.Expr, append($4.Hidden, yylex.(*Parser).GetFreeFloatingToken($4)...)) @@ -5380,7 +5366,7 @@ encaps_var: } | T_VARIABLE T_OBJECT_OPERATOR T_STRING { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} variable := &ast.ExprVariable{ast.Node{}, identifier} fetch := &ast.Identifier{ast.Node{}, $3.Value} $$ = &ast.ExprPropertyFetch{ast.Node{}, variable, fetch} @@ -5392,7 +5378,6 @@ encaps_var: $$.GetNode().Position = position.NewTokensPosition($1, $3) // save comments - yylex.(*Parser).addDollarToken(variable) yylex.(*Parser).setFreeFloating($$, token.Var, $2.Hidden) yylex.(*Parser).setFreeFloating(fetch, token.Start, $3.Hidden) @@ -5519,7 +5504,7 @@ encaps_var_offset: } | T_VARIABLE { - identifier := &ast.Identifier{ast.Node{}, bytes.TrimLeftFunc($1.Value, isDollar)} + identifier := &ast.Identifier{ast.Node{}, $1.Value} $$ = &ast.ExprVariable{ast.Node{}, identifier} // save position @@ -5528,7 +5513,6 @@ encaps_var_offset: // save comments yylex.(*Parser).setFreeFloating($$, token.Start, $1.Hidden) - yylex.(*Parser).addDollarToken($$) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) } diff --git a/internal/php7/php7_test.go b/internal/php7/php7_test.go index 1fd25a0..169e62c 100644 --- a/internal/php7/php7_test.go +++ b/internal/php7/php7_test.go @@ -455,7 +455,7 @@ func TestPhp7(t *testing.T) { EndPos: 11, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -488,7 +488,7 @@ func TestPhp7(t *testing.T) { EndPos: 18, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -532,7 +532,7 @@ func TestPhp7(t *testing.T) { EndPos: 27, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, ArgumentList: &ast.ArgumentList{ @@ -574,7 +574,7 @@ func TestPhp7(t *testing.T) { EndPos: 30, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -607,7 +607,7 @@ func TestPhp7(t *testing.T) { EndPos: 37, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -651,7 +651,7 @@ func TestPhp7(t *testing.T) { EndPos: 46, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Method: &ast.Identifier{ @@ -704,7 +704,7 @@ func TestPhp7(t *testing.T) { EndPos: 54, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -737,7 +737,7 @@ func TestPhp7(t *testing.T) { EndPos: 61, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -836,7 +836,7 @@ func TestPhp7(t *testing.T) { EndPos: 77, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -869,7 +869,7 @@ func TestPhp7(t *testing.T) { EndPos: 84, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -913,7 +913,7 @@ func TestPhp7(t *testing.T) { EndPos: 93, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Call: &ast.Identifier{ @@ -966,7 +966,7 @@ func TestPhp7(t *testing.T) { EndPos: 101, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -999,7 +999,7 @@ func TestPhp7(t *testing.T) { EndPos: 108, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -1087,7 +1087,7 @@ func TestPhp7(t *testing.T) { EndPos: 123, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -1120,7 +1120,7 @@ func TestPhp7(t *testing.T) { EndPos: 130, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -1194,7 +1194,7 @@ func TestPhp7(t *testing.T) { EndPos: 173, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -1227,7 +1227,7 @@ func TestPhp7(t *testing.T) { EndPos: 180, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -1304,7 +1304,7 @@ func TestPhp7(t *testing.T) { EndPos: 212, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, }, @@ -1354,7 +1354,7 @@ func TestPhp7(t *testing.T) { EndPos: 224, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Dim: &ast.ScalarLnumber{ @@ -1416,7 +1416,7 @@ func TestPhp7(t *testing.T) { EndPos: 239, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Dim: &ast.ExprVariable{ @@ -1437,7 +1437,7 @@ func TestPhp7(t *testing.T) { EndPos: 244, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -1488,7 +1488,7 @@ func TestPhp7(t *testing.T) { EndPos: 257, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Property: &ast.Identifier{ @@ -1550,7 +1550,7 @@ func TestPhp7(t *testing.T) { EndPos: 274, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Property: &ast.ExprVariable{ @@ -1571,7 +1571,7 @@ func TestPhp7(t *testing.T) { EndPos: 280, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -1633,7 +1633,7 @@ func TestPhp7(t *testing.T) { EndPos: 300, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -1723,7 +1723,7 @@ func TestPhp7(t *testing.T) { EndPos: 327, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -1812,7 +1812,7 @@ func TestPhp7(t *testing.T) { EndPos: 346, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -1937,7 +1937,7 @@ func TestPhp7(t *testing.T) { EndPos: 393, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -2026,7 +2026,7 @@ func TestPhp7(t *testing.T) { EndPos: 412, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -2128,7 +2128,7 @@ func TestPhp7(t *testing.T) { EndPos: 438, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -2217,7 +2217,7 @@ func TestPhp7(t *testing.T) { EndPos: 457, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -2308,7 +2308,7 @@ func TestPhp7(t *testing.T) { EndPos: 490, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, DefaultValue: &ast.ExprConstFetch{ @@ -2397,7 +2397,7 @@ func TestPhp7(t *testing.T) { EndPos: 509, }, }, - Value: []byte("baz"), + Value: []byte("$baz"), }, }, }, @@ -2768,7 +2768,7 @@ func TestPhp7(t *testing.T) { EndPos: 876, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, }, @@ -2831,7 +2831,7 @@ func TestPhp7(t *testing.T) { EndPos: 891, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, Dim: &ast.ScalarLnumber{ @@ -2906,7 +2906,7 @@ func TestPhp7(t *testing.T) { EndPos: 909, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, Dim: &ast.ExprUnaryMinus{ @@ -2991,7 +2991,7 @@ func TestPhp7(t *testing.T) { EndPos: 928, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, Dim: &ast.ScalarString{ @@ -3066,7 +3066,7 @@ func TestPhp7(t *testing.T) { EndPos: 985, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, Dim: &ast.ScalarString{ @@ -3141,7 +3141,7 @@ func TestPhp7(t *testing.T) { EndPos: 1043, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, Dim: &ast.ScalarString{ @@ -3216,7 +3216,7 @@ func TestPhp7(t *testing.T) { EndPos: 1063, }, }, - Value: []byte("var"), + Value: []byte("$var"), }, }, Dim: &ast.ExprVariable{ @@ -3237,7 +3237,7 @@ func TestPhp7(t *testing.T) { EndPos: 1068, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -3281,7 +3281,7 @@ func TestPhp7(t *testing.T) { EndPos: 1079, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, &ast.ScalarEncapsedStringPart{ @@ -3313,7 +3313,7 @@ func TestPhp7(t *testing.T) { EndPos: 1084, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -3376,7 +3376,7 @@ func TestPhp7(t *testing.T) { EndPos: 1099, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Property: &ast.Identifier{ @@ -3591,7 +3591,7 @@ func TestPhp7(t *testing.T) { EndPos: 1160, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, }, @@ -3655,7 +3655,7 @@ func TestPhp7(t *testing.T) { EndPos: 1177, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Method: &ast.Identifier{ @@ -3710,7 +3710,7 @@ func TestPhp7(t *testing.T) { EndPos: 1197, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3752,7 +3752,7 @@ func TestPhp7(t *testing.T) { EndPos: 1218, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3794,7 +3794,7 @@ func TestPhp7(t *testing.T) { EndPos: 1234, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -3838,7 +3838,7 @@ func TestPhp7(t *testing.T) { EndPos: 1254, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3901,7 +3901,7 @@ func TestPhp7(t *testing.T) { EndPos: 1283, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -3943,7 +3943,7 @@ func TestPhp7(t *testing.T) { EndPos: 1299, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -3985,7 +3985,7 @@ func TestPhp7(t *testing.T) { EndPos: 1314, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, Stmt: &ast.StmtStmtList{ @@ -5476,7 +5476,7 @@ func TestPhp7(t *testing.T) { EndPos: 2036, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ScalarLnumber{ @@ -5520,7 +5520,7 @@ func TestPhp7(t *testing.T) { EndPos: 2050, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -5562,7 +5562,7 @@ func TestPhp7(t *testing.T) { EndPos: 2061, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, Expr: &ast.ScalarLnumber{ @@ -5606,7 +5606,7 @@ func TestPhp7(t *testing.T) { EndPos: 2069, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, Right: &ast.ScalarLnumber{ @@ -5650,7 +5650,7 @@ func TestPhp7(t *testing.T) { EndPos: 2078, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, }, @@ -5681,7 +5681,7 @@ func TestPhp7(t *testing.T) { EndPos: 2084, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, }, @@ -5735,7 +5735,7 @@ func TestPhp7(t *testing.T) { EndPos: 2101, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, Right: &ast.ScalarLnumber{ @@ -5779,7 +5779,7 @@ func TestPhp7(t *testing.T) { EndPos: 2110, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, }, @@ -5810,7 +5810,7 @@ func TestPhp7(t *testing.T) { EndPos: 2116, }, }, - Value: []byte("i"), + Value: []byte("$i"), }, }, }, @@ -5854,7 +5854,7 @@ func TestPhp7(t *testing.T) { EndPos: 2143, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Var: &ast.ExprVariable{ @@ -5875,7 +5875,7 @@ func TestPhp7(t *testing.T) { EndPos: 2149, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -5917,7 +5917,7 @@ func TestPhp7(t *testing.T) { EndPos: 2167, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Var: &ast.ExprVariable{ @@ -5938,7 +5938,7 @@ func TestPhp7(t *testing.T) { EndPos: 2173, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -5980,7 +5980,7 @@ func TestPhp7(t *testing.T) { EndPos: 2202, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -6001,7 +6001,7 @@ func TestPhp7(t *testing.T) { EndPos: 2208, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprVariable{ @@ -6022,7 +6022,7 @@ func TestPhp7(t *testing.T) { EndPos: 2214, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, Stmt: &ast.StmtStmtList{ @@ -6064,7 +6064,7 @@ func TestPhp7(t *testing.T) { EndPos: 2232, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -6085,7 +6085,7 @@ func TestPhp7(t *testing.T) { EndPos: 2238, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprReference{ @@ -6115,7 +6115,7 @@ func TestPhp7(t *testing.T) { EndPos: 2245, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, }, @@ -6158,7 +6158,7 @@ func TestPhp7(t *testing.T) { EndPos: 2263, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -6179,7 +6179,7 @@ func TestPhp7(t *testing.T) { EndPos: 2269, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprList{ @@ -6219,7 +6219,7 @@ func TestPhp7(t *testing.T) { EndPos: 2280, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, }, @@ -6264,7 +6264,7 @@ func TestPhp7(t *testing.T) { EndPos: 2299, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Key: &ast.ExprVariable{ @@ -6285,7 +6285,7 @@ func TestPhp7(t *testing.T) { EndPos: 2305, }, }, - Value: []byte("k"), + Value: []byte("$k"), }, }, Var: &ast.ExprShortList{ @@ -6325,7 +6325,7 @@ func TestPhp7(t *testing.T) { EndPos: 2312, }, }, - Value: []byte("v"), + Value: []byte("$v"), }, }, }, @@ -6519,7 +6519,7 @@ func TestPhp7(t *testing.T) { EndPos: 2433, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ExprVariable{ @@ -6540,7 +6540,7 @@ func TestPhp7(t *testing.T) { EndPos: 2437, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -6614,7 +6614,7 @@ func TestPhp7(t *testing.T) { EndPos: 2463, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -6656,7 +6656,7 @@ func TestPhp7(t *testing.T) { EndPos: 2476, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -6698,7 +6698,7 @@ func TestPhp7(t *testing.T) { EndPos: 2491, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -6742,7 +6742,7 @@ func TestPhp7(t *testing.T) { EndPos: 2504, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -6805,7 +6805,7 @@ func TestPhp7(t *testing.T) { EndPos: 2525, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -6847,7 +6847,7 @@ func TestPhp7(t *testing.T) { EndPos: 2540, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -6889,7 +6889,7 @@ func TestPhp7(t *testing.T) { EndPos: 2555, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, Stmt: &ast.StmtStmtList{ @@ -6954,7 +6954,7 @@ func TestPhp7(t *testing.T) { EndPos: 2576, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Stmt: &ast.StmtStmtList{ @@ -6996,7 +6996,7 @@ func TestPhp7(t *testing.T) { EndPos: 2591, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Stmt: &ast.StmtStmtList{ @@ -7048,7 +7048,7 @@ func TestPhp7(t *testing.T) { EndPos: 2607, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, Stmt: &ast.StmtStmtList{ @@ -7415,7 +7415,7 @@ func TestPhp7(t *testing.T) { EndPos: 2796, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -7505,7 +7505,7 @@ func TestPhp7(t *testing.T) { EndPos: 2828, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -7536,7 +7536,7 @@ func TestPhp7(t *testing.T) { EndPos: 2832, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Expr: &ast.ScalarLnumber{ @@ -7592,7 +7592,7 @@ func TestPhp7(t *testing.T) { EndPos: 2850, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -7623,7 +7623,7 @@ func TestPhp7(t *testing.T) { EndPos: 2854, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, Expr: &ast.ScalarLnumber{ @@ -8030,7 +8030,7 @@ func TestPhp7(t *testing.T) { EndPos: 3103, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, }, @@ -8966,7 +8966,7 @@ func TestPhp7(t *testing.T) { EndPos: 3445, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -9059,7 +9059,7 @@ func TestPhp7(t *testing.T) { EndPos: 3495, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -9129,7 +9129,7 @@ func TestPhp7(t *testing.T) { EndPos: 3528, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -9186,7 +9186,7 @@ func TestPhp7(t *testing.T) { EndPos: 3559, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -9256,7 +9256,7 @@ func TestPhp7(t *testing.T) { EndPos: 3592, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, Stmts: []ast.Vertex{}, @@ -9302,7 +9302,7 @@ func TestPhp7(t *testing.T) { EndPos: 3619, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ExprVariable{ @@ -9323,7 +9323,7 @@ func TestPhp7(t *testing.T) { EndPos: 3623, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -10637,7 +10637,7 @@ func TestPhp7(t *testing.T) { EndPos: 3991, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Dim: &ast.ScalarLnumber{ @@ -10698,7 +10698,7 @@ func TestPhp7(t *testing.T) { EndPos: 4000, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Dim: &ast.ScalarLnumber{ @@ -10877,7 +10877,7 @@ func TestPhp7(t *testing.T) { EndPos: 4048, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -10922,7 +10922,7 @@ func TestPhp7(t *testing.T) { EndPos: 4057, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -10963,7 +10963,7 @@ func TestPhp7(t *testing.T) { EndPos: 4064, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11058,7 +11058,7 @@ func TestPhp7(t *testing.T) { EndPos: 4085, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, ConstantName: &ast.Identifier{ @@ -11110,7 +11110,7 @@ func TestPhp7(t *testing.T) { EndPos: 4102, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11151,7 +11151,7 @@ func TestPhp7(t *testing.T) { EndPos: 4115, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11229,7 +11229,7 @@ func TestPhp7(t *testing.T) { EndPos: 4146, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11262,7 +11262,7 @@ func TestPhp7(t *testing.T) { EndPos: 4150, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -11295,7 +11295,7 @@ func TestPhp7(t *testing.T) { EndPos: 4159, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, &ast.ExprReference{ @@ -11325,7 +11325,7 @@ func TestPhp7(t *testing.T) { EndPos: 4164, }, }, - Value: []byte("d"), + Value: []byte("$d"), }, }, }, @@ -11545,7 +11545,7 @@ func TestPhp7(t *testing.T) { EndPos: 4236, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11586,7 +11586,7 @@ func TestPhp7(t *testing.T) { EndPos: 4244, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11627,7 +11627,7 @@ func TestPhp7(t *testing.T) { EndPos: 4255, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11690,7 +11690,7 @@ func TestPhp7(t *testing.T) { EndPos: 4275, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11753,7 +11753,7 @@ func TestPhp7(t *testing.T) { EndPos: 4293, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -11953,7 +11953,7 @@ func TestPhp7(t *testing.T) { EndPos: 4340, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, ArgumentList: &ast.ArgumentList{ @@ -12004,7 +12004,7 @@ func TestPhp7(t *testing.T) { EndPos: 4349, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12045,7 +12045,7 @@ func TestPhp7(t *testing.T) { EndPos: 4357, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12086,7 +12086,7 @@ func TestPhp7(t *testing.T) { EndPos: 4367, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12127,7 +12127,7 @@ func TestPhp7(t *testing.T) { EndPos: 4375, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12168,7 +12168,7 @@ func TestPhp7(t *testing.T) { EndPos: 4390, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12209,7 +12209,7 @@ func TestPhp7(t *testing.T) { EndPos: 4409, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12250,7 +12250,7 @@ func TestPhp7(t *testing.T) { EndPos: 4423, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12291,7 +12291,7 @@ func TestPhp7(t *testing.T) { EndPos: 4442, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12332,7 +12332,7 @@ func TestPhp7(t *testing.T) { EndPos: 4449, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Class: &ast.NameName{ @@ -12396,7 +12396,7 @@ func TestPhp7(t *testing.T) { EndPos: 4470, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Class: &ast.NameRelative{ @@ -12460,7 +12460,7 @@ func TestPhp7(t *testing.T) { EndPos: 4501, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Class: &ast.NameFullyQualified{ @@ -12525,7 +12525,7 @@ func TestPhp7(t *testing.T) { EndPos: 4530, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, &ast.ExprVariable{ @@ -12546,7 +12546,7 @@ func TestPhp7(t *testing.T) { EndPos: 4534, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -12607,7 +12607,7 @@ func TestPhp7(t *testing.T) { EndPos: 4546, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12631,7 +12631,7 @@ func TestPhp7(t *testing.T) { EndPos: 4552, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -12700,7 +12700,7 @@ func TestPhp7(t *testing.T) { EndPos: 4563, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12725,7 +12725,7 @@ func TestPhp7(t *testing.T) { EndPos: 4571, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -12804,7 +12804,7 @@ func TestPhp7(t *testing.T) { EndPos: 4587, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -12831,7 +12831,7 @@ func TestPhp7(t *testing.T) { EndPos: 4594, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -12872,7 +12872,7 @@ func TestPhp7(t *testing.T) { EndPos: 4601, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Method: &ast.Identifier{ @@ -13123,7 +13123,7 @@ func TestPhp7(t *testing.T) { EndPos: 4675, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13156,7 +13156,7 @@ func TestPhp7(t *testing.T) { EndPos: 4682, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -13202,7 +13202,7 @@ func TestPhp7(t *testing.T) { EndPos: 4698, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13243,7 +13243,7 @@ func TestPhp7(t *testing.T) { EndPos: 4705, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Property: &ast.Identifier{ @@ -13307,7 +13307,7 @@ func TestPhp7(t *testing.T) { EndPos: 4721, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13518,7 +13518,7 @@ func TestPhp7(t *testing.T) { EndPos: 4764, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -13582,7 +13582,7 @@ func TestPhp7(t *testing.T) { EndPos: 4774, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13606,7 +13606,7 @@ func TestPhp7(t *testing.T) { EndPos: 4780, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -13675,7 +13675,7 @@ func TestPhp7(t *testing.T) { EndPos: 4787, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13700,7 +13700,7 @@ func TestPhp7(t *testing.T) { EndPos: 4795, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -13779,7 +13779,7 @@ func TestPhp7(t *testing.T) { EndPos: 4807, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -13806,7 +13806,7 @@ func TestPhp7(t *testing.T) { EndPos: 4814, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -14062,7 +14062,7 @@ func TestPhp7(t *testing.T) { EndPos: 4880, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -14103,7 +14103,7 @@ func TestPhp7(t *testing.T) { EndPos: 4888, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Property: &ast.ExprVariable{ @@ -14124,7 +14124,7 @@ func TestPhp7(t *testing.T) { EndPos: 4894, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -14188,7 +14188,7 @@ func TestPhp7(t *testing.T) { EndPos: 4917, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -14252,7 +14252,7 @@ func TestPhp7(t *testing.T) { EndPos: 4931, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -14293,7 +14293,7 @@ func TestPhp7(t *testing.T) { EndPos: 4937, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfTrue: &ast.ExprVariable{ @@ -14314,7 +14314,7 @@ func TestPhp7(t *testing.T) { EndPos: 4942, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, IfFalse: &ast.ExprVariable{ @@ -14335,7 +14335,7 @@ func TestPhp7(t *testing.T) { EndPos: 4947, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -14376,7 +14376,7 @@ func TestPhp7(t *testing.T) { EndPos: 4953, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfFalse: &ast.ExprVariable{ @@ -14397,7 +14397,7 @@ func TestPhp7(t *testing.T) { EndPos: 4960, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -14438,7 +14438,7 @@ func TestPhp7(t *testing.T) { EndPos: 4966, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfTrue: &ast.ExprTernary{ @@ -14468,7 +14468,7 @@ func TestPhp7(t *testing.T) { EndPos: 4971, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, IfTrue: &ast.ExprVariable{ @@ -14489,7 +14489,7 @@ func TestPhp7(t *testing.T) { EndPos: 4976, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, IfFalse: &ast.ExprVariable{ @@ -14510,7 +14510,7 @@ func TestPhp7(t *testing.T) { EndPos: 4981, }, }, - Value: []byte("d"), + Value: []byte("$d"), }, }, }, @@ -14532,7 +14532,7 @@ func TestPhp7(t *testing.T) { EndPos: 4986, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, }, @@ -14582,7 +14582,7 @@ func TestPhp7(t *testing.T) { EndPos: 4992, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, IfTrue: &ast.ExprVariable{ @@ -14603,7 +14603,7 @@ func TestPhp7(t *testing.T) { EndPos: 4997, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, IfFalse: &ast.ExprVariable{ @@ -14624,7 +14624,7 @@ func TestPhp7(t *testing.T) { EndPos: 5002, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, }, @@ -14646,7 +14646,7 @@ func TestPhp7(t *testing.T) { EndPos: 5007, }, }, - Value: []byte("d"), + Value: []byte("$d"), }, }, IfFalse: &ast.ExprVariable{ @@ -14667,7 +14667,7 @@ func TestPhp7(t *testing.T) { EndPos: 5012, }, }, - Value: []byte("e"), + Value: []byte("$e"), }, }, }, @@ -14708,7 +14708,7 @@ func TestPhp7(t *testing.T) { EndPos: 5019, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14749,7 +14749,7 @@ func TestPhp7(t *testing.T) { EndPos: 5026, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14790,7 +14790,7 @@ func TestPhp7(t *testing.T) { EndPos: 5033, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14851,7 +14851,7 @@ func TestPhp7(t *testing.T) { EndPos: 5054, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14892,7 +14892,7 @@ func TestPhp7(t *testing.T) { EndPos: 5066, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Value: &ast.ExprVariable{ @@ -14913,7 +14913,7 @@ func TestPhp7(t *testing.T) { EndPos: 5072, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -14954,7 +14954,7 @@ func TestPhp7(t *testing.T) { EndPos: 5089, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -14995,7 +14995,7 @@ func TestPhp7(t *testing.T) { EndPos: 5105, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15036,7 +15036,7 @@ func TestPhp7(t *testing.T) { EndPos: 5120, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15077,7 +15077,7 @@ func TestPhp7(t *testing.T) { EndPos: 5132, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15118,7 +15118,7 @@ func TestPhp7(t *testing.T) { EndPos: 5146, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15159,7 +15159,7 @@ func TestPhp7(t *testing.T) { EndPos: 5159, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15200,7 +15200,7 @@ func TestPhp7(t *testing.T) { EndPos: 5174, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15241,7 +15241,7 @@ func TestPhp7(t *testing.T) { EndPos: 5185, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15282,7 +15282,7 @@ func TestPhp7(t *testing.T) { EndPos: 5199, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15323,7 +15323,7 @@ func TestPhp7(t *testing.T) { EndPos: 5213, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15364,7 +15364,7 @@ func TestPhp7(t *testing.T) { EndPos: 5226, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -15405,7 +15405,7 @@ func TestPhp7(t *testing.T) { EndPos: 5233, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15426,7 +15426,7 @@ func TestPhp7(t *testing.T) { EndPos: 5238, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15467,7 +15467,7 @@ func TestPhp7(t *testing.T) { EndPos: 5244, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15488,7 +15488,7 @@ func TestPhp7(t *testing.T) { EndPos: 5249, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15529,7 +15529,7 @@ func TestPhp7(t *testing.T) { EndPos: 5255, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15550,7 +15550,7 @@ func TestPhp7(t *testing.T) { EndPos: 5260, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15591,7 +15591,7 @@ func TestPhp7(t *testing.T) { EndPos: 5266, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15612,7 +15612,7 @@ func TestPhp7(t *testing.T) { EndPos: 5272, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15653,7 +15653,7 @@ func TestPhp7(t *testing.T) { EndPos: 5278, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15674,7 +15674,7 @@ func TestPhp7(t *testing.T) { EndPos: 5284, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15715,7 +15715,7 @@ func TestPhp7(t *testing.T) { EndPos: 5290, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15736,7 +15736,7 @@ func TestPhp7(t *testing.T) { EndPos: 5296, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15777,7 +15777,7 @@ func TestPhp7(t *testing.T) { EndPos: 5302, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15798,7 +15798,7 @@ func TestPhp7(t *testing.T) { EndPos: 5307, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15839,7 +15839,7 @@ func TestPhp7(t *testing.T) { EndPos: 5313, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15860,7 +15860,7 @@ func TestPhp7(t *testing.T) { EndPos: 5318, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15901,7 +15901,7 @@ func TestPhp7(t *testing.T) { EndPos: 5324, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15922,7 +15922,7 @@ func TestPhp7(t *testing.T) { EndPos: 5330, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -15963,7 +15963,7 @@ func TestPhp7(t *testing.T) { EndPos: 5336, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -15984,7 +15984,7 @@ func TestPhp7(t *testing.T) { EndPos: 5342, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16025,7 +16025,7 @@ func TestPhp7(t *testing.T) { EndPos: 5348, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16046,7 +16046,7 @@ func TestPhp7(t *testing.T) { EndPos: 5353, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16087,7 +16087,7 @@ func TestPhp7(t *testing.T) { EndPos: 5359, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16108,7 +16108,7 @@ func TestPhp7(t *testing.T) { EndPos: 5366, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16149,7 +16149,7 @@ func TestPhp7(t *testing.T) { EndPos: 5372, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16170,7 +16170,7 @@ func TestPhp7(t *testing.T) { EndPos: 5379, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16211,7 +16211,7 @@ func TestPhp7(t *testing.T) { EndPos: 5385, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16232,7 +16232,7 @@ func TestPhp7(t *testing.T) { EndPos: 5391, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16273,7 +16273,7 @@ func TestPhp7(t *testing.T) { EndPos: 5397, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16294,7 +16294,7 @@ func TestPhp7(t *testing.T) { EndPos: 5404, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16335,7 +16335,7 @@ func TestPhp7(t *testing.T) { EndPos: 5410, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16356,7 +16356,7 @@ func TestPhp7(t *testing.T) { EndPos: 5415, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16397,7 +16397,7 @@ func TestPhp7(t *testing.T) { EndPos: 5421, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16418,7 +16418,7 @@ func TestPhp7(t *testing.T) { EndPos: 5426, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16459,7 +16459,7 @@ func TestPhp7(t *testing.T) { EndPos: 5432, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16480,7 +16480,7 @@ func TestPhp7(t *testing.T) { EndPos: 5437, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16521,7 +16521,7 @@ func TestPhp7(t *testing.T) { EndPos: 5443, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16542,7 +16542,7 @@ func TestPhp7(t *testing.T) { EndPos: 5449, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16583,7 +16583,7 @@ func TestPhp7(t *testing.T) { EndPos: 5455, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16604,7 +16604,7 @@ func TestPhp7(t *testing.T) { EndPos: 5462, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16645,7 +16645,7 @@ func TestPhp7(t *testing.T) { EndPos: 5468, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16666,7 +16666,7 @@ func TestPhp7(t *testing.T) { EndPos: 5473, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16707,7 +16707,7 @@ func TestPhp7(t *testing.T) { EndPos: 5479, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16728,7 +16728,7 @@ func TestPhp7(t *testing.T) { EndPos: 5485, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16769,7 +16769,7 @@ func TestPhp7(t *testing.T) { EndPos: 5491, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16790,7 +16790,7 @@ func TestPhp7(t *testing.T) { EndPos: 5497, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16831,7 +16831,7 @@ func TestPhp7(t *testing.T) { EndPos: 5503, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16852,7 +16852,7 @@ func TestPhp7(t *testing.T) { EndPos: 5509, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16893,7 +16893,7 @@ func TestPhp7(t *testing.T) { EndPos: 5515, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16914,7 +16914,7 @@ func TestPhp7(t *testing.T) { EndPos: 5521, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -16955,7 +16955,7 @@ func TestPhp7(t *testing.T) { EndPos: 5527, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -16976,7 +16976,7 @@ func TestPhp7(t *testing.T) { EndPos: 5532, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17017,7 +17017,7 @@ func TestPhp7(t *testing.T) { EndPos: 5538, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Right: &ast.ExprVariable{ @@ -17038,7 +17038,7 @@ func TestPhp7(t *testing.T) { EndPos: 5545, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17079,7 +17079,7 @@ func TestPhp7(t *testing.T) { EndPos: 5552, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17100,7 +17100,7 @@ func TestPhp7(t *testing.T) { EndPos: 5558, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17141,7 +17141,7 @@ func TestPhp7(t *testing.T) { EndPos: 5564, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17162,7 +17162,7 @@ func TestPhp7(t *testing.T) { EndPos: 5569, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17203,7 +17203,7 @@ func TestPhp7(t *testing.T) { EndPos: 5575, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17224,7 +17224,7 @@ func TestPhp7(t *testing.T) { EndPos: 5581, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17265,7 +17265,7 @@ func TestPhp7(t *testing.T) { EndPos: 5587, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17286,7 +17286,7 @@ func TestPhp7(t *testing.T) { EndPos: 5593, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17327,7 +17327,7 @@ func TestPhp7(t *testing.T) { EndPos: 5599, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17348,7 +17348,7 @@ func TestPhp7(t *testing.T) { EndPos: 5605, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17389,7 +17389,7 @@ func TestPhp7(t *testing.T) { EndPos: 5611, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17410,7 +17410,7 @@ func TestPhp7(t *testing.T) { EndPos: 5617, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17451,7 +17451,7 @@ func TestPhp7(t *testing.T) { EndPos: 5623, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17472,7 +17472,7 @@ func TestPhp7(t *testing.T) { EndPos: 5629, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17513,7 +17513,7 @@ func TestPhp7(t *testing.T) { EndPos: 5635, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17534,7 +17534,7 @@ func TestPhp7(t *testing.T) { EndPos: 5641, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17575,7 +17575,7 @@ func TestPhp7(t *testing.T) { EndPos: 5647, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17596,7 +17596,7 @@ func TestPhp7(t *testing.T) { EndPos: 5653, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17637,7 +17637,7 @@ func TestPhp7(t *testing.T) { EndPos: 5659, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17658,7 +17658,7 @@ func TestPhp7(t *testing.T) { EndPos: 5665, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17699,7 +17699,7 @@ func TestPhp7(t *testing.T) { EndPos: 5671, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17720,7 +17720,7 @@ func TestPhp7(t *testing.T) { EndPos: 5677, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17761,7 +17761,7 @@ func TestPhp7(t *testing.T) { EndPos: 5683, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17782,7 +17782,7 @@ func TestPhp7(t *testing.T) { EndPos: 5690, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17823,7 +17823,7 @@ func TestPhp7(t *testing.T) { EndPos: 5696, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17844,7 +17844,7 @@ func TestPhp7(t *testing.T) { EndPos: 5703, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -17885,7 +17885,7 @@ func TestPhp7(t *testing.T) { EndPos: 5709, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, Expr: &ast.ExprVariable{ @@ -17906,7 +17906,7 @@ func TestPhp7(t *testing.T) { EndPos: 5716, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -18095,7 +18095,7 @@ func TestPhp7(t *testing.T) { EndPos: 5794, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -18128,7 +18128,7 @@ func TestPhp7(t *testing.T) { EndPos: 5801, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -18276,7 +18276,7 @@ func TestPhp7(t *testing.T) { EndPos: 5927, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, DefaultValue: &ast.ScalarLnumber{ @@ -18320,7 +18320,7 @@ func TestPhp7(t *testing.T) { EndPos: 5938, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, DefaultValue: &ast.ScalarLnumber{ @@ -18364,7 +18364,7 @@ func TestPhp7(t *testing.T) { EndPos: 5946, }, }, - Value: []byte("c"), + Value: []byte("$c"), }, }, DefaultValue: &ast.ScalarLnumber{ @@ -18444,7 +18444,7 @@ func TestPhp7(t *testing.T) { EndPos: 5978, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -18488,7 +18488,7 @@ func TestPhp7(t *testing.T) { EndPos: 5991, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -18857,7 +18857,7 @@ func TestPhp7(t *testing.T) { EndPos: 6142, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, }, @@ -19090,7 +19090,7 @@ func TestPhp7(t *testing.T) { EndPos: 6183, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, }, @@ -19228,7 +19228,7 @@ func TestPhp7(t *testing.T) { EndPos: 6212, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, ArgumentList: &ast.ArgumentList{ @@ -19311,7 +19311,7 @@ func TestPhp7(t *testing.T) { EndPos: 6228, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, Dim: &ast.ScalarLnumber{ @@ -19374,7 +19374,7 @@ func TestPhp7(t *testing.T) { EndPos: 6245, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Property: &ast.ExprVariable{ @@ -19395,7 +19395,7 @@ func TestPhp7(t *testing.T) { EndPos: 6251, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, }, @@ -19436,7 +19436,7 @@ func TestPhp7(t *testing.T) { EndPos: 6259, }, }, - Value: []byte("foo"), + Value: []byte("$foo"), }, }, Property: &ast.ExprArrayDimFetch{ @@ -19466,7 +19466,7 @@ func TestPhp7(t *testing.T) { EndPos: 6266, }, }, - Value: []byte("bar"), + Value: []byte("$bar"), }, }, Dim: &ast.ScalarLnumber{ @@ -19549,7 +19549,7 @@ func TestPhp7(t *testing.T) { EndPos: 6282, }, }, - Value: []byte("a"), + Value: []byte("$a"), }, }, }, @@ -19611,7 +19611,7 @@ func TestPhp7(t *testing.T) { EndPos: 6294, }, }, - Value: []byte("b"), + Value: []byte("$b"), }, }, }, @@ -19945,7 +19945,7 @@ CAD; EndPos: 85, }, }, - Value: []byte("world"), + Value: []byte("$world"), }, }, &ast.ScalarEncapsedStringPart{ diff --git a/pkg/printer/printer.go b/pkg/printer/printer.go index 421db21..09399dd 100644 --- a/pkg/printer/printer.go +++ b/pkg/printer/printer.go @@ -1,10 +1,11 @@ package printer import ( - "github.com/z7zmey/php-parser/pkg/ast" - "github.com/z7zmey/php-parser/pkg/token" "io" "strings" + + "github.com/z7zmey/php-parser/pkg/ast" + "github.com/z7zmey/php-parser/pkg/token" ) type printerState int @@ -1860,7 +1861,7 @@ func (p *Printer) printExprVariable(n ast.Vertex) { p.printFreeFloating(nn, token.Start) p.printFreeFloating(nn, token.Dollar) - if nn.GetNode().Tokens.IsEmpty() { + if _, ok := nn.VarName.(*ast.Identifier); !ok { io.WriteString(p.w, "$") } diff --git a/pkg/printer/printer_parsed_php5_test.go b/pkg/printer/printer_parsed_php5_test.go index e632f11..2257614 100644 --- a/pkg/printer/printer_parsed_php5_test.go +++ b/pkg/printer/printer_parsed_php5_test.go @@ -1084,7 +1084,7 @@ func TestParseAndPrintPhp5Shebang(t *testing.T) { test