diff options
Diffstat (limited to 'src/pkg/go/ast/walk.go')
-rw-r--r-- | src/pkg/go/ast/walk.go | 160 |
1 files changed, 80 insertions, 80 deletions
diff --git a/src/pkg/go/ast/walk.go b/src/pkg/go/ast/walk.go index dc9c1fe3b..104596623 100644 --- a/src/pkg/go/ast/walk.go +++ b/src/pkg/go/ast/walk.go @@ -10,7 +10,7 @@ import "fmt" // If the result visitor w is not nil, Walk visits each of the children // of node with the visitor w, followed by a call of w.Visit(nil). type Visitor interface { - Visit(node interface{}) (w Visitor); + Visit(node interface{}) (w Visitor) } @@ -71,13 +71,13 @@ func Walk(v Visitor, node interface{}) { // comments list. case *Field: - walkCommentGroup(v, n.Doc); - Walk(v, n.Names); - Walk(v, n.Type); + walkCommentGroup(v, n.Doc) + Walk(v, n.Names) + Walk(v, n.Type) for _, x := range n.Tag { Walk(v, x) } - walkCommentGroup(v, n.Comment); + walkCommentGroup(v, n.Comment) // Expressions case *BadExpr, *Ident, *Ellipsis, *BasicLit: @@ -92,35 +92,35 @@ func Walk(v Visitor, node interface{}) { if n != nil { Walk(v, n.Type) } - walkBlockStmt(v, n.Body); + walkBlockStmt(v, n.Body) case *CompositeLit: - Walk(v, n.Type); - Walk(v, n.Elts); + Walk(v, n.Type) + Walk(v, n.Elts) case *ParenExpr: Walk(v, n.X) case *SelectorExpr: - Walk(v, n.X); - walkIdent(v, n.Sel); + Walk(v, n.X) + walkIdent(v, n.Sel) case *IndexExpr: - Walk(v, n.X); - Walk(v, n.Index); + Walk(v, n.X) + Walk(v, n.Index) case *SliceExpr: - Walk(v, n.X); - Walk(v, n.Index); - Walk(v, n.End); + Walk(v, n.X) + Walk(v, n.Index) + Walk(v, n.End) case *TypeAssertExpr: - Walk(v, n.X); - Walk(v, n.Type); + Walk(v, n.X) + Walk(v, n.Type) case *CallExpr: - Walk(v, n.Fun); - Walk(v, n.Args); + Walk(v, n.Fun) + Walk(v, n.Args) case *StarExpr: Walk(v, n.X) @@ -129,31 +129,31 @@ func Walk(v Visitor, node interface{}) { Walk(v, n.X) case *BinaryExpr: - Walk(v, n.X); - Walk(v, n.Y); + Walk(v, n.X) + Walk(v, n.Y) case *KeyValueExpr: - Walk(v, n.Key); - Walk(v, n.Value); + Walk(v, n.Key) + Walk(v, n.Value) // Types case *ArrayType: - Walk(v, n.Len); - Walk(v, n.Elt); + Walk(v, n.Len) + Walk(v, n.Elt) case *StructType: Walk(v, n.Fields) case *FuncType: - Walk(v, n.Params); - Walk(v, n.Results); + Walk(v, n.Params) + Walk(v, n.Results) case *InterfaceType: Walk(v, n.Methods) case *MapType: - Walk(v, n.Key); - Walk(v, n.Value); + Walk(v, n.Key) + Walk(v, n.Value) case *ChanType: Walk(v, n.Value) @@ -169,8 +169,8 @@ func Walk(v Visitor, node interface{}) { // nothing to do case *LabeledStmt: - walkIdent(v, n.Label); - Walk(v, n.Stmt); + walkIdent(v, n.Label) + Walk(v, n.Stmt) case *ExprStmt: Walk(v, n.X) @@ -179,8 +179,8 @@ func Walk(v Visitor, node interface{}) { Walk(v, n.X) case *AssignStmt: - Walk(v, n.Lhs); - Walk(v, n.Rhs); + Walk(v, n.Lhs) + Walk(v, n.Rhs) case *GoStmt: if n.Call != nil { @@ -202,99 +202,99 @@ func Walk(v Visitor, node interface{}) { Walk(v, n.List) case *IfStmt: - Walk(v, n.Init); - Walk(v, n.Cond); - walkBlockStmt(v, n.Body); - Walk(v, n.Else); + Walk(v, n.Init) + Walk(v, n.Cond) + walkBlockStmt(v, n.Body) + Walk(v, n.Else) case *CaseClause: - Walk(v, n.Values); - Walk(v, n.Body); + Walk(v, n.Values) + Walk(v, n.Body) case *SwitchStmt: - Walk(v, n.Init); - Walk(v, n.Tag); - walkBlockStmt(v, n.Body); + Walk(v, n.Init) + Walk(v, n.Tag) + walkBlockStmt(v, n.Body) case *TypeCaseClause: - Walk(v, n.Types); - Walk(v, n.Body); + Walk(v, n.Types) + Walk(v, n.Body) case *TypeSwitchStmt: - Walk(v, n.Init); - Walk(v, n.Assign); - walkBlockStmt(v, n.Body); + Walk(v, n.Init) + Walk(v, n.Assign) + walkBlockStmt(v, n.Body) case *CommClause: - Walk(v, n.Lhs); - Walk(v, n.Rhs); - Walk(v, n.Body); + Walk(v, n.Lhs) + Walk(v, n.Rhs) + Walk(v, n.Body) case *SelectStmt: walkBlockStmt(v, n.Body) case *ForStmt: - Walk(v, n.Init); - Walk(v, n.Cond); - Walk(v, n.Post); - walkBlockStmt(v, n.Body); + Walk(v, n.Init) + Walk(v, n.Cond) + Walk(v, n.Post) + walkBlockStmt(v, n.Body) case *RangeStmt: - Walk(v, n.Key); - Walk(v, n.Value); - Walk(v, n.X); - walkBlockStmt(v, n.Body); + Walk(v, n.Key) + Walk(v, n.Value) + Walk(v, n.X) + walkBlockStmt(v, n.Body) // Declarations case *ImportSpec: - walkCommentGroup(v, n.Doc); - walkIdent(v, n.Name); + walkCommentGroup(v, n.Doc) + walkIdent(v, n.Name) for _, x := range n.Path { Walk(v, x) } - walkCommentGroup(v, n.Comment); + walkCommentGroup(v, n.Comment) case *ValueSpec: - walkCommentGroup(v, n.Doc); - Walk(v, n.Names); - Walk(v, n.Type); - Walk(v, n.Values); - walkCommentGroup(v, n.Comment); + walkCommentGroup(v, n.Doc) + Walk(v, n.Names) + Walk(v, n.Type) + Walk(v, n.Values) + walkCommentGroup(v, n.Comment) case *TypeSpec: - walkCommentGroup(v, n.Doc); - walkIdent(v, n.Name); - Walk(v, n.Type); - walkCommentGroup(v, n.Comment); + walkCommentGroup(v, n.Doc) + walkIdent(v, n.Name) + Walk(v, n.Type) + walkCommentGroup(v, n.Comment) case *BadDecl: // nothing to do case *GenDecl: - walkCommentGroup(v, n.Doc); + walkCommentGroup(v, n.Doc) for _, s := range n.Specs { Walk(v, s) } case *FuncDecl: - walkCommentGroup(v, n.Doc); + walkCommentGroup(v, n.Doc) if n.Recv != nil { Walk(v, n.Recv) } - walkIdent(v, n.Name); + walkIdent(v, n.Name) if n.Type != nil { Walk(v, n.Type) } - walkBlockStmt(v, n.Body); + walkBlockStmt(v, n.Body) // Files and packages case *File: - walkCommentGroup(v, n.Doc); - walkIdent(v, n.Name); + walkCommentGroup(v, n.Doc) + walkIdent(v, n.Name) for _, d := range n.Decls { Walk(v, d) } - walkCommentGroup(v, n.Comments); + walkCommentGroup(v, n.Comments) case *Package: for _, f := range n.Files { @@ -322,9 +322,9 @@ func Walk(v Visitor, node interface{}) { } default: - fmt.Printf("ast.Walk: unexpected type %T", n); - panic(); + fmt.Printf("ast.Walk: unexpected type %T", n) + panic() } - v.Visit(nil); + v.Visit(nil) } |