Commit 0eb42fa6 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

cmd/api: use one token.FileSet for all contexts

Prep for future CL.

R=gri
CC=golang-dev
https://golang.org/cl/6843048
parent 9799a5a4
...@@ -290,10 +290,11 @@ type pkgSymbol struct { ...@@ -290,10 +290,11 @@ type pkgSymbol struct {
symbol string // "RoundTripper" symbol string // "RoundTripper"
} }
var fset = token.NewFileSet()
type Walker struct { type Walker struct {
context *build.Context context *build.Context
root string root string
fset *token.FileSet
scope []string scope []string
features map[string]bool // set features map[string]bool // set
lastConstType string lastConstType string
...@@ -310,7 +311,6 @@ type Walker struct { ...@@ -310,7 +311,6 @@ type Walker struct {
func NewWalker() *Walker { func NewWalker() *Walker {
return &Walker{ return &Walker{
fset: token.NewFileSet(),
features: make(map[string]bool), features: make(map[string]bool),
packageState: make(map[string]loadState), packageState: make(map[string]loadState),
interfaces: make(map[pkgSymbol]*ast.InterfaceType), interfaces: make(map[pkgSymbol]*ast.InterfaceType),
...@@ -386,7 +386,7 @@ func (w *Walker) WalkPackage(name string) { ...@@ -386,7 +386,7 @@ func (w *Walker) WalkPackage(name string) {
files := append(append([]string{}, info.GoFiles...), info.CgoFiles...) files := append(append([]string{}, info.GoFiles...), info.CgoFiles...)
for _, file := range files { for _, file := range files {
f, err := parser.ParseFile(w.fset, filepath.Join(dir, file), nil, 0) f, err := parser.ParseFile(fset, filepath.Join(dir, file), nil, 0)
if err != nil { if err != nil {
log.Fatalf("error parsing package %s, file %s: %v", name, file, err) log.Fatalf("error parsing package %s, file %s: %v", name, file, err)
} }
...@@ -521,7 +521,7 @@ func (w *Walker) walkFile(file *ast.File) { ...@@ -521,7 +521,7 @@ func (w *Walker) walkFile(file *ast.File) {
// Ignore. Handled in subsequent pass, by go/doc. // Ignore. Handled in subsequent pass, by go/doc.
default: default:
log.Printf("unhandled %T, %#v\n", di, di) log.Printf("unhandled %T, %#v\n", di, di)
printer.Fprint(os.Stderr, w.fset, di) printer.Fprint(os.Stderr, fset, di)
os.Stderr.Write([]byte("\n")) os.Stderr.Write([]byte("\n"))
} }
} }
...@@ -835,7 +835,7 @@ func (w *Walker) nodeString(node interface{}) string { ...@@ -835,7 +835,7 @@ func (w *Walker) nodeString(node interface{}) string {
return "" return ""
} }
var b bytes.Buffer var b bytes.Buffer
printer.Fprint(&b, w.fset, node) printer.Fprint(&b, fset, node)
return b.String() return b.String()
} }
...@@ -844,7 +844,7 @@ func (w *Walker) nodeDebug(node interface{}) string { ...@@ -844,7 +844,7 @@ func (w *Walker) nodeDebug(node interface{}) string {
return "" return ""
} }
var b bytes.Buffer var b bytes.Buffer
ast.Fprint(&b, w.fset, node, nil) ast.Fprint(&b, fset, node, nil)
return b.String() return b.String()
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment