diff options
author | Keith Randall <khr@golang.org> | 2021-07-22 15:30:01 -0700 |
---|---|---|
committer | Keith Randall <khr@golang.org> | 2021-07-23 03:55:44 +0000 |
commit | 4cdc65d32a3f0378cc508e8eb395063b83683fd4 (patch) | |
tree | 48db4c555e7900b7fbcc7a5bc37cba19d5ee2d0e /src/cmd/compile/internal/types/fmt.go | |
parent | 244267e8c4aebfadce5a43a7395ae59eacd76a21 (diff) | |
download | go-4cdc65d32a3f0378cc508e8eb395063b83683fd4.tar.gz go-4cdc65d32a3f0378cc508e8eb395063b83683fd4.zip |
[dev.typeparams] cmd/compile/internal/types: format union types
Previously it was just printing <S>. Now it prints things like int32|~int64.
Change-Id: I960b011ce8ed360020a49ae7809d85d1d1fdbfb2
Reviewed-on: https://go-review.googlesource.com/c/go/+/336692
Trust: Keith Randall <khr@golang.org>
Trust: Dan Scales <danscales@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
Diffstat (limited to 'src/cmd/compile/internal/types/fmt.go')
-rw-r--r-- | src/cmd/compile/internal/types/fmt.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/types/fmt.go b/src/cmd/compile/internal/types/fmt.go index a52dd060a01..0824f6d0936 100644 --- a/src/cmd/compile/internal/types/fmt.go +++ b/src/cmd/compile/internal/types/fmt.go @@ -590,6 +590,18 @@ func tconv2(b *bytes.Buffer, t *Type, verb rune, mode fmtMode, visited map[*Type b.WriteString(fmt.Sprintf("%p", t)) } + case TUNION: + for i := 0; i < t.NumTerms(); i++ { + if i > 0 { + b.WriteString("|") + } + elem, tilde := t.Term(i) + if tilde { + b.WriteString("~") + } + tconv2(b, elem, 0, mode, visited) + } + case Txxx: b.WriteString("Txxx") |