diff options
author | Robert Griesemer <gri@golang.org> | 2009-12-03 11:25:20 -0800 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2009-12-03 11:25:20 -0800 |
commit | b19e5e9ba158f863fcfc4ea9a1b898d53a34a5c2 (patch) | |
tree | a32b1fb23e93ac55f117b511d3fff2428482fbe3 /src/pkg/go/doc/doc.go | |
parent | 36ce4c427976ae699ee4171f0870894e11c38383 (diff) | |
download | golang-b19e5e9ba158f863fcfc4ea9a1b898d53a34a5c2.tar.gz |
- include type-associated consts and vars when filtering a PackageDoc
- fixes a godoc issue (for instance, "godoc os EOF" now shows an entry)
R=r
CC=rsc
http://codereview.appspot.com/165042
Diffstat (limited to 'src/pkg/go/doc/doc.go')
-rw-r--r-- | src/pkg/go/doc/doc.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/pkg/go/doc/doc.go b/src/pkg/go/doc/doc.go index 6b8cf87c8..b7cc8f3b0 100644 --- a/src/pkg/go/doc/doc.go +++ b/src/pkg/go/doc/doc.go @@ -561,8 +561,8 @@ func isRegexp(s string) bool { } -func match(s string, a []string) bool { - for _, t := range a { +func match(s string, names []string) bool { + for _, t := range names { if isRegexp(t) { if matched, _ := regexp.MatchString(t, s); matched { return true @@ -622,16 +622,18 @@ func filterFuncDocs(a []*FuncDoc, names []string) []*FuncDoc { func filterTypeDocs(a []*TypeDoc, names []string) []*TypeDoc { w := 0; for _, td := range a { - match := false; + n := 0; // number of matches if matchDecl(td.Decl, names) { - match = true + n = 1 } else { - // type name doesn't match, but we may have matching factories or methods + // type name doesn't match, but we may have matching consts, vars, factories or methods + td.Consts = filterValueDocs(td.Consts, names); + td.Vars = filterValueDocs(td.Vars, names); td.Factories = filterFuncDocs(td.Factories, names); td.Methods = filterFuncDocs(td.Methods, names); - match = len(td.Factories) > 0 || len(td.Methods) > 0; + n += len(td.Consts) + len(td.Vars) + len(td.Factories) + len(td.Methods); } - if match { + if n > 0 { a[w] = td; w++; } |