]> Cypherpunks repositories - gostls13.git/commit
cmd/doc: perform type grouping for constants and variables
authorJoe Tsai <joetsai@digital-static.net>
Wed, 3 Aug 2016 01:42:58 +0000 (18:42 -0700)
committerJoe Tsai <thebrokentoaster@gmail.com>
Fri, 30 Sep 2016 23:40:48 +0000 (23:40 +0000)
commiteca4e446115be5653a3963c37459a263569390c5
treec6f368b9965836e9c9b309f340c1ae39baa6897f
parentc5f064ee49e98c00c7959fdf095e2c61ff0747b8
cmd/doc: perform type grouping for constants and variables

In golang.org/cl/22354, we added functionality to group functions under the
type that they construct to. In this CL, we extend the same concept to
constants and variables. This makes the doc tool more consistent with what
the godoc website does.

$ go doc reflect | egrep "ChanDir|Kind|SelectDir"
<<<
// Before:
const RecvDir ChanDir = 1 << iota ...
const Invalid Kind = iota ...
type ChanDir int
type Kind uint
type SelectDir int
    func ChanOf(dir ChanDir, t Type) Type

// After:
type ChanDir int
    const RecvDir ChanDir = 1 << iota ...
type Kind uint
    const Invalid Kind = iota ...
type SelectDir int
    const SelectSend SelectDir ...
    func ChanOf(dir ChanDir, t Type) Type
>>>

Furthermore, a fix was made to ensure that the type was printed in constant
blocks when the iota was applied on an unexported field.

$ go doc reflect SelectSend
<<<
// Before:
const (
SelectSend    // case Chan <- Send
SelectRecv    // case <-Chan:
SelectDefault // default
)

// After:
const (
SelectSend    SelectDir // case Chan <- Send
SelectRecv              // case <-Chan:
SelectDefault           // default
)
>>>

Fixes #16569

Change-Id: I26124c3d19e50caf9742bb936803a665e0fa6512
Reviewed-on: https://go-review.googlesource.com/25419
Reviewed-by: Rob Pike <r@golang.org>
Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/doc/doc_test.go
src/cmd/doc/pkg.go
src/cmd/doc/testdata/pkg.go