diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-08-26 21:36:08 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-08-27 11:51:40 +0200 |
| commit | a3857c4e90fa4a3fbe78bd4b53cdc77aa91533cf (patch) | |
| tree | 8bc28379a29112de7bc11c57f3d91d0baba84594 /pkg/ast/walk.go | |
| parent | 9ec49e082f811482ecdccc837c27961d68247d25 (diff) | |
pkg/compiler, sys/syz-sysgen: move const handling to pkg/compiler
Now pkg/compiler deals with consts.
Diffstat (limited to 'pkg/ast/walk.go')
| -rw-r--r-- | pkg/ast/walk.go | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/pkg/ast/walk.go b/pkg/ast/walk.go index f4daeaccd..90a92cf77 100644 --- a/pkg/ast/walk.go +++ b/pkg/ast/walk.go @@ -8,13 +8,13 @@ import ( ) // Walk calls callback cb for every node in AST. -func Walk(top []interface{}, cb func(n interface{})) { - for _, decl := range top { - walkNode(decl, cb) +func Walk(desc *Description, cb func(n Node)) { + for _, n := range desc.Nodes { + WalkNode(n, cb) } } -func walkNode(n0 interface{}, cb func(n interface{})) { +func WalkNode(n0 Node, cb func(n Node)) { switch n := n0.(type) { case *NewLine: cb(n) @@ -22,53 +22,53 @@ func walkNode(n0 interface{}, cb func(n interface{})) { cb(n) case *Include: cb(n) - walkNode(n.File, cb) + WalkNode(n.File, cb) case *Incdir: cb(n) - walkNode(n.Dir, cb) + WalkNode(n.Dir, cb) case *Define: cb(n) - walkNode(n.Name, cb) - walkNode(n.Value, cb) + WalkNode(n.Name, cb) + WalkNode(n.Value, cb) case *Resource: cb(n) - walkNode(n.Name, cb) - walkNode(n.Base, cb) + WalkNode(n.Name, cb) + WalkNode(n.Base, cb) for _, v := range n.Values { - walkNode(v, cb) + WalkNode(v, cb) } case *Call: cb(n) - walkNode(n.Name, cb) + WalkNode(n.Name, cb) for _, f := range n.Args { - walkNode(f, cb) + WalkNode(f, cb) } if n.Ret != nil { - walkNode(n.Ret, cb) + WalkNode(n.Ret, cb) } case *Struct: cb(n) - walkNode(n.Name, cb) + WalkNode(n.Name, cb) for _, f := range n.Fields { - walkNode(f, cb) + WalkNode(f, cb) } for _, a := range n.Attrs { - walkNode(a, cb) + WalkNode(a, cb) } for _, c := range n.Comments { - walkNode(c, cb) + WalkNode(c, cb) } case *IntFlags: cb(n) - walkNode(n.Name, cb) + WalkNode(n.Name, cb) for _, v := range n.Values { - walkNode(v, cb) + WalkNode(v, cb) } case *StrFlags: cb(n) - walkNode(n.Name, cb) + WalkNode(n.Name, cb) for _, v := range n.Values { - walkNode(v, cb) + WalkNode(v, cb) } case *Ident: cb(n) @@ -79,14 +79,14 @@ func walkNode(n0 interface{}, cb func(n interface{})) { case *Type: cb(n) for _, t := range n.Args { - walkNode(t, cb) + WalkNode(t, cb) } case *Field: cb(n) - walkNode(n.Name, cb) - walkNode(n.Type, cb) + WalkNode(n.Name, cb) + WalkNode(n.Type, cb) for _, c := range n.Comments { - walkNode(c, cb) + WalkNode(c, cb) } default: panic(fmt.Sprintf("unknown AST node: %#v", n)) |
