#70: [php7] inherit meta.Data at stmt.Expression and stmt.Label
This commit is contained in:
parent
86afa319f3
commit
f406a441a9
@ -13,6 +13,14 @@ import (
|
|||||||
"github.com/z7zmey/php-parser/scanner"
|
"github.com/z7zmey/php-parser/scanner"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var inheritMetaFilter = meta.AndFilter(
|
||||||
|
meta.TokenNameFilter(meta.NodeStart),
|
||||||
|
meta.OrFilter(
|
||||||
|
meta.TypeFilter(meta.CommentType, meta.WhiteSpaceType),
|
||||||
|
meta.ValueFilter("<?php", "<?"),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
func (lval *yySymType) Token(t *scanner.Token) {
|
func (lval *yySymType) Token(t *scanner.Token) {
|
||||||
lval.token = t
|
lval.token = t
|
||||||
}
|
}
|
||||||
|
714
php7/php7.go
714
php7/php7.go
File diff suppressed because it is too large
Load Diff
24
php7/php7.y
24
php7/php7.y
@ -396,7 +396,7 @@ name:
|
|||||||
$$.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
$$.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
||||||
|
|
||||||
// save comments
|
// save comments
|
||||||
$1[0].GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo($$.GetMeta())
|
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -647,7 +647,7 @@ group_use_declaration:
|
|||||||
}
|
}
|
||||||
$6.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
$6.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
||||||
|
|
||||||
$1[0].GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo(name.GetMeta())
|
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -671,7 +671,7 @@ group_use_declaration:
|
|||||||
}
|
}
|
||||||
$7.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
$7.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
||||||
|
|
||||||
$2[0].GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo(name.GetMeta())
|
$2[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -696,7 +696,7 @@ mixed_group_use_declaration:
|
|||||||
}
|
}
|
||||||
$6.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
$6.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
||||||
|
|
||||||
$1[0].GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo(name.GetMeta())
|
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -720,7 +720,7 @@ mixed_group_use_declaration:
|
|||||||
}
|
}
|
||||||
$7.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
$7.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
|
||||||
|
|
||||||
$2[0].GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo(name.GetMeta())
|
$2[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -796,7 +796,7 @@ inline_use_declaration:
|
|||||||
{
|
{
|
||||||
$$ = $1
|
$$ = $1
|
||||||
|
|
||||||
$1.(*stmt.Use).Use.GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo($$.GetMeta())
|
$1.(*stmt.Use).Use.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -804,7 +804,7 @@ inline_use_declaration:
|
|||||||
{
|
{
|
||||||
$$ = $2.(*stmt.Use).SetUseType($1)
|
$$ = $2.(*stmt.Use).SetUseType($1)
|
||||||
|
|
||||||
$1.GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo($$.GetMeta())
|
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -820,7 +820,7 @@ unprefixed_use_declaration:
|
|||||||
name.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
name.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
||||||
$$.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
$$.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition($1))
|
||||||
|
|
||||||
$1[0].GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo(name.GetMeta())
|
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -839,7 +839,7 @@ unprefixed_use_declaration:
|
|||||||
$2.Meta.SetTokenName(meta.AsToken).AppendTo($$.GetMeta())
|
$2.Meta.SetTokenName(meta.AsToken).AppendTo($$.GetMeta())
|
||||||
$3.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta())
|
$3.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta())
|
||||||
|
|
||||||
$1[0].GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo(name.GetMeta())
|
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -850,7 +850,7 @@ use_declaration:
|
|||||||
{
|
{
|
||||||
$$ = $1
|
$$ = $1
|
||||||
|
|
||||||
$1.(*stmt.Use).Use.GetMeta().Cut(meta.TokenNameFilter(meta.NodeStart)).AppendTo($$.GetMeta())
|
$1.(*stmt.Use).Use.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
@ -1178,6 +1178,8 @@ statement:
|
|||||||
$2.Meta.SetTokenName(meta.SemiColonToken).AppendTo($$.GetMeta())
|
$2.Meta.SetTokenName(meta.SemiColonToken).AppendTo($$.GetMeta())
|
||||||
yylex.(*Parser).appendMetaToken($$, $2, meta.SemiColonToken)
|
yylex.(*Parser).appendMetaToken($$, $2, meta.SemiColonToken)
|
||||||
|
|
||||||
|
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
}
|
}
|
||||||
| T_UNSET '(' unset_variables possible_comma ')' ';'
|
| T_UNSET '(' unset_variables possible_comma ')' ';'
|
||||||
@ -1337,7 +1339,7 @@ statement:
|
|||||||
$$.SetPosition(yylex.(*Parser).positionBuilder.NewTokensPosition($1, $2))
|
$$.SetPosition(yylex.(*Parser).positionBuilder.NewTokensPosition($1, $2))
|
||||||
|
|
||||||
// save comments
|
// save comments
|
||||||
$1.Meta.SetTokenName(meta.NodeStart).AppendTo(label.GetMeta())
|
$1.Meta.SetTokenName(meta.NodeStart).AppendTo($$.GetMeta())
|
||||||
$2.Meta.SetTokenName(meta.ColonToken).AppendTo($$.GetMeta())
|
$2.Meta.SetTokenName(meta.ColonToken).AppendTo($$.GetMeta())
|
||||||
|
|
||||||
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
|
||||||
|
@ -138,14 +138,14 @@ func ExampleDumper() {
|
|||||||
// | [*stmt.Expression]
|
// | [*stmt.Expression]
|
||||||
// | "Position": Pos{Line: 8-8 Pos: 124-128}
|
// | "Position": Pos{Line: 8-8 Pos: 124-128}
|
||||||
// | "Meta":
|
// | "Meta":
|
||||||
|
// | "\n\t\t\t\t\t" before "NodeStart"
|
||||||
|
// | "// some comment\n" before "NodeStart"
|
||||||
|
// | "\t\t\t\t\t" before "NodeStart"
|
||||||
// | ";" before "SemiColonToken"
|
// | ";" before "SemiColonToken"
|
||||||
// | "Expr":
|
// | "Expr":
|
||||||
// | [*expr.Variable]
|
// | [*expr.Variable]
|
||||||
// | "Position": Pos{Line: 8-8 Pos: 124-127}
|
// | "Position": Pos{Line: 8-8 Pos: 124-127}
|
||||||
// | "Meta":
|
// | "Meta":
|
||||||
// | "\n\t\t\t\t\t" before "NodeStart"
|
|
||||||
// | "// some comment\n" before "NodeStart"
|
|
||||||
// | "\t\t\t\t\t" before "NodeStart"
|
|
||||||
// | "$" before "NodeStart"
|
// | "$" before "NodeStart"
|
||||||
// | "VarName":
|
// | "VarName":
|
||||||
// | [*node.Identifier]
|
// | [*node.Identifier]
|
||||||
|
@ -424,6 +424,39 @@ func ExampleGoDumper() {
|
|||||||
// },
|
// },
|
||||||
// Meta: meta.Collection{
|
// Meta: meta.Collection{
|
||||||
// &meta.Data{
|
// &meta.Data{
|
||||||
|
// Type: meta.WhiteSpaceType,
|
||||||
|
// Position: &position.Position{
|
||||||
|
// StartLine: 6,
|
||||||
|
// EndLine: 7,
|
||||||
|
// StartPos: 97,
|
||||||
|
// EndPos: 102,
|
||||||
|
// },
|
||||||
|
// Value: "\n\t\t\t\t\t",
|
||||||
|
// TokenName: meta.NodeStart,
|
||||||
|
// },
|
||||||
|
// &meta.Data{
|
||||||
|
// Type: meta.CommentType,
|
||||||
|
// Position: &position.Position{
|
||||||
|
// StartLine: 7,
|
||||||
|
// EndLine: 7,
|
||||||
|
// StartPos: 103,
|
||||||
|
// EndPos: 118,
|
||||||
|
// },
|
||||||
|
// Value: "// some comment\n",
|
||||||
|
// TokenName: meta.NodeStart,
|
||||||
|
// },
|
||||||
|
// &meta.Data{
|
||||||
|
// Type: meta.WhiteSpaceType,
|
||||||
|
// Position: &position.Position{
|
||||||
|
// StartLine: 8,
|
||||||
|
// EndLine: 8,
|
||||||
|
// StartPos: 119,
|
||||||
|
// EndPos: 123,
|
||||||
|
// },
|
||||||
|
// Value: "\t\t\t\t\t",
|
||||||
|
// TokenName: meta.NodeStart,
|
||||||
|
// },
|
||||||
|
// &meta.Data{
|
||||||
// Type: meta.TokenType,
|
// Type: meta.TokenType,
|
||||||
// Position: &position.Position{
|
// Position: &position.Position{
|
||||||
// StartLine: 8,
|
// StartLine: 8,
|
||||||
@ -444,39 +477,6 @@ func ExampleGoDumper() {
|
|||||||
// },
|
// },
|
||||||
// Meta: meta.Collection{
|
// Meta: meta.Collection{
|
||||||
// &meta.Data{
|
// &meta.Data{
|
||||||
// Type: meta.WhiteSpaceType,
|
|
||||||
// Position: &position.Position{
|
|
||||||
// StartLine: 6,
|
|
||||||
// EndLine: 7,
|
|
||||||
// StartPos: 97,
|
|
||||||
// EndPos: 102,
|
|
||||||
// },
|
|
||||||
// Value: "\n\t\t\t\t\t",
|
|
||||||
// TokenName: meta.NodeStart,
|
|
||||||
// },
|
|
||||||
// &meta.Data{
|
|
||||||
// Type: meta.CommentType,
|
|
||||||
// Position: &position.Position{
|
|
||||||
// StartLine: 7,
|
|
||||||
// EndLine: 7,
|
|
||||||
// StartPos: 103,
|
|
||||||
// EndPos: 118,
|
|
||||||
// },
|
|
||||||
// Value: "// some comment\n",
|
|
||||||
// TokenName: meta.NodeStart,
|
|
||||||
// },
|
|
||||||
// &meta.Data{
|
|
||||||
// Type: meta.WhiteSpaceType,
|
|
||||||
// Position: &position.Position{
|
|
||||||
// StartLine: 8,
|
|
||||||
// EndLine: 8,
|
|
||||||
// StartPos: 119,
|
|
||||||
// EndPos: 123,
|
|
||||||
// },
|
|
||||||
// Value: "\t\t\t\t\t",
|
|
||||||
// TokenName: meta.NodeStart,
|
|
||||||
// },
|
|
||||||
// &meta.Data{
|
|
||||||
// Type: meta.TokenType,
|
// Type: meta.TokenType,
|
||||||
// Position: nil,
|
// Position: nil,
|
||||||
// Value: "$",
|
// Value: "$",
|
||||||
|
@ -37,5 +37,5 @@ func ExampleJsonDumper() {
|
|||||||
nodes.Walk(dumper)
|
nodes.Walk(dumper)
|
||||||
|
|
||||||
// Output:
|
// Output:
|
||||||
// {"type":"*node.Root","position":{"startPos":10,"endPos":166,"startLine":3,"endLine":12},"Stmts":[{"type":"*stmt.Namespace","position":{"startPos":10,"endPos":166,"startLine":3,"endLine":12},"meta":[{"type":"*meta.TokenType","value":"<?php","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\n\n\t\t","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"OpenCurlyBracesToken"},{"type":"*meta.WhiteSpaceType","value":"\n\t\t","tokenName":"CloseCurlyBracesToken"}],"NamespaceName":{"type":"*name.Name","position":{"startPos":20,"endPos":22,"startLine":3,"endLine":3},"Parts":[{"type":"*name.NamePart","position":{"startPos":20,"endPos":22,"startLine":3,"endLine":3},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Value":"Foo"}]},"Stmts":[{"type":"*stmt.Class","position":{"startPos":29,"endPos":162,"startLine":4,"endLine":11},"namespacedName":"Foo\\Bar","meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t","tokenName":"ClassToken"},{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"OpenCurlyBracesToken"},{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t","tokenName":"CloseCurlyBracesToken"}],"PhpDocComment":"","ClassName":{"type":"*node.Identifier","position":{"startPos":35,"endPos":37,"startLine":4,"endLine":4},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Value":"Bar"},"Stmts":[{"type":"*stmt.ClassMethod","position":{"startPos":45,"endPos":157,"startLine":5,"endLine":10},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"FunctionToken"}],"PhpDocComment":"","ReturnsRef":false,"MethodName":{"type":"*node.Identifier","position":{"startPos":61,"endPos":72,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Value":"FunctionName"},"Modifiers":[{"type":"*node.Identifier","position":{"startPos":45,"endPos":50,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t","tokenName":"NodeStart"}],"Value":"public"}],"Params":[{"type":"*node.Parameter","position":{"startPos":74,"endPos":89,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"EqualToken"}],"ByRef":false,"Variadic":false,"VariableType":{"type":"*name.Name","position":{"startPos":74,"endPos":77,"startLine":5,"endLine":5},"namespacedName":"Foo\\Type","Parts":[{"type":"*name.NamePart","position":{"startPos":74,"endPos":77,"startLine":5,"endLine":5},"Value":"Type"}]},"Variable":{"type":"*expr.Variable","position":{"startPos":79,"endPos":82,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"},{"type":"*meta.TokenType","value":"$","tokenName":"NodeStart"}],"VarName":{"type":"*node.Identifier","position":{"startPos":79,"endPos":82,"startLine":5,"endLine":5},"Value":"var"}},"DefaultValue":{"type":"*expr.ConstFetch","position":{"startPos":86,"endPos":89,"startLine":5,"endLine":5},"Constant":{"type":"*name.Name","position":{"startPos":86,"endPos":89,"startLine":5,"endLine":5},"namespacedName":"null","meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Parts":[{"type":"*name.NamePart","position":{"startPos":86,"endPos":89,"startLine":5,"endLine":5},"Value":"null"}]}}}],"Stmt":{"type":"*stmt.StmtList","position":{"startPos":96,"endPos":157,"startLine":6,"endLine":10},"meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t","tokenName":"CloseCurlyBracesToken"}],"Stmts":[{"type":"*stmt.Expression","position":{"startPos":147,"endPos":151,"startLine":9,"endLine":9},"meta":[{"type":"*meta.TokenType","value":";","tokenName":"SemiColonToken"}],"Expr":{"type":"*expr.Variable","position":{"startPos":147,"endPos":150,"startLine":9,"endLine":9},"meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.CommentType","value":"// some comment\n","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\t\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.CommentType","value":"// second comment\n","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\t\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.TokenType","value":"$","tokenName":"NodeStart"}],"VarName":{"type":"*node.Identifier","position":{"startPos":147,"endPos":150,"startLine":9,"endLine":9},"Value":"var"}}}]}}]}]}]}
|
// {"type":"*node.Root","position":{"startPos":10,"endPos":166,"startLine":3,"endLine":12},"Stmts":[{"type":"*stmt.Namespace","position":{"startPos":10,"endPos":166,"startLine":3,"endLine":12},"meta":[{"type":"*meta.TokenType","value":"<?php","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\n\n\t\t","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"OpenCurlyBracesToken"},{"type":"*meta.WhiteSpaceType","value":"\n\t\t","tokenName":"CloseCurlyBracesToken"}],"NamespaceName":{"type":"*name.Name","position":{"startPos":20,"endPos":22,"startLine":3,"endLine":3},"Parts":[{"type":"*name.NamePart","position":{"startPos":20,"endPos":22,"startLine":3,"endLine":3},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Value":"Foo"}]},"Stmts":[{"type":"*stmt.Class","position":{"startPos":29,"endPos":162,"startLine":4,"endLine":11},"namespacedName":"Foo\\Bar","meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t","tokenName":"ClassToken"},{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"OpenCurlyBracesToken"},{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t","tokenName":"CloseCurlyBracesToken"}],"PhpDocComment":"","ClassName":{"type":"*node.Identifier","position":{"startPos":35,"endPos":37,"startLine":4,"endLine":4},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Value":"Bar"},"Stmts":[{"type":"*stmt.ClassMethod","position":{"startPos":45,"endPos":157,"startLine":5,"endLine":10},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"FunctionToken"}],"PhpDocComment":"","ReturnsRef":false,"MethodName":{"type":"*node.Identifier","position":{"startPos":61,"endPos":72,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Value":"FunctionName"},"Modifiers":[{"type":"*node.Identifier","position":{"startPos":45,"endPos":50,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t","tokenName":"NodeStart"}],"Value":"public"}],"Params":[{"type":"*node.Parameter","position":{"startPos":74,"endPos":89,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"EqualToken"}],"ByRef":false,"Variadic":false,"VariableType":{"type":"*name.Name","position":{"startPos":74,"endPos":77,"startLine":5,"endLine":5},"namespacedName":"Foo\\Type","Parts":[{"type":"*name.NamePart","position":{"startPos":74,"endPos":77,"startLine":5,"endLine":5},"Value":"Type"}]},"Variable":{"type":"*expr.Variable","position":{"startPos":79,"endPos":82,"startLine":5,"endLine":5},"meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"},{"type":"*meta.TokenType","value":"$","tokenName":"NodeStart"}],"VarName":{"type":"*node.Identifier","position":{"startPos":79,"endPos":82,"startLine":5,"endLine":5},"Value":"var"}},"DefaultValue":{"type":"*expr.ConstFetch","position":{"startPos":86,"endPos":89,"startLine":5,"endLine":5},"Constant":{"type":"*name.Name","position":{"startPos":86,"endPos":89,"startLine":5,"endLine":5},"namespacedName":"null","meta":[{"type":"*meta.WhiteSpaceType","value":" ","tokenName":"NodeStart"}],"Parts":[{"type":"*name.NamePart","position":{"startPos":86,"endPos":89,"startLine":5,"endLine":5},"Value":"null"}]}}}],"Stmt":{"type":"*stmt.StmtList","position":{"startPos":96,"endPos":157,"startLine":6,"endLine":10},"meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t","tokenName":"CloseCurlyBracesToken"}],"Stmts":[{"type":"*stmt.Expression","position":{"startPos":147,"endPos":151,"startLine":9,"endLine":9},"meta":[{"type":"*meta.WhiteSpaceType","value":"\n\t\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.CommentType","value":"// some comment\n","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\t\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.CommentType","value":"// second comment\n","tokenName":"NodeStart"},{"type":"*meta.WhiteSpaceType","value":"\t\t\t\t\t","tokenName":"NodeStart"},{"type":"*meta.TokenType","value":";","tokenName":"SemiColonToken"}],"Expr":{"type":"*expr.Variable","position":{"startPos":147,"endPos":150,"startLine":9,"endLine":9},"meta":[{"type":"*meta.TokenType","value":"$","tokenName":"NodeStart"}],"VarName":{"type":"*node.Identifier","position":{"startPos":147,"endPos":150,"startLine":9,"endLine":9},"Value":"var"}}}]}}]}]}]}
|
||||||
}
|
}
|
||||||
|
@ -354,6 +354,31 @@ func ExamplePrettyJsonDumper() {
|
|||||||
// },
|
// },
|
||||||
// "meta": [
|
// "meta": [
|
||||||
// {
|
// {
|
||||||
|
// "type": "*meta.WhiteSpaceType",
|
||||||
|
// "value": "\n\t\t\t\t\t",
|
||||||
|
// "tokenName": "NodeStart"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "type": "*meta.CommentType",
|
||||||
|
// "value": "// some comment\n",
|
||||||
|
// "tokenName": "NodeStart"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "type": "*meta.WhiteSpaceType",
|
||||||
|
// "value": "\t\t\t\t\t",
|
||||||
|
// "tokenName": "NodeStart"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "type": "*meta.CommentType",
|
||||||
|
// "value": "// second comment\n",
|
||||||
|
// "tokenName": "NodeStart"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "type": "*meta.WhiteSpaceType",
|
||||||
|
// "value": "\t\t\t\t\t",
|
||||||
|
// "tokenName": "NodeStart"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
// "type": "*meta.TokenType",
|
// "type": "*meta.TokenType",
|
||||||
// "value": ";",
|
// "value": ";",
|
||||||
// "tokenName": "SemiColonToken"
|
// "tokenName": "SemiColonToken"
|
||||||
@ -369,31 +394,6 @@ func ExamplePrettyJsonDumper() {
|
|||||||
// },
|
// },
|
||||||
// "meta": [
|
// "meta": [
|
||||||
// {
|
// {
|
||||||
// "type": "*meta.WhiteSpaceType",
|
|
||||||
// "value": "\n\t\t\t\t\t",
|
|
||||||
// "tokenName": "NodeStart"
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// "type": "*meta.CommentType",
|
|
||||||
// "value": "// some comment\n",
|
|
||||||
// "tokenName": "NodeStart"
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// "type": "*meta.WhiteSpaceType",
|
|
||||||
// "value": "\t\t\t\t\t",
|
|
||||||
// "tokenName": "NodeStart"
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// "type": "*meta.CommentType",
|
|
||||||
// "value": "// second comment\n",
|
|
||||||
// "tokenName": "NodeStart"
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// "type": "*meta.WhiteSpaceType",
|
|
||||||
// "value": "\t\t\t\t\t",
|
|
||||||
// "tokenName": "NodeStart"
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// "type": "*meta.TokenType",
|
// "type": "*meta.TokenType",
|
||||||
// "value": "$",
|
// "value": "$",
|
||||||
// "tokenName": "NodeStart"
|
// "tokenName": "NodeStart"
|
||||||
|
Loading…
Reference in New Issue
Block a user