langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
changeset 940 0d5cabfaffde
parent 735 372aa565a221
child 1037 c6b315a34dc6
equal deleted inserted replaced
939:38e24969c7e9 940:0d5cabfaffde
  2942             Symbol next = lookupMethod(tree.expr.pos(),
  2942             Symbol next = lookupMethod(tree.expr.pos(),
  2943                                        names.next,
  2943                                        names.next,
  2944                                        itvar.type,
  2944                                        itvar.type,
  2945                                        List.<Type>nil());
  2945                                        List.<Type>nil());
  2946             JCExpression vardefinit = make.App(make.Select(make.Ident(itvar), next));
  2946             JCExpression vardefinit = make.App(make.Select(make.Ident(itvar), next));
  2947             if (iteratorTarget != syms.objectType)
  2947             if (tree.var.type.isPrimitive())
  2948                 vardefinit = make.TypeCast(iteratorTarget, vardefinit);
  2948                 vardefinit = make.TypeCast(types.upperBound(iteratorTarget), vardefinit);
       
  2949             else
       
  2950                 vardefinit = make.TypeCast(tree.var.type, vardefinit);
  2949             JCVariableDecl indexDef = (JCVariableDecl)make.VarDef(tree.var.mods,
  2951             JCVariableDecl indexDef = (JCVariableDecl)make.VarDef(tree.var.mods,
  2950                                                   tree.var.name,
  2952                                                   tree.var.name,
  2951                                                   tree.var.vartype,
  2953                                                   tree.var.vartype,
  2952                                                   vardefinit).setType(tree.var.type);
  2954                                                   vardefinit).setType(tree.var.type);
  2953             indexDef.sym = tree.var.sym;
  2955             indexDef.sym = tree.var.sym;