]> Cypherpunks.ru repositories - gostls13.git/commitdiff
go/types: rename IsMethodSet to IsConstraint (cleanup)
authorRobert Findley <rfindley@google.com>
Tue, 31 Aug 2021 18:57:24 +0000 (14:57 -0400)
committerRobert Findley <rfindley@google.com>
Tue, 31 Aug 2021 21:23:49 +0000 (21:23 +0000)
This is a port of CL 344872 to go/types.

Change-Id: Id794f1fc3b86779ee32dbe5e656ffc747d44c3e2
Reviewed-on: https://go-review.googlesource.com/c/go/+/346434
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
src/go/types/interface.go
src/go/types/typeset.go
src/go/types/typexpr.go

index d27f8cfd4d69da42235719203fa62496fc2a706e..e9970ba101925db8ee5325566c008786dcdded58 100644 (file)
@@ -105,7 +105,7 @@ func (t *Interface) Empty() bool { return t.typeSet().IsAll() }
 func (t *Interface) IsComparable() bool { return t.typeSet().IsComparable() }
 
 // IsConstraint reports whether interface t is not just a method set.
-func (t *Interface) IsConstraint() bool { return !t.typeSet().IsMethodSet() }
+func (t *Interface) IsConstraint() bool { return t.typeSet().IsConstraint() }
 
 // Complete computes the interface's type set. It must be called by users of
 // NewInterfaceType and NewInterface after the interface's embedded types are
index fd9df4c0104f61465b71954cc7faa3ad6b72ab23..293b6d0d44bb20f305ba299dfe01da467cbdbfc5 100644 (file)
@@ -28,10 +28,8 @@ func (s *_TypeSet) IsEmpty() bool { return s.terms.isEmpty() }
 // IsAll reports whether type set s is the set of all types (corresponding to the empty interface).
 func (s *_TypeSet) IsAll() bool { return !s.comparable && len(s.methods) == 0 && s.terms.isAll() }
 
-// TODO(gri) IsMethodSet is not a great name for this predicate. Find a better one.
-
-// IsMethodSet reports whether the type set s is described by a single set of methods.
-func (s *_TypeSet) IsMethodSet() bool { return !s.comparable && s.terms.isAll() }
+// IsConstraint reports whether type set s is not just a set of methods.
+func (s *_TypeSet) IsConstraint() bool { return s.comparable || !s.terms.isAll() }
 
 // IsComparable reports whether each type in the set is comparable.
 func (s *_TypeSet) IsComparable() bool {
index 5a679820308cc1bc76a86040a98a15462e7e12ac..a126241afa8cf9d3cffce3935371f3b0b5f7f32e 100644 (file)
@@ -149,7 +149,7 @@ func (check *Checker) ordinaryType(pos positioner, typ Type) {
        check.later(func() {
                if t := asInterface(typ); t != nil {
                        tset := computeInterfaceTypeSet(check, pos.Pos(), t) // TODO(gri) is this the correct position?
-                       if !tset.IsMethodSet() {
+                       if tset.IsConstraint() {
                                if tset.comparable {
                                        check.softErrorf(pos, _Todo, "interface is (or embeds) comparable")
                                } else {