[refactoring] add Parser nodes for use
This commit is contained in:
@@ -1288,3 +1288,21 @@ func (v *Dump) NameNamePart(n *ast.NameNamePart) {
|
||||
v.printIndent(v.indent)
|
||||
v.print(fmt.Sprintf("Value: []byte(%q),\n", n.Value))
|
||||
}
|
||||
|
||||
func (v *Dump) ParserAs(n *ast.ParserAs) {
|
||||
v.printIndentIfNotSingle(v.indent - 1)
|
||||
v.print("&ast.ParserAs{\n")
|
||||
v.printNode(n.GetNode())
|
||||
}
|
||||
|
||||
func (v *Dump) ParserNsSeparator(n *ast.ParserNsSeparator) {
|
||||
v.printIndentIfNotSingle(v.indent - 1)
|
||||
v.print("&ast.ParserNsSeparator{\n")
|
||||
v.printNode(n.GetNode())
|
||||
}
|
||||
|
||||
func (v *Dump) ParserBrackets(n *ast.ParserBrackets) {
|
||||
v.printIndentIfNotSingle(v.indent - 1)
|
||||
v.print("&ast.ParserBrackets{\n")
|
||||
v.printNode(n.GetNode())
|
||||
}
|
||||
|
||||
42
pkg/ast/visitor/filter_parser_nodes.go
Normal file
42
pkg/ast/visitor/filter_parser_nodes.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package visitor
|
||||
|
||||
import (
|
||||
"github.com/z7zmey/php-parser/pkg/ast"
|
||||
)
|
||||
|
||||
type FilterParserNodes struct {
|
||||
Null
|
||||
}
|
||||
|
||||
func (v *FilterParserNodes) EnterNode(n ast.Vertex) bool {
|
||||
n.Accept(v)
|
||||
return true
|
||||
}
|
||||
|
||||
func (v *FilterParserNodes) StmtGroupUseList(n *ast.StmtGroupUseList) {
|
||||
if nn, ok := n.Prefix.(*ast.ParserNsSeparator); ok {
|
||||
n.Prefix = nn.Child
|
||||
}
|
||||
|
||||
if nn, ok := n.UseList.(*ast.ParserNsSeparator); ok {
|
||||
n.UseList = nn.Child
|
||||
}
|
||||
|
||||
if nn, ok := n.UseList.(*ast.ParserBrackets); ok {
|
||||
n.UseList = nn.Child
|
||||
}
|
||||
}
|
||||
|
||||
func (v *FilterParserNodes) StmtUseList(n *ast.StmtUseList) {
|
||||
for k, v := range n.UseDeclarations {
|
||||
if nn, ok := v.(*ast.ParserNsSeparator); ok {
|
||||
n.UseDeclarations[k] = nn.Child
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (v *FilterParserNodes) StmtUseDeclaration(n *ast.StmtUseDeclaration) {
|
||||
if nn, ok := n.Alias.(*ast.ParserAs); ok {
|
||||
n.Alias = nn.Child
|
||||
}
|
||||
}
|
||||
@@ -713,3 +713,15 @@ func (v *Null) NameRelative(_ *ast.NameRelative) {
|
||||
func (v *Null) NameNamePart(_ *ast.NameNamePart) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
func (v *Null) ParserAs(_ *ast.ParserAs) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
func (v *Null) ParserNsSeparator(_ *ast.ParserNsSeparator) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
func (v *Null) ParserBrackets(_ *ast.ParserBrackets) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user