src/share/classes/com/sun/tools/javac/comp/Check.java

changeset 240
8c55d5b0ed71
parent 229
03bcd66bd8e7
parent 236
84a18d7da478
child 252
5caa6c45936a
     1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Check.java	Mon Mar 09 13:34:19 2009 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Check.java	Mon Mar 09 23:53:41 2009 -0700
     1.3 @@ -1545,10 +1545,10 @@
     1.4  
     1.5  
     1.6      void checkNonCyclic(DiagnosticPosition pos, TypeVar t) {
     1.7 -        checkNonCyclic1(pos, t, new HashSet<TypeVar>());
     1.8 +        checkNonCyclic1(pos, t, List.<TypeVar>nil());
     1.9      }
    1.10  
    1.11 -    private void checkNonCyclic1(DiagnosticPosition pos, Type t, Set<TypeVar> seen) {
    1.12 +    private void checkNonCyclic1(DiagnosticPosition pos, Type t, List<TypeVar> seen) {
    1.13          final TypeVar tv;
    1.14          if  (t.tag == TYPEVAR && (t.tsym.flags() & UNATTRIBUTED) != 0)
    1.15              return;
    1.16 @@ -1558,7 +1558,7 @@
    1.17              log.error(pos, "cyclic.inheritance", t);
    1.18          } else if (t.tag == TYPEVAR) {
    1.19              tv = (TypeVar)t;
    1.20 -            seen.add(tv);
    1.21 +            seen = seen.prepend(tv);
    1.22              for (Type b : types.getBounds(tv))
    1.23                  checkNonCyclic1(pos, b, seen);
    1.24          }

mercurial