3434 Symbol iterator = lookupMethod(tree.expr.pos(), |
3434 Symbol iterator = lookupMethod(tree.expr.pos(), |
3435 names.iterator, |
3435 names.iterator, |
3436 eType, |
3436 eType, |
3437 List.<Type>nil()); |
3437 List.<Type>nil()); |
3438 VarSymbol itvar = new VarSymbol(0, names.fromString("i" + target.syntheticNameChar()), |
3438 VarSymbol itvar = new VarSymbol(0, names.fromString("i" + target.syntheticNameChar()), |
3439 types.erasure(iterator.type.getReturnType()), |
3439 types.erasure(types.asSuper(iterator.type.getReturnType(), syms.iteratorType.tsym)), |
3440 currentMethodSym); |
3440 currentMethodSym); |
3441 |
3441 |
3442 JCStatement init = make. |
3442 JCStatement init = make. |
3443 VarDef(itvar, make.App(make.Select(tree.expr, iterator) |
3443 VarDef(itvar, make.App(make.Select(tree.expr, iterator) |
3444 .setType(types.erasure(iterator.type)))); |
3444 .setType(types.erasure(iterator.type)))); |