aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/types/fmt.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2021-07-22 15:30:01 -0700
committerKeith Randall <khr@golang.org>2021-07-23 03:55:44 +0000
commit4cdc65d32a3f0378cc508e8eb395063b83683fd4 (patch)
tree48db4c555e7900b7fbcc7a5bc37cba19d5ee2d0e /src/cmd/compile/internal/types/fmt.go
parent244267e8c4aebfadce5a43a7395ae59eacd76a21 (diff)
downloadgo-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.go12
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")