langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
changeset 940 0d5cabfaffde
parent 735 372aa565a221
child 1037 c6b315a34dc6
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java	Thu Jul 24 19:06:57 2008 +0100
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java	Fri Jul 25 12:05:43 2008 +0100
@@ -2944,8 +2944,10 @@
                                        itvar.type,
                                        List.<Type>nil());
             JCExpression vardefinit = make.App(make.Select(make.Ident(itvar), next));
-            if (iteratorTarget != syms.objectType)
-                vardefinit = make.TypeCast(iteratorTarget, vardefinit);
+            if (tree.var.type.isPrimitive())
+                vardefinit = make.TypeCast(types.upperBound(iteratorTarget), vardefinit);
+            else
+                vardefinit = make.TypeCast(tree.var.type, vardefinit);
             JCVariableDecl indexDef = (JCVariableDecl)make.VarDef(tree.var.mods,
                                                   tree.var.name,
                                                   tree.var.vartype,