]> Cypherpunks repositories - gostls13.git/commit
cmd/doc: show documentation for interface methods when requested explicitly
authorRob Pike <r@golang.org>
Mon, 24 Oct 2016 19:38:06 +0000 (12:38 -0700)
committerRob Pike <r@golang.org>
Tue, 25 Oct 2016 20:09:49 +0000 (20:09 +0000)
commit2ee82edfc2c904c952daef6f442c223b1568cb66
treed613beac3afce41b197615a01fd1c23db6f69b57
parent050f378085da91ce65d2c0157b9bebcced5f883f
cmd/doc: show documentation for interface methods when requested explicitly

For historical reasons, the go/doc package does not include
the methods within an interface as part of the documented
methods for that type. Thus,

go doc ast.Node.Pos

gives an incorrect and confusing error message:

doc: no method Node.Pos in package go/ast

This CL does some dirty work to dig down to the methods
so interface methods now present their documentation:

% go doc ast.node.pos
func Pos() token.Pos  // position of first character belonging to the node
%

It must largely sidestep the doc package to do this, which
is a shame. Perhaps things will improve there one day.

The change does not handle embeddings, and in principle the
same approach could be done for struct fields, but that is also
not here yet. But this CL fixes the thing that was bugging me.

Change-Id: Ic10a91936da96f54ee0b2f4a4fe4a8c9b93a5b4a
Reviewed-on: https://go-review.googlesource.com/31852
Reviewed-by: Robert Griesemer <gri@golang.org>
src/cmd/doc/doc_test.go
src/cmd/doc/pkg.go