langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java
changeset 507 bdd92cc35ac4
parent 10 06bc494ca11e
child 735 372aa565a221
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Thu Apr 03 18:01:55 2008 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Wed Apr 09 13:19:01 2008 +0100
@@ -690,13 +690,15 @@
 
     public void visitSelect(JCFieldAccess tree) {
         Type t = tree.selected.type;
-        if (t.isCompound() || (t.tag == TYPEVAR && t.getUpperBound().isCompound())) {
+        while (t.tag == TYPEVAR)
+            t = t.getUpperBound();
+        if (t.isCompound()) {
             if ((tree.sym.flags() & IPROXY) != 0) {
                 tree.sym = ((MethodSymbol)tree.sym).
                     implemented((TypeSymbol)tree.sym.owner, types);
             }
             tree.selected = cast(
-                translate(tree.selected, erasure(t)),
+                translate(tree.selected, erasure(tree.selected.type)),
                 erasure(tree.sym.owner.type));
         } else
             tree.selected = translate(tree.selected, erasure(t));