tree d69403b575fa54220047a315635a290a051e3522
parent 3106ec19626d75d8275be16c86421132548fa13e
author Than McIntosh <thanm@google.com> 1552241543 -0400
committer Ian Lance Taylor <iant@golang.org> 1552452174 +0000

compiler: add new debugging helper function debug_go_type()

Add a new debugging utility routine debug_go_type(), intended to
display the contents of a Type object in a way useful to debugging
a run of the compiler.  Prior to this the only useful alternative
for debugging types was invoking the mangled_name() method, which
has problems (for example, won't work on interface types prior
to finalizing of methods).

This is a "deep" dump, meaning that all types reachable from the
type passed to debug_go_type() will be printed out. Example:

(gdb) print debug_go_type(t1)
      T0        0x535f300  'net/http.Header' -> T1
      T1        0x535d3d0  map ['string' -> string] T4
      T2        0x5304bb0  'string' -> string
      T3        0x331f900  string
      T4        0x535d370  array [] 'string' -> string

Change-Id: Idd6f20d424f695f8e184b16a95f5f6a2fc0a77bb
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/166637
Reviewed-by: Ian Lance Taylor <iant@golang.org>
