1
0
mirror of https://github.com/golang/go synced 2024-11-26 08:17:59 -07:00

go/ast: print CommentMap contents in source order

Sort the comment map entries before printing.
Makes it easier to use the output for debugging.

For #39753.

Change-Id: Ic8e7d27dd2df59173e2c3a04a6b71ae966703885
Reviewed-on: https://go-review.googlesource.com/c/go/+/315370
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
This commit is contained in:
Robert Griesemer 2021-04-29 21:38:43 -07:00
parent 06ac303f6a
commit 0dfb6fb490

View File

@ -315,9 +315,17 @@ loop:
} }
func (cmap CommentMap) String() string { func (cmap CommentMap) String() string {
// print map entries in sorted order
var nodes []Node
for node := range cmap {
nodes = append(nodes, node)
}
sort.Sort(byInterval(nodes))
var buf bytes.Buffer var buf bytes.Buffer
fmt.Fprintln(&buf, "CommentMap {") fmt.Fprintln(&buf, "CommentMap {")
for node, comment := range cmap { for _, node := range nodes {
comment := cmap[node]
// print name of identifiers; print node type for other nodes // print name of identifiers; print node type for other nodes
var s string var s string
if ident, ok := node.(*Ident); ok { if ident, ok := node.(*Ident); ok {