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

changeset 81
8973372aedf8
parent 54
eaf608c64fec
child 86
3437676858e3
equal deleted inserted replaced
80:5c9cdeb740f2 81:8973372aedf8
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;

mercurial