1
0
mirror of https://github.com/golang/go synced 2024-09-29 16:24:28 -06:00

cmd/doc: fix "builtin" package parsing

As stated in the code, "The builtin package needs special treatment: its
symbols are lower case but we want to see them, always". Thus, cmd/doc
forces the -u flag if the package being queried is called "builtin".
However, this happens after having already parsed the package. This
CL forces the -u flag just after parsing the command arguments and
before parsing any package.

Fixes #49796.

Change-Id: If690a900c7cfd1700feecb9529bd4344c3c249d1
Reviewed-on: https://go-review.googlesource.com/c/go/+/367134
Reviewed-by: Rob Pike <r@golang.org>
Run-TryBot: Rob Pike <r@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
This commit is contained in:
Roi Martin 2021-11-25 13:47:39 +01:00 committed by Ian Lance Taylor
parent 77038044ca
commit bf88adadac

View File

@ -110,6 +110,13 @@ func do(writer io.Writer, flagSet *flag.FlagSet, args []string) (err error) {
if buildPackage == nil {
return fmt.Errorf("no such package: %s", userPath)
}
// The builtin package needs special treatment: its symbols are lower
// case but we want to see them, always.
if buildPackage.ImportPath == "builtin" {
unexported = true
}
symbol, method = parseSymbol(sym)
pkg := parsePackage(writer, buildPackage, userPath)
paths = append(paths, pkg.prettyPath())
@ -128,12 +135,6 @@ func do(writer io.Writer, flagSet *flag.FlagSet, args []string) (err error) {
panic(e)
}()
// The builtin package needs special treatment: its symbols are lower
// case but we want to see them, always.
if pkg.build.ImportPath == "builtin" {
unexported = true
}
// We have a package.
if showAll && symbol == "" {
pkg.allDoc()