]> Cypherpunks repositories - gostls13.git/commitdiff
- include type-associated consts and vars when filtering a PackageDoc
authorRobert Griesemer <gri@golang.org>
Thu, 3 Dec 2009 19:25:20 +0000 (11:25 -0800)
committerRobert Griesemer <gri@golang.org>
Thu, 3 Dec 2009 19:25:20 +0000 (11:25 -0800)
- fixes a godoc issue (for instance, "godoc os EOF" now shows an entry)

R=r
CC=rsc
https://golang.org/cl/165042

src/pkg/go/doc/doc.go

index 6b8cf87c8238998c3d1e940801a6e3ab43a3fcbb..b7cc8f3b0f773b9db04c0c64632e1c914cfd64ff 100644 (file)
@@ -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++;
                }