From: Rob Pike Date: Fri, 18 Sep 2015 21:53:33 +0000 (-0700) Subject: cmd/doc: don't drop const/var block if first entry is unexported X-Git-Tag: go1.6beta1~1019 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=4e99ed6fef28bc263ec42e63fd717a13367fb659;p=gostls13.git cmd/doc: don't drop const/var block if first entry is unexported The code assumed that if the first entry was unexported, all the entries were. The fix is simple: delete a bunch of code. Fixes #12286. Change-Id: Icb09274e99ce97df4d8bddbe59d17a5c0622e4c6 Reviewed-on: https://go-review.googlesource.com/14780 Reviewed-by: Andrew Gerrand --- diff --git a/src/cmd/doc/doc_test.go b/src/cmd/doc/doc_test.go index b97cc7688d..b3b0f606cd 100644 --- a/src/cmd/doc/doc_test.go +++ b/src/cmd/doc/doc_test.go @@ -54,6 +54,7 @@ var tests = []test{ `Package comment`, `const ExportedConstant = 1`, // Simple constant. `const ConstOne = 1`, // First entry in constant block. + `const ConstFive ...`, // From block starting with unexported constant. `var ExportedVariable = 1`, // Simple variable. `var VarOne = 1`, // First entry in variable block. `func ExportedFunc\(a int\) bool`, // Function. @@ -73,6 +74,7 @@ var tests = []test{ `Comment before VarOne`, // No comment for first entry in variable block. `ConstTwo = 2`, // No second entry in constant block. `VarTwo = 2`, // No second entry in variable block. + `VarFive = 5`, // From block starting with unexported variable. `type unexportedType`, // No unexported type. `unexportedTypedConstant`, // No unexported typed constant. `Field`, // No fields. diff --git a/src/cmd/doc/pkg.go b/src/cmd/doc/pkg.go index daa22e459d..3e97fd3461 100644 --- a/src/cmd/doc/pkg.go +++ b/src/cmd/doc/pkg.go @@ -257,18 +257,7 @@ func (pkg *Package) packageClause(checkUserPath bool) { // valueSummary prints a one-line summary for each set of values and constants. func (pkg *Package) valueSummary(values []*doc.Value) { for _, value := range values { - // Only print first item in spec, show ... to stand for the rest. - spec := value.Decl.Specs[0].(*ast.ValueSpec) // Must succeed. - exported := true - for _, name := range spec.Names { - if !isExported(name.Name) { - exported = false - break - } - } - if exported { - pkg.oneLineValueGenDecl(value.Decl) - } + pkg.oneLineValueGenDecl(value.Decl) } } diff --git a/src/cmd/doc/testdata/pkg.go b/src/cmd/doc/testdata/pkg.go index ebefb50b2a..0f06651d6b 100644 --- a/src/cmd/doc/testdata/pkg.go +++ b/src/cmd/doc/testdata/pkg.go @@ -21,6 +21,13 @@ const ( constThree = 3 // Comment on line with constThree. ) +// Const block where first entry is unexported. +const ( + constFour = iota + ConstFive + ConstSix +) + // Variables // Comment about exported variable. @@ -37,6 +44,13 @@ var ( varThree = 3 // Comment on line with varThree. ) +// Var block where first entry is unexported. +var ( + varFour = 4 + VarFive = 5 + varSix = 6 +) + // Comment about exported function. func ExportedFunc(a int) bool