For #18130.
Change-Id: I634eaaeaa11e92fc31219d70419fdb4a7aa6e0b4
Reviewed-on: https://go-review.googlesource.com/35099
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
return &TypeName{object{nil, pos, pkg, name, typ, 0, token.NoPos}}
}
-func (obj *TypeName) isAlias() bool {
+func (obj *TypeName) IsAlias() bool {
switch t := obj.typ.(type) {
case nil:
return false
if tname != nil {
// We have a type object: Don't print anything more for
// basic types since there's no more information (names
- // are the same; see also comment in TypeName.isAlias).
+ // are the same; see also comment in TypeName.IsAlias).
if _, ok := typ.(*Basic); ok {
return
}
- if tname.isAlias() {
+ if tname.IsAlias() {
buf.WriteString(" =")
} else {
typ = typ.Underlying()
func TestIsAlias(t *testing.T) {
check := func(obj *TypeName, want bool) {
- if got := obj.isAlias(); got != want {
- t.Errorf("%v: got isAlias = %v; want %v", obj, got, want)
+ if got := obj.IsAlias(); got != want {
+ t.Errorf("%v: got IsAlias = %v; want %v", obj, got, want)
}
}
case *Basic:
// Basic types are singletons except for the rune and byte
// aliases, thus we cannot solely rely on the x == y check
- // above. See also comment in TypeName.isAlias.
+ // above. See also comment in TypeName.IsAlias.
if y, ok := y.(*Basic); ok {
return x.kind == y.kind
}