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 }