rename Walker to Walkable interface
This commit is contained in:
parent
a762ab3754
commit
e3ed427fac
@ -137,12 +137,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestVisitorDisableChildren(t *testing.T) {
|
func TestVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nodesToTest {
|
for _, tt := range nodesToTest {
|
||||||
|
@ -240,12 +240,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestVisitorDisableChildren(t *testing.T) {
|
func TestVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nodesToTest {
|
for _, tt := range nodesToTest {
|
||||||
|
@ -73,12 +73,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestVisitorDisableChildren(t *testing.T) {
|
func TestVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nodesToTest {
|
for _, tt := range nodesToTest {
|
||||||
|
@ -360,12 +360,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestVisitorDisableChildren(t *testing.T) {
|
func TestVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nodesToTest {
|
for _, tt := range nodesToTest {
|
||||||
|
@ -43,12 +43,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestNameVisitorDisableChildren(t *testing.T) {
|
func TestNameVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nameNodesTests {
|
for _, tt := range nameNodesTests {
|
||||||
|
@ -4,6 +4,6 @@ import "github.com/z7zmey/php-parser/walker"
|
|||||||
|
|
||||||
// Node interface
|
// Node interface
|
||||||
type Node interface {
|
type Node interface {
|
||||||
walker.Walker
|
walker.Walkable
|
||||||
Attributes() map[string]interface{} // Attributes returns node attributes as map
|
Attributes() map[string]interface{} // Attributes returns node attributes as map
|
||||||
}
|
}
|
||||||
|
@ -52,12 +52,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestNameVisitorDisableChildren(t *testing.T) {
|
func TestNameVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nameNodesTests {
|
for _, tt := range nameNodesTests {
|
||||||
|
@ -486,12 +486,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestVisitorDisableChildren(t *testing.T) {
|
func TestVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nodesToTest {
|
for _, tt := range nodesToTest {
|
||||||
|
@ -51,12 +51,12 @@ type visitorMock struct {
|
|||||||
visitedKeys []string
|
visitedKeys []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *visitorMock) EnterNode(n walker.Walker) bool { return v.visitChildren }
|
func (v *visitorMock) EnterNode(n walker.Walkable) bool { return v.visitChildren }
|
||||||
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
func (v *visitorMock) GetChildrenVisitor(key string) walker.Visitor {
|
||||||
v.visitedKeys = append(v.visitedKeys, key)
|
v.visitedKeys = append(v.visitedKeys, key)
|
||||||
return &visitorMock{v.visitChildren, nil}
|
return &visitorMock{v.visitChildren, nil}
|
||||||
}
|
}
|
||||||
func (v *visitorMock) LeaveNode(n walker.Walker) {}
|
func (v *visitorMock) LeaveNode(n walker.Walkable) {}
|
||||||
|
|
||||||
func TestNameVisitorDisableChildren(t *testing.T) {
|
func TestNameVisitorDisableChildren(t *testing.T) {
|
||||||
for _, tt := range nodesToTest {
|
for _, tt := range nodesToTest {
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"github.com/z7zmey/php-parser/walker"
|
"github.com/z7zmey/php-parser/walker"
|
||||||
)
|
)
|
||||||
|
|
||||||
func isWalkerImplementsNodeInterface(w walker.Walker) bool {
|
func isWalkerImplementsNodeInterface(w walker.Walkable) bool {
|
||||||
switch w.(type) {
|
switch w.(type) {
|
||||||
case node.Node:
|
case node.Node:
|
||||||
return true
|
return true
|
||||||
@ -29,7 +29,7 @@ type Dumper struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// EnterNode is invoked at every node in heirerchy
|
// EnterNode is invoked at every node in heirerchy
|
||||||
func (d Dumper) EnterNode(w walker.Walker) bool {
|
func (d Dumper) EnterNode(w walker.Walkable) bool {
|
||||||
if !isWalkerImplementsNodeInterface(w) {
|
if !isWalkerImplementsNodeInterface(w) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -62,6 +62,6 @@ func (d Dumper) GetChildrenVisitor(key string) walker.Visitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// LeaveNode is invoked after node process
|
// LeaveNode is invoked after node process
|
||||||
func (d Dumper) LeaveNode(n walker.Walker) {
|
func (d Dumper) LeaveNode(n walker.Walkable) {
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package walker
|
package walker
|
||||||
|
|
||||||
// Walker interface
|
// Walkable interface
|
||||||
type Walker interface {
|
type Walkable interface {
|
||||||
Walk(v Visitor)
|
Walk(v Visitor)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Visitor interface
|
// Visitor interface
|
||||||
type Visitor interface {
|
type Visitor interface {
|
||||||
EnterNode(w Walker) bool // EnterNode invoked for each node encountered by Walk.
|
EnterNode(w Walkable) bool // EnterNode invoked for each node encountered by Walk.
|
||||||
GetChildrenVisitor(Key string) Visitor // GetChildrenVisitor returns visitor for children nodes
|
GetChildrenVisitor(Key string) Visitor // GetChildrenVisitor returns visitor for children nodes
|
||||||
LeaveNode(w Walker) // LeaveNode invoked after process node
|
LeaveNode(w Walkable) // LeaveNode invoked after process node
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user