walker pakage

This commit is contained in:
z7zmey
2018-01-17 18:58:45 +02:00
parent 6d90e1258f
commit 76df2ba69b
164 changed files with 368 additions and 210 deletions

13
walker/walker.go Normal file
View File

@@ -0,0 +1,13 @@
package walker
// Walker interface
type Walker interface {
Walk(v Visitor)
}
// Visitor interface
type Visitor interface {
EnterNode(w Walker) bool // EnterNode invoked for each node encountered by Walk.
GetChildrenVisitor(Key string) Visitor // GetChildrenVisitor returns visitor for children nodes
LeaveNode(w Walker) // LeaveNode invoked after process node
}