walker: leave node event
This commit is contained in:
@@ -23,17 +23,19 @@ func NewBitwiseAnd(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n BitwiseAnd) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func (n BitwiseOr) Name() string {
|
||||
}
|
||||
|
||||
func (n BitwiseOr) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func (n BitwiseXor) Name() string {
|
||||
}
|
||||
|
||||
func (n BitwiseXor) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewBooleanAnd(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n BooleanAnd) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewBooleanOr(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n BooleanOr) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewCoalesce(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Coalesce) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewConcat(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Concat) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewDiv(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Div) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewEqual(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Equal) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewGreater(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Greater) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewGreaterOrEqual(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n GreaterOrEqual) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewIdentical(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Identical) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewLogicalAnd(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n LogicalAnd) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewLogicalOr(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n LogicalOr) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewLogicalXor(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n LogicalXor) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewMinus(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Minus) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewMod(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Mod) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewMul(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Mul) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewNotEqual(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n NotEqual) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewNotIdentical(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n NotIdentical) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewPlus(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Plus) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewPow(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Pow) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewShiftLeft(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n ShiftLeft) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewShiftRight(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n ShiftRight) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewSmaller(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Smaller) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewSmallerOrEqual(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n SmallerOrEqual) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
@@ -23,17 +23,19 @@ func NewSpaceship(variable node.Node, expression node.Node) node.Node {
|
||||
}
|
||||
|
||||
func (n Spaceship) Walk(v node.Visitor) {
|
||||
if v.Visit(n) == false {
|
||||
if v.EnterNode(n) == false {
|
||||
return
|
||||
}
|
||||
|
||||
if n.left != nil {
|
||||
vv := v.Children("left")
|
||||
vv := v.GetChildrenVisitor("left")
|
||||
n.left.Walk(vv)
|
||||
}
|
||||
|
||||
if n.right != nil {
|
||||
vv := v.Children("right")
|
||||
vv := v.GetChildrenVisitor("right")
|
||||
n.right.Walk(vv)
|
||||
}
|
||||
|
||||
v.LeaveNode(n)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user