]> Cypherpunks repositories - gostls13.git/commit
go/doc: don't show methods of exported anonymous fields
authorRobert Griesemer <gri@golang.org>
Fri, 27 Jan 2012 22:45:47 +0000 (14:45 -0800)
committerRobert Griesemer <gri@golang.org>
Fri, 27 Jan 2012 22:45:47 +0000 (14:45 -0800)
commitb3a5f9e51ba86bafe414e8a7036a090d9da9a660
tree9f4f8bd86e42f4982436e94af79392b5590f2bd0
parenta0d0ed200210012a42d4f6e32b4b52004ca3c46e
go/doc: don't show methods of exported anonymous fields

Added flag AllMethods: if not set (future default), embedded
methods of exported (and thus visible) embedded fields are not
shown in the final package documentation

The actual change for AllMethods is just in sortedFuncs. All
other changes are simplifications of the existing logic (mostly
deletion of code): Because method conflicts due to embedding
must always be detected, remove any premature elimination of
types and methods. Instead collect all named types and all
methods and do the filtering at the end.

Miscellaneous:
- renamed baseType -> namedType
- streamline logic for recording embedded types
- record embedded types via a map (simpler data structures)

AllMethods is set by default; so the output is unchanged and
the tests pass. The next CL will enable the AllMethods flag
and have adjusted tests (and fix issue 2791).

R=rsc
CC=golang-dev
https://golang.org/cl/5572076
src/pkg/go/doc/doc.go
src/pkg/go/doc/exports.go
src/pkg/go/doc/reader.go