1.1 --- a/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Thu Apr 03 18:01:55 2008 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Wed Apr 09 13:19:01 2008 +0100 1.3 @@ -690,13 +690,15 @@ 1.4 1.5 public void visitSelect(JCFieldAccess tree) { 1.6 Type t = tree.selected.type; 1.7 - if (t.isCompound() || (t.tag == TYPEVAR && t.getUpperBound().isCompound())) { 1.8 + while (t.tag == TYPEVAR) 1.9 + t = t.getUpperBound(); 1.10 + if (t.isCompound()) { 1.11 if ((tree.sym.flags() & IPROXY) != 0) { 1.12 tree.sym = ((MethodSymbol)tree.sym). 1.13 implemented((TypeSymbol)tree.sym.owner, types); 1.14 } 1.15 tree.selected = cast( 1.16 - translate(tree.selected, erasure(t)), 1.17 + translate(tree.selected, erasure(tree.selected.type)), 1.18 erasure(tree.sym.owner.type)); 1.19 } else 1.20 tree.selected = translate(tree.selected, erasure(t));