• Joe Tsai's avatar
    cmd/doc: perform type grouping for constants and variables · eca4e446
    Joe Tsai authored
    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/25419Reviewed-by: 's avatarRob Pike <r@golang.org>
    Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    eca4e446
doc_test.go 14.5 KB