#31 dump to native golang struct

This commit is contained in:
z7zmey
2018-06-18 23:29:52 +03:00
parent 063726aac4
commit dd572a8fed
173 changed files with 1279 additions and 735 deletions

View File

@@ -30,8 +30,9 @@ func (n *AltElse) Walk(v walker.Visitor) {
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *AltElseIf) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -36,35 +36,39 @@ func (n *AltFor) Walk(v walker.Visitor) {
}
if n.Init != nil {
vv := v.GetChildrenVisitor("Init")
v.EnterChildList("Init", n)
for _, nn := range n.Init {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Init", n)
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
v.EnterChildList("Cond", n)
for _, nn := range n.Cond {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Cond", n)
}
if n.Loop != nil {
vv := v.GetChildrenVisitor("Loop")
v.EnterChildList("Loop", n)
for _, nn := range n.Loop {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Loop", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -36,23 +36,27 @@ func (n *AltForeach) Walk(v walker.Visitor) {
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
if n.Key != nil {
vv := v.GetChildrenVisitor("Key")
n.Key.Walk(vv)
v.EnterChildNode("Key", n)
n.Key.Walk(v)
v.LeaveChildNode("Key", n)
}
if n.Variable != nil {
vv := v.GetChildrenVisitor("Variable")
n.Variable.Walk(vv)
v.EnterChildNode("Variable", n)
n.Variable.Walk(v)
v.LeaveChildNode("Variable", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -54,27 +54,31 @@ func (n *AltIf) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
if n.ElseIf != nil {
vv := v.GetChildrenVisitor("ElseIf")
v.EnterChildList("ElseIf", n)
for _, nn := range n.ElseIf {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("ElseIf", n)
}
if n.Else != nil {
vv := v.GetChildrenVisitor("Else")
n.Else.Walk(vv)
v.EnterChildNode("Else", n)
n.Else.Walk(v)
v.LeaveChildNode("Else", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *AltSwitch) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.CaseList != nil {
vv := v.GetChildrenVisitor("CaseList")
n.CaseList.Walk(vv)
v.EnterChildNode("CaseList", n)
n.CaseList.Walk(v)
v.LeaveChildNode("CaseList", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *AltWhile) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Break) Walk(v walker.Visitor) {
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -32,17 +32,19 @@ func (n *Case) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *CaseList) Walk(v walker.Visitor) {
}
if n.Cases != nil {
vv := v.GetChildrenVisitor("Cases")
v.EnterChildList("Cases", n)
for _, nn := range n.Cases {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Cases", n)
}
v.LeaveNode(n)

View File

@@ -34,26 +34,29 @@ func (n *Catch) Walk(v walker.Visitor) {
}
if n.Types != nil {
vv := v.GetChildrenVisitor("Types")
v.EnterChildList("Types", n)
for _, nn := range n.Types {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Types", n)
}
if n.Variable != nil {
vv := v.GetChildrenVisitor("Variable")
n.Variable.Walk(vv)
v.EnterChildNode("Variable", n)
n.Variable.Walk(v)
v.LeaveChildNode("Variable", n)
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -44,41 +44,47 @@ func (n *Class) Walk(v walker.Visitor) {
}
if n.ClassName != nil {
vv := v.GetChildrenVisitor("ClassName")
n.ClassName.Walk(vv)
v.EnterChildNode("ClassName", n)
n.ClassName.Walk(v)
v.LeaveChildNode("ClassName", n)
}
if n.Modifiers != nil {
vv := v.GetChildrenVisitor("Modifiers")
v.EnterChildList("Modifiers", n)
for _, nn := range n.Modifiers {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Modifiers", n)
}
if n.ArgumentList != nil {
vv := v.GetChildrenVisitor("ArgumentList")
n.ArgumentList.Walk(vv)
v.EnterChildNode("ArgumentList", n)
n.ArgumentList.Walk(v)
v.LeaveChildNode("ArgumentList", n)
}
if n.Extends != nil {
vv := v.GetChildrenVisitor("Extends")
n.Extends.Walk(vv)
v.EnterChildNode("Extends", n)
n.Extends.Walk(v)
v.LeaveChildNode("Extends", n)
}
if n.Implements != nil {
vv := v.GetChildrenVisitor("Implements")
n.Implements.Walk(vv)
v.EnterChildNode("Implements", n)
n.Implements.Walk(v)
v.LeaveChildNode("Implements", n)
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -32,21 +32,23 @@ func (n *ClassConstList) Walk(v walker.Visitor) {
}
if n.Modifiers != nil {
vv := v.GetChildrenVisitor("Modifiers")
v.EnterChildList("Modifiers", n)
for _, nn := range n.Modifiers {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Modifiers", n)
}
if n.Consts != nil {
vv := v.GetChildrenVisitor("Consts")
v.EnterChildList("Consts", n)
for _, nn := range n.Consts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Consts", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *ClassExtends) Walk(v walker.Visitor) {
}
if n.ClassName != nil {
vv := v.GetChildrenVisitor("ClassName")
n.ClassName.Walk(vv)
v.EnterChildNode("ClassName", n)
n.ClassName.Walk(v)
v.LeaveChildNode("ClassName", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *ClassImplements) Walk(v walker.Visitor) {
}
if n.InterfaceNames != nil {
vv := v.GetChildrenVisitor("InterfaceNames")
v.EnterChildList("InterfaceNames", n)
for _, nn := range n.InterfaceNames {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("InterfaceNames", n)
}
v.LeaveNode(n)

View File

@@ -45,36 +45,41 @@ func (n *ClassMethod) Walk(v walker.Visitor) {
}
if n.MethodName != nil {
vv := v.GetChildrenVisitor("MethodName")
n.MethodName.Walk(vv)
v.EnterChildNode("MethodName", n)
n.MethodName.Walk(v)
v.LeaveChildNode("MethodName", n)
}
if n.Modifiers != nil {
vv := v.GetChildrenVisitor("Modifiers")
v.EnterChildList("Modifiers", n)
for _, nn := range n.Modifiers {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Modifiers", n)
}
if n.Params != nil {
vv := v.GetChildrenVisitor("Params")
v.EnterChildList("Params", n)
for _, nn := range n.Params {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Params", n)
}
if n.ReturnType != nil {
vv := v.GetChildrenVisitor("ReturnType")
n.ReturnType.Walk(vv)
v.EnterChildNode("ReturnType", n)
n.ReturnType.Walk(v)
v.LeaveChildNode("ReturnType", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *ConstList) Walk(v walker.Visitor) {
}
if n.Consts != nil {
vv := v.GetChildrenVisitor("Consts")
v.EnterChildList("Consts", n)
for _, nn := range n.Consts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Consts", n)
}
v.LeaveNode(n)

View File

@@ -36,13 +36,15 @@ func (n *Constant) Walk(v walker.Visitor) {
}
if n.ConstantName != nil {
vv := v.GetChildrenVisitor("ConstantName")
n.ConstantName.Walk(vv)
v.EnterChildNode("ConstantName", n)
n.ConstantName.Walk(v)
v.LeaveChildNode("ConstantName", n)
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Continue) Walk(v walker.Visitor) {
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -32,17 +32,19 @@ func (n *Declare) Walk(v walker.Visitor) {
}
if n.Consts != nil {
vv := v.GetChildrenVisitor("Consts")
v.EnterChildList("Consts", n)
for _, nn := range n.Consts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Consts", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *Default) Walk(v walker.Visitor) {
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *Do) Walk(v walker.Visitor) {
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *Echo) Walk(v walker.Visitor) {
}
if n.Exprs != nil {
vv := v.GetChildrenVisitor("Exprs")
v.EnterChildList("Exprs", n)
for _, nn := range n.Exprs {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Exprs", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Else) Walk(v walker.Visitor) {
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *ElseIf) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Expression) Walk(v walker.Visitor) {
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *Finally) Walk(v walker.Visitor) {
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -36,35 +36,39 @@ func (n *For) Walk(v walker.Visitor) {
}
if n.Init != nil {
vv := v.GetChildrenVisitor("Init")
v.EnterChildList("Init", n)
for _, nn := range n.Init {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Init", n)
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
v.EnterChildList("Cond", n)
for _, nn := range n.Cond {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Cond", n)
}
if n.Loop != nil {
vv := v.GetChildrenVisitor("Loop")
v.EnterChildList("Loop", n)
for _, nn := range n.Loop {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Loop", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -36,23 +36,27 @@ func (n *Foreach) Walk(v walker.Visitor) {
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
if n.Key != nil {
vv := v.GetChildrenVisitor("Key")
n.Key.Walk(vv)
v.EnterChildNode("Key", n)
n.Key.Walk(v)
v.LeaveChildNode("Key", n)
}
if n.Variable != nil {
vv := v.GetChildrenVisitor("Variable")
n.Variable.Walk(vv)
v.EnterChildNode("Variable", n)
n.Variable.Walk(v)
v.LeaveChildNode("Variable", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -44,31 +44,35 @@ func (n *Function) Walk(v walker.Visitor) {
}
if n.FunctionName != nil {
vv := v.GetChildrenVisitor("FunctionName")
n.FunctionName.Walk(vv)
v.EnterChildNode("FunctionName", n)
n.FunctionName.Walk(v)
v.LeaveChildNode("FunctionName", n)
}
if n.Params != nil {
vv := v.GetChildrenVisitor("Params")
v.EnterChildList("Params", n)
for _, nn := range n.Params {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Params", n)
}
if n.ReturnType != nil {
vv := v.GetChildrenVisitor("ReturnType")
n.ReturnType.Walk(vv)
v.EnterChildNode("ReturnType", n)
n.ReturnType.Walk(v)
v.LeaveChildNode("ReturnType", n)
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *Global) Walk(v walker.Visitor) {
}
if n.Vars != nil {
vv := v.GetChildrenVisitor("Vars")
v.EnterChildList("Vars", n)
for _, nn := range n.Vars {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Vars", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Goto) Walk(v walker.Visitor) {
}
if n.Label != nil {
vv := v.GetChildrenVisitor("Label")
n.Label.Walk(vv)
v.EnterChildNode("Label", n)
n.Label.Walk(v)
v.LeaveChildNode("Label", n)
}
v.LeaveNode(n)

View File

@@ -40,22 +40,25 @@ func (n *GroupUse) Walk(v walker.Visitor) {
}
if n.UseType != nil {
vv := v.GetChildrenVisitor("UseType")
n.UseType.Walk(vv)
v.EnterChildNode("UseType", n)
n.UseType.Walk(v)
v.LeaveChildNode("UseType", n)
}
if n.Prefix != nil {
vv := v.GetChildrenVisitor("Prefix")
n.Prefix.Walk(vv)
v.EnterChildNode("Prefix", n)
n.Prefix.Walk(v)
v.LeaveChildNode("Prefix", n)
}
if n.UseList != nil {
vv := v.GetChildrenVisitor("UseList")
v.EnterChildList("UseList", n)
for _, nn := range n.UseList {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("UseList", n)
}
v.LeaveNode(n)

View File

@@ -54,27 +54,31 @@ func (n *If) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
if n.ElseIf != nil {
vv := v.GetChildrenVisitor("ElseIf")
v.EnterChildList("ElseIf", n)
for _, nn := range n.ElseIf {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("ElseIf", n)
}
if n.Else != nil {
vv := v.GetChildrenVisitor("Else")
n.Else.Walk(vv)
v.EnterChildNode("Else", n)
n.Else.Walk(v)
v.LeaveChildNode("Else", n)
}
v.LeaveNode(n)

View File

@@ -38,22 +38,25 @@ func (n *Interface) Walk(v walker.Visitor) {
}
if n.InterfaceName != nil {
vv := v.GetChildrenVisitor("InterfaceName")
n.InterfaceName.Walk(vv)
v.EnterChildNode("InterfaceName", n)
n.InterfaceName.Walk(v)
v.LeaveChildNode("InterfaceName", n)
}
if n.Extends != nil {
vv := v.GetChildrenVisitor("Extends")
n.Extends.Walk(vv)
v.EnterChildNode("Extends", n)
n.Extends.Walk(v)
v.LeaveChildNode("Extends", n)
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *InterfaceExtends) Walk(v walker.Visitor) {
}
if n.InterfaceNames != nil {
vv := v.GetChildrenVisitor("InterfaceNames")
v.EnterChildList("InterfaceNames", n)
for _, nn := range n.InterfaceNames {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("InterfaceNames", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Label) Walk(v walker.Visitor) {
}
if n.LabelName != nil {
vv := v.GetChildrenVisitor("LabelName")
n.LabelName.Walk(vv)
v.EnterChildNode("LabelName", n)
n.LabelName.Walk(v)
v.LeaveChildNode("LabelName", n)
}
v.LeaveNode(n)

View File

@@ -32,17 +32,19 @@ func (n *Namespace) Walk(v walker.Visitor) {
}
if n.NamespaceName != nil {
vv := v.GetChildrenVisitor("NamespaceName")
n.NamespaceName.Walk(vv)
v.EnterChildNode("NamespaceName", n)
n.NamespaceName.Walk(v)
v.LeaveChildNode("NamespaceName", n)
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -36,13 +36,15 @@ func (n *Property) Walk(v walker.Visitor) {
}
if n.Variable != nil {
vv := v.GetChildrenVisitor("Variable")
n.Variable.Walk(vv)
v.EnterChildNode("Variable", n)
n.Variable.Walk(v)
v.LeaveChildNode("Variable", n)
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -32,21 +32,23 @@ func (n *PropertyList) Walk(v walker.Visitor) {
}
if n.Modifiers != nil {
vv := v.GetChildrenVisitor("Modifiers")
v.EnterChildList("Modifiers", n)
for _, nn := range n.Modifiers {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Modifiers", n)
}
if n.Properties != nil {
vv := v.GetChildrenVisitor("Properties")
v.EnterChildList("Properties", n)
for _, nn := range n.Properties {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Properties", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Return) Walk(v walker.Visitor) {
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *Static) Walk(v walker.Visitor) {
}
if n.Vars != nil {
vv := v.GetChildrenVisitor("Vars")
v.EnterChildList("Vars", n)
for _, nn := range n.Vars {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Vars", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *StaticVar) Walk(v walker.Visitor) {
}
if n.Variable != nil {
vv := v.GetChildrenVisitor("Variable")
n.Variable.Walk(vv)
v.EnterChildNode("Variable", n)
n.Variable.Walk(v)
v.LeaveChildNode("Variable", n)
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *StmtList) Walk(v walker.Visitor) {
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *Switch) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.CaseList != nil {
vv := v.GetChildrenVisitor("CaseList")
n.CaseList.Walk(vv)
v.EnterChildNode("CaseList", n)
n.CaseList.Walk(v)
v.LeaveChildNode("CaseList", n)
}
v.LeaveNode(n)

View File

@@ -30,8 +30,9 @@ func (n *Throw) Walk(v walker.Visitor) {
}
if n.Expr != nil {
vv := v.GetChildrenVisitor("Expr")
n.Expr.Walk(vv)
v.EnterChildNode("Expr", n)
n.Expr.Walk(v)
v.LeaveChildNode("Expr", n)
}
v.LeaveNode(n)

View File

@@ -36,17 +36,19 @@ func (n *Trait) Walk(v walker.Visitor) {
}
if n.TraitName != nil {
vv := v.GetChildrenVisitor("TraitName")
n.TraitName.Walk(vv)
v.EnterChildNode("TraitName", n)
n.TraitName.Walk(v)
v.LeaveChildNode("TraitName", n)
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *TraitAdaptationList) Walk(v walker.Visitor) {
}
if n.Adaptations != nil {
vv := v.GetChildrenVisitor("Adaptations")
v.EnterChildList("Adaptations", n)
for _, nn := range n.Adaptations {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Adaptations", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *TraitMethodRef) Walk(v walker.Visitor) {
}
if n.Trait != nil {
vv := v.GetChildrenVisitor("Trait")
n.Trait.Walk(vv)
v.EnterChildNode("Trait", n)
n.Trait.Walk(v)
v.LeaveChildNode("Trait", n)
}
if n.Method != nil {
vv := v.GetChildrenVisitor("Method")
n.Method.Walk(vv)
v.EnterChildNode("Method", n)
n.Method.Walk(v)
v.LeaveChildNode("Method", n)
}
v.LeaveNode(n)

View File

@@ -32,17 +32,19 @@ func (n *TraitUse) Walk(v walker.Visitor) {
}
if n.Traits != nil {
vv := v.GetChildrenVisitor("Traits")
v.EnterChildList("Traits", n)
for _, nn := range n.Traits {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Traits", n)
}
if n.TraitAdaptationList != nil {
vv := v.GetChildrenVisitor("TraitAdaptationList")
n.TraitAdaptationList.Walk(vv)
v.EnterChildNode("TraitAdaptationList", n)
n.TraitAdaptationList.Walk(v)
v.LeaveChildNode("TraitAdaptationList", n)
}
v.LeaveNode(n)

View File

@@ -34,18 +34,21 @@ func (n *TraitUseAlias) Walk(v walker.Visitor) {
}
if n.Ref != nil {
vv := v.GetChildrenVisitor("Ref")
n.Ref.Walk(vv)
v.EnterChildNode("Ref", n)
n.Ref.Walk(v)
v.LeaveChildNode("Ref", n)
}
if n.Modifier != nil {
vv := v.GetChildrenVisitor("Modifier")
n.Modifier.Walk(vv)
v.EnterChildNode("Modifier", n)
n.Modifier.Walk(v)
v.LeaveChildNode("Modifier", n)
}
if n.Alias != nil {
vv := v.GetChildrenVisitor("Alias")
n.Alias.Walk(vv)
v.EnterChildNode("Alias", n)
n.Alias.Walk(v)
v.LeaveChildNode("Alias", n)
}
v.LeaveNode(n)

View File

@@ -32,17 +32,19 @@ func (n *TraitUsePrecedence) Walk(v walker.Visitor) {
}
if n.Ref != nil {
vv := v.GetChildrenVisitor("Ref")
n.Ref.Walk(vv)
v.EnterChildNode("Ref", n)
n.Ref.Walk(v)
v.LeaveChildNode("Ref", n)
}
if n.Insteadof != nil {
vv := v.GetChildrenVisitor("Insteadof")
v.EnterChildList("Insteadof", n)
for _, nn := range n.Insteadof {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Insteadof", n)
}
v.LeaveNode(n)

View File

@@ -34,26 +34,29 @@ func (n *Try) Walk(v walker.Visitor) {
}
if n.Stmts != nil {
vv := v.GetChildrenVisitor("Stmts")
v.EnterChildList("Stmts", n)
for _, nn := range n.Stmts {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Stmts", n)
}
if n.Catches != nil {
vv := v.GetChildrenVisitor("Catches")
v.EnterChildList("Catches", n)
for _, nn := range n.Catches {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Catches", n)
}
if n.Finally != nil {
vv := v.GetChildrenVisitor("Finally")
n.Finally.Walk(vv)
v.EnterChildNode("Finally", n)
n.Finally.Walk(v)
v.LeaveChildNode("Finally", n)
}
v.LeaveNode(n)

View File

@@ -30,12 +30,13 @@ func (n *Unset) Walk(v walker.Visitor) {
}
if n.Vars != nil {
vv := v.GetChildrenVisitor("Vars")
v.EnterChildList("Vars", n)
for _, nn := range n.Vars {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Vars", n)
}
v.LeaveNode(n)

View File

@@ -40,18 +40,21 @@ func (n *Use) Walk(v walker.Visitor) {
}
if n.UseType != nil {
vv := v.GetChildrenVisitor("UseType")
n.UseType.Walk(vv)
v.EnterChildNode("UseType", n)
n.UseType.Walk(v)
v.LeaveChildNode("UseType", n)
}
if n.Use != nil {
vv := v.GetChildrenVisitor("Use")
n.Use.Walk(vv)
v.EnterChildNode("Use", n)
n.Use.Walk(v)
v.LeaveChildNode("Use", n)
}
if n.Alias != nil {
vv := v.GetChildrenVisitor("Alias")
n.Alias.Walk(vv)
v.EnterChildNode("Alias", n)
n.Alias.Walk(v)
v.LeaveChildNode("Alias", n)
}
v.LeaveNode(n)

View File

@@ -32,17 +32,19 @@ func (n *UseList) Walk(v walker.Visitor) {
}
if n.UseType != nil {
vv := v.GetChildrenVisitor("UseType")
n.UseType.Walk(vv)
v.EnterChildNode("UseType", n)
n.UseType.Walk(v)
v.LeaveChildNode("UseType", n)
}
if n.Uses != nil {
vv := v.GetChildrenVisitor("Uses")
v.EnterChildList("Uses", n)
for _, nn := range n.Uses {
if nn != nil {
nn.Walk(vv)
nn.Walk(v)
}
}
v.LeaveChildList("Uses", n)
}
v.LeaveNode(n)

View File

@@ -32,13 +32,15 @@ func (n *While) Walk(v walker.Visitor) {
}
if n.Cond != nil {
vv := v.GetChildrenVisitor("Cond")
n.Cond.Walk(vv)
v.EnterChildNode("Cond", n)
n.Cond.Walk(v)
v.LeaveChildNode("Cond", n)
}
if n.Stmt != nil {
vv := v.GetChildrenVisitor("Stmt")
n.Stmt.Walk(vv)
v.EnterChildNode("Stmt", n)
n.Stmt.Walk(v)
v.LeaveChildNode("Stmt", n)
}
v.LeaveNode(n)

View File

@@ -369,7 +369,7 @@ var nodesToTest = []struct {
{
&stmt.AltSwitch{
Cond: &expr.Variable{},
CaseList: &stmt.CaseList{Cases: []node.Node{}},
CaseList: &stmt.CaseList{},
},
[]string{"Cond", "CaseList"},
map[string]interface{}{},
@@ -526,11 +526,15 @@ type visitorMock struct {
}
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
func (v *visitorMock) EnterChildNode(key string, w walker.Walkable) {
v.visitedKeys = append(v.visitedKeys, key)
return &visitorMock{v.visitChildren, nil}
}
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
func (v *visitorMock) LeaveChildNode(key string, w walker.Walkable) {}
func (v *visitorMock) EnterChildList(key string, w walker.Walkable) {
v.visitedKeys = append(v.visitedKeys, key)
}
func (v *visitorMock) LeaveChildList(key string, w walker.Walkable) {}
func TestVisitorDisableChildren(t *testing.T) {
for _, tt := range nodesToTest {