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

changeset 81
8973372aedf8
parent 54
eaf608c64fec
child 86
3437676858e3
     1.1 --- a/src/share/classes/com/sun/tools/javac/comp/Lower.java	Thu Jul 24 19:06:57 2008 +0100
     1.2 +++ b/src/share/classes/com/sun/tools/javac/comp/Lower.java	Fri Jul 25 12:05:43 2008 +0100
     1.3 @@ -2944,8 +2944,10 @@
     1.4                                         itvar.type,
     1.5                                         List.<Type>nil());
     1.6              JCExpression vardefinit = make.App(make.Select(make.Ident(itvar), next));
     1.7 -            if (iteratorTarget != syms.objectType)
     1.8 -                vardefinit = make.TypeCast(iteratorTarget, vardefinit);
     1.9 +            if (tree.var.type.isPrimitive())
    1.10 +                vardefinit = make.TypeCast(types.upperBound(iteratorTarget), vardefinit);
    1.11 +            else
    1.12 +                vardefinit = make.TypeCast(tree.var.type, vardefinit);
    1.13              JCVariableDecl indexDef = (JCVariableDecl)make.VarDef(tree.var.mods,
    1.14                                                    tree.var.name,
    1.15                                                    tree.var.vartype,

mercurial