From 93d92d51ddccbbc689f4b9adeded4f310ba0c363 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 22 Jan 2013 14:29:38 -0800 Subject: cmd/api: fix type scrubbing It wasn't removing names from func parameters for func types, and it was handling "a, b string" as "string", not "string, string". Fixes #4688 R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7181051 --- src/cmd/api/goapi.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/cmd/api/goapi.go') diff --git a/src/cmd/api/goapi.go b/src/cmd/api/goapi.go index 6d39a463f6..1ee852ea79 100644 --- a/src/cmd/api/goapi.go +++ b/src/cmd/api/goapi.go @@ -879,7 +879,7 @@ func (w *Walker) walkTypeSpec(ts *ast.TypeSpec) { case *ast.InterfaceType: w.walkInterfaceType(name, t) default: - w.emitFeature(fmt.Sprintf("type %s %s", name, w.nodeString(ts.Type))) + w.emitFeature(fmt.Sprintf("type %s %s", name, w.nodeString(w.namelessType(ts.Type)))) } } @@ -1120,7 +1120,13 @@ func (w *Walker) namelessFieldList(fl *ast.FieldList) *ast.FieldList { fl2 := &ast.FieldList{} if fl != nil { for _, f := range fl.List { - fl2.List = append(fl2.List, w.namelessField(f)) + repeats := 1 + if len(f.Names) > 1 { + repeats = len(f.Names) + } + for i := 0; i < repeats; i++ { + fl2.List = append(fl2.List, w.namelessField(f)) + } } } return fl2 -- cgit v1.2.1