]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.typealias] go/types: export TypeName.IsAlias so clients can use it
authorRobert Griesemer <gri@golang.org>
Thu, 22 Dec 2016 22:42:05 +0000 (14:42 -0800)
committerRobert Griesemer <gri@golang.org>
Tue, 10 Jan 2017 20:47:12 +0000 (20:47 +0000)
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>

src/go/types/object.go
src/go/types/object_test.go
src/go/types/predicates.go

index 9a1740825f6826d33e965f70c4f35fc16a135e28..f4f628f8765b758a9536366142ca4b122a0720a7 100644 (file)
@@ -163,7 +163,7 @@ func NewTypeName(pos token.Pos, pkg *Package, name string, typ Type) *TypeName {
        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
@@ -330,11 +330,11 @@ func writeObject(buf *bytes.Buffer, obj Object, qf Qualifier) {
        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()
index c9fc7b72588037b11bdaddea7470ba4eba7e1975..70656ae022c7bc7b0c7b7d1b7b880f52e40306dd 100644 (file)
@@ -8,8 +8,8 @@ import "testing"
 
 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)
                }
        }
 
index 707fb9619d2792e5b6bb0cfb36b8c468dea0b9e6..c3b87dd9cd42fa27388bb1a1150a8a36da0f6a1a 100644 (file)
@@ -139,7 +139,7 @@ func identical(x, y Type, cmpTags bool, p *ifacePair) bool {
        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
                }