diff options
author | Robert Griesemer <gri@golang.org> | 2020-10-14 22:09:47 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2020-10-15 18:51:03 +0000 |
commit | e9e58a4d49f518ab6ce3a2b2ed4efb34e022c1d4 (patch) | |
tree | 43de44f39f42a676104cd6aa75657a2696129f22 /src/cmd/compile/internal/syntax/printer.go | |
parent | 73f529845c91818c58f26994099db17c8ee2b2f3 (diff) | |
download | go-e9e58a4d49f518ab6ce3a2b2ed4efb34e022c1d4.tar.gz go-e9e58a4d49f518ab6ce3a2b2ed4efb34e022c1d4.zip |
[dev.typeparams] cmd/compile/internal/syntax: fix printing of channel types
Change-Id: I80a3ca77d0642711913c9584e70059e4ed668860
Reviewed-on: https://go-review.googlesource.com/c/go/+/262444
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/compile/internal/syntax/printer.go')
-rw-r--r-- | src/cmd/compile/internal/syntax/printer.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/syntax/printer.go b/src/cmd/compile/internal/syntax/printer.go index 8ff3bfa794..c8bf59675a 100644 --- a/src/cmd/compile/internal/syntax/printer.go +++ b/src/cmd/compile/internal/syntax/printer.go @@ -484,7 +484,15 @@ func (p *printer) printRawNode(n Node) { if n.Dir == SendOnly { p.print(_Arrow) } - p.print(blank, n.Elem) + p.print(blank) + if e, _ := n.Elem.(*ChanType); n.Dir == 0 && e != nil && e.Dir == RecvOnly { + // don't print chan (<-chan T) as chan <-chan T + p.print(_Lparen) + p.print(n.Elem) + p.print(_Rparen) + } else { + p.print(n.Elem) + } // statements case *DeclStmt: |