mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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 <adg@golang.org>
This commit is contained in:
parent
fcf8143d63
commit
4e99ed6fef
3 changed files with 17 additions and 12 deletions
|
|
@ -54,6 +54,7 @@ var tests = []test{
|
||||||
`Package comment`,
|
`Package comment`,
|
||||||
`const ExportedConstant = 1`, // Simple constant.
|
`const ExportedConstant = 1`, // Simple constant.
|
||||||
`const ConstOne = 1`, // First entry in constant block.
|
`const ConstOne = 1`, // First entry in constant block.
|
||||||
|
`const ConstFive ...`, // From block starting with unexported constant.
|
||||||
`var ExportedVariable = 1`, // Simple variable.
|
`var ExportedVariable = 1`, // Simple variable.
|
||||||
`var VarOne = 1`, // First entry in variable block.
|
`var VarOne = 1`, // First entry in variable block.
|
||||||
`func ExportedFunc\(a int\) bool`, // Function.
|
`func ExportedFunc\(a int\) bool`, // Function.
|
||||||
|
|
@ -73,6 +74,7 @@ var tests = []test{
|
||||||
`Comment before VarOne`, // No comment for first entry in variable block.
|
`Comment before VarOne`, // No comment for first entry in variable block.
|
||||||
`ConstTwo = 2`, // No second entry in constant block.
|
`ConstTwo = 2`, // No second entry in constant block.
|
||||||
`VarTwo = 2`, // No second entry in variable block.
|
`VarTwo = 2`, // No second entry in variable block.
|
||||||
|
`VarFive = 5`, // From block starting with unexported variable.
|
||||||
`type unexportedType`, // No unexported type.
|
`type unexportedType`, // No unexported type.
|
||||||
`unexportedTypedConstant`, // No unexported typed constant.
|
`unexportedTypedConstant`, // No unexported typed constant.
|
||||||
`Field`, // No fields.
|
`Field`, // No fields.
|
||||||
|
|
|
||||||
|
|
@ -257,18 +257,7 @@ func (pkg *Package) packageClause(checkUserPath bool) {
|
||||||
// valueSummary prints a one-line summary for each set of values and constants.
|
// valueSummary prints a one-line summary for each set of values and constants.
|
||||||
func (pkg *Package) valueSummary(values []*doc.Value) {
|
func (pkg *Package) valueSummary(values []*doc.Value) {
|
||||||
for _, value := range values {
|
for _, value := range values {
|
||||||
// Only print first item in spec, show ... to stand for the rest.
|
pkg.oneLineValueGenDecl(value.Decl)
|
||||||
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)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
14
src/cmd/doc/testdata/pkg.go
vendored
14
src/cmd/doc/testdata/pkg.go
vendored
|
|
@ -21,6 +21,13 @@ const (
|
||||||
constThree = 3 // Comment on line with constThree.
|
constThree = 3 // Comment on line with constThree.
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Const block where first entry is unexported.
|
||||||
|
const (
|
||||||
|
constFour = iota
|
||||||
|
ConstFive
|
||||||
|
ConstSix
|
||||||
|
)
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
|
|
||||||
// Comment about exported variable.
|
// Comment about exported variable.
|
||||||
|
|
@ -37,6 +44,13 @@ var (
|
||||||
varThree = 3 // Comment on line with varThree.
|
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.
|
// Comment about exported function.
|
||||||
func ExportedFunc(a int) bool
|
func ExportedFunc(a int) bool
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue