1
0
mirror of https://github.com/golang/go synced 2024-11-19 14:44:40 -07:00

cmd/compile: fix printing of untyped types in -W output

It's always useful to distinguish "bool" and "string" from "untyped
bool" and "untyped string", so change typefmt to do this
unconditionally.

Also, while here, replace a bare 0 with its named constant FErr.

Fixes #23833.

Change-Id: I3fcb8d7204686937439caaaf8b3973fc236d0387
Reviewed-on: https://go-review.googlesource.com/94021
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Matthew Dempsky 2018-02-14 13:51:51 -08:00
parent beeab6ac02
commit c3e8da67dd

View File

@ -701,15 +701,15 @@ func typefmt(t *types.Type, flag FmtFlag, mode fmtMode, depth int) string {
}
if int(t.Etype) < len(basicnames) && basicnames[t.Etype] != "" {
prefix := ""
if mode == FErr && (t == types.Idealbool || t == types.Idealstring) {
prefix = "untyped "
name := basicnames[t.Etype]
if t == types.Idealbool || t == types.Idealstring {
name = "untyped " + name
}
return prefix + basicnames[t.Etype]
return name
}
if mode == FDbg {
return t.Etype.String() + "-" + typefmt(t, flag, 0, depth)
return t.Etype.String() + "-" + typefmt(t, flag, FErr, depth)
}
switch t.Etype {