#70: [php7] fix meta filter

This commit is contained in:
z7zmey 2018-12-31 17:06:27 +02:00
parent 254f7a2167
commit efbc5b2291
3 changed files with 58 additions and 56 deletions

View File

@ -13,14 +13,6 @@ 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
} }
@ -113,6 +105,18 @@ func isDollar(r rune) bool {
return r == '$' return r == '$'
} }
func newInheritMetaFilter() meta.Filter {
return meta.StopOnFailureFilter(
meta.AndFilter(
meta.TokenNameFilter(meta.NodeStart),
meta.OrFilter(
meta.TypeFilter(meta.CommentType, meta.WhiteSpaceType),
meta.ValueFilter("<?php", "<?"),
),
),
)
}
func (l *Parser) appendMetaToken(n node.Node, t *scanner.Token, tn meta.TokenName) { func (l *Parser) appendMetaToken(n node.Node, t *scanner.Token, tn meta.TokenName) {
if !l.Lexer.WithMeta { if !l.Lexer.WithMeta {
return return

View File

@ -1,5 +1,3 @@
// Code generated by goyacc -o php7/php7.go php7/php7.y. DO NOT EDIT.
//line php7/php7.y:2 //line php7/php7.y:2
package php7 package php7
@ -2644,7 +2642,7 @@ yydefault:
yyVAL.node.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) yyVAL.node.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list))
// save comments // save comments
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2926,7 +2924,7 @@ yydefault:
} }
yyDollar[6].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[6].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(name.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2952,7 +2950,7 @@ yydefault:
} }
yyDollar[7].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[7].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[2].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta()) yyDollar[2].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(name.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2976,7 +2974,7 @@ yydefault:
} }
yyDollar[6].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[6].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(name.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3002,7 +3000,7 @@ yydefault:
} }
yyDollar[7].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[7].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[2].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta()) yyDollar[2].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(name.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3081,7 +3079,7 @@ yydefault:
{ {
yyVAL.node = yyDollar[1].node yyVAL.node = yyDollar[1].node
yyDollar[1].node.(*stmt.Use).Use.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.(*stmt.Use).Use.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3091,7 +3089,7 @@ yydefault:
{ {
yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node) yyVAL.node = yyDollar[2].node.(*stmt.Use).SetUseType(yyDollar[1].node)
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3106,7 +3104,7 @@ yydefault:
name.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) name.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list))
yyVAL.node.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list)) yyVAL.node.SetPosition(yylex.(*Parser).positionBuilder.NewNodeListPosition(yyDollar[1].list))
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(name.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3127,7 +3125,7 @@ yydefault:
yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta()) yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta())
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(name.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(name.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3137,7 +3135,7 @@ yydefault:
{ {
yyVAL.node = yyDollar[1].node yyVAL.node = yyDollar[1].node
yyDollar[1].node.(*stmt.Use).Use.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.(*stmt.Use).Use.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3508,7 +3506,7 @@ yydefault:
yyDollar[2].token.Meta.SetTokenName(meta.SemiColonToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.SemiColonToken).AppendTo(yyVAL.node.GetMeta())
yylex.(*Parser).appendMetaToken(yyVAL.node, yyDollar[2].token, meta.SemiColonToken) yylex.(*Parser).appendMetaToken(yyVAL.node, yyDollar[2].token, meta.SemiColonToken)
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -3860,7 +3858,7 @@ yydefault:
yyDollar[7].token.Meta.SetTokenName(meta.OpenCurlyBracesToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[7].token.Meta.SetTokenName(meta.OpenCurlyBracesToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[9].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[9].token.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -4528,7 +4526,7 @@ yydefault:
// save comments // save comments
if yyDollar[1].node != nil { if yyDollar[1].node != nil {
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
} }
if yyDollar[2].token != nil { if yyDollar[2].token != nil {
yyDollar[2].token.Meta.SetTokenName(meta.AmpersandToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.AmpersandToken).AppendTo(yyVAL.node.GetMeta())
@ -4568,7 +4566,7 @@ yydefault:
// save comments // save comments
if yyDollar[1].node != nil { if yyDollar[1].node != nil {
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
} }
if yyDollar[2].token != nil { if yyDollar[2].token != nil {
yyDollar[2].token.Meta.SetTokenName(meta.AmpersandToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.AmpersandToken).AppendTo(yyVAL.node.GetMeta())
@ -4742,7 +4740,7 @@ yydefault:
yyVAL.node.SetPosition(yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node)) yyVAL.node.SetPosition(yylex.(*Parser).positionBuilder.NewNodePosition(yyDollar[1].node))
// save comments // save comments
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -4874,7 +4872,7 @@ yydefault:
yyDollar[3].token.Meta.SetTokenName(meta.SemiColonToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[3].token.Meta.SetTokenName(meta.SemiColonToken).AppendTo(yyVAL.node.GetMeta())
yylex.(*Parser).appendMetaToken(yyVAL.node, yyDollar[3].token, meta.SemiColonToken) yylex.(*Parser).appendMetaToken(yyVAL.node, yyDollar[3].token, meta.SemiColonToken)
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -4933,7 +4931,7 @@ yydefault:
yyDollar[8].token.Meta.SetTokenName(meta.CloseParenthesisToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[8].token.Meta.SetTokenName(meta.CloseParenthesisToken).AppendTo(yyVAL.node.GetMeta())
if len(yyDollar[1].list) > 0 { if len(yyDollar[1].list) > 0 {
yyDollar[1].list[0].GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].list[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
} }
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
@ -5051,7 +5049,7 @@ yydefault:
// save comments // save comments
yyDollar[2].token.Meta.SetTokenName(meta.InsteadofToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.InsteadofToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -5070,7 +5068,7 @@ yydefault:
yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta()) yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta())
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -5089,7 +5087,7 @@ yydefault:
yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta()) yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta())
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -5108,7 +5106,7 @@ yydefault:
yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[4].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta()) yyDollar[4].token.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta())
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -5124,7 +5122,7 @@ yydefault:
// save comments // save comments
yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.AsToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -5167,7 +5165,7 @@ yydefault:
yyDollar[2].token.Meta.SetTokenName(meta.PaamayimNekudotayimToken).AppendTo(yyVAL.node.GetMeta()) yyDollar[2].token.Meta.SetTokenName(meta.PaamayimNekudotayimToken).AppendTo(yyVAL.node.GetMeta())
yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(target.GetMeta()) yyDollar[3].token.Meta.SetTokenName(meta.NodeStart).AppendTo(target.GetMeta())
yyDollar[1].node.GetMeta().Cut(inheritMetaFilter).PrependTo(yyVAL.node.GetMeta()) yyDollar[1].node.GetMeta().Cut(newInheritMetaFilter()).PrependTo(yyVAL.node.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }

View File

@ -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(inheritMetaFilter).PrependTo($$.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo(name.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo(name.GetMeta()) $2[0].GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo(name.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo(name.GetMeta()) $2[0].GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo($$.GetMeta()) $1.(*stmt.Use).Use.GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo(name.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo(name.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).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(inheritMetaFilter).PrependTo($$.GetMeta()) $1.(*stmt.Use).Use.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -1178,7 +1178,7 @@ 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()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -1508,7 +1508,7 @@ class_declaration_statement:
$7.Meta.SetTokenName(meta.OpenCurlyBracesToken).AppendTo($$.GetMeta()) $7.Meta.SetTokenName(meta.OpenCurlyBracesToken).AppendTo($$.GetMeta())
$9.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta()) $9.Meta.SetTokenName(meta.CloseCurlyBracesToken).AppendTo($$.GetMeta())
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2148,7 +2148,7 @@ parameter:
// save comments // save comments
if $1 != nil { if $1 != nil {
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
} }
if $2 != nil { if $2 != nil {
$2.Meta.SetTokenName(meta.AmpersandToken).AppendTo($$.GetMeta()) $2.Meta.SetTokenName(meta.AmpersandToken).AppendTo($$.GetMeta())
@ -2186,7 +2186,7 @@ parameter:
// save comments // save comments
if $1 != nil { if $1 != nil {
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
} }
if $2 != nil { if $2 != nil {
$2.Meta.SetTokenName(meta.AmpersandToken).AppendTo($$.GetMeta()) $2.Meta.SetTokenName(meta.AmpersandToken).AppendTo($$.GetMeta())
@ -2353,7 +2353,7 @@ argument:
$$.SetPosition(yylex.(*Parser).positionBuilder.NewNodePosition($1)) $$.SetPosition(yylex.(*Parser).positionBuilder.NewNodePosition($1))
// save comments // save comments
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2481,7 +2481,7 @@ class_statement:
$3.Meta.SetTokenName(meta.SemiColonToken).AppendTo($$.GetMeta()) $3.Meta.SetTokenName(meta.SemiColonToken).AppendTo($$.GetMeta())
yylex.(*Parser).appendMetaToken($$, $3, meta.SemiColonToken) yylex.(*Parser).appendMetaToken($$, $3, meta.SemiColonToken)
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2536,7 +2536,7 @@ class_statement:
$8.Meta.SetTokenName(meta.CloseParenthesisToken).AppendTo($$.GetMeta()) $8.Meta.SetTokenName(meta.CloseParenthesisToken).AppendTo($$.GetMeta())
if len($1) > 0 { if len($1) > 0 {
$1[0].GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1[0].GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
} }
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
@ -2650,7 +2650,7 @@ trait_precedence:
// save comments // save comments
$2.Meta.SetTokenName(meta.InsteadofToken).AppendTo($$.GetMeta()) $2.Meta.SetTokenName(meta.InsteadofToken).AppendTo($$.GetMeta())
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2670,7 +2670,7 @@ trait_alias:
$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.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2687,7 +2687,7 @@ trait_alias:
$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.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2704,7 +2704,7 @@ trait_alias:
$2.Meta.SetTokenName(meta.AsToken).AppendTo($$.GetMeta()) $2.Meta.SetTokenName(meta.AsToken).AppendTo($$.GetMeta())
$4.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta()) $4.Meta.SetTokenName(meta.NodeStart).AppendTo(alias.GetMeta())
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2718,7 +2718,7 @@ trait_alias:
// save comments // save comments
$2.Meta.SetTokenName(meta.AsToken).AppendTo($$.GetMeta()) $2.Meta.SetTokenName(meta.AsToken).AppendTo($$.GetMeta())
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }
@ -2761,7 +2761,7 @@ absolute_trait_method_reference:
$2.Meta.SetTokenName(meta.PaamayimNekudotayimToken).AppendTo($$.GetMeta()) $2.Meta.SetTokenName(meta.PaamayimNekudotayimToken).AppendTo($$.GetMeta())
$3.Meta.SetTokenName(meta.NodeStart).AppendTo(target.GetMeta()) $3.Meta.SetTokenName(meta.NodeStart).AppendTo(target.GetMeta())
$1.GetMeta().Cut(inheritMetaFilter).PrependTo($$.GetMeta()) $1.GetMeta().Cut(newInheritMetaFilter()).PrependTo($$.GetMeta())
yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL) yylex.(*Parser).returnTokenToPool(yyDollar, &yyVAL)
} }