diff --git a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java index f9042eba8..6ef2ad161 100644 --- a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java +++ b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java @@ -253,8 +253,7 @@ public abstract class JDTJava2CAstTranslator { List declEntities = new ArrayList<>(); - for (Iterator iter = cu.types().iterator(); iter.hasNext();) { - AbstractTypeDeclaration decl = (AbstractTypeDeclaration) iter.next(); + for (AbstractTypeDeclaration decl : (Iterable) cu.types()) { // can be of type AnnotationTypeDeclaration, EnumDeclaration, TypeDeclaration declEntities.add(visit(decl, new RootContext())); } @@ -440,8 +439,7 @@ public abstract class JDTJava2CAstTranslator { } else if (decl instanceof FieldDeclaration) { FieldDeclaration fd = (FieldDeclaration) decl; - for (Object f : fd.fragments()) { - VariableDeclarationFragment frag = (VariableDeclarationFragment) f; + for (VariableDeclarationFragment frag : (Iterable) fd.fragments()) { if (frag.getInitializer() != null) { boolean isStatic = ((fd.getModifiers() & Modifier.STATIC) != 0); (isStatic ? staticInits : inits).add(frag); @@ -462,8 +460,7 @@ public abstract class JDTJava2CAstTranslator { if (decl instanceof FieldDeclaration) { FieldDeclaration fieldDecl = (FieldDeclaration) decl; Collection quals = JDT2CAstUtils.mapModifiersToQualifiers(fieldDecl.getModifiers(), false, false); - for (Object f : fieldDecl.fragments()) { - VariableDeclarationFragment fieldFrag = (VariableDeclarationFragment) f; + for (VariableDeclarationFragment fieldFrag : (Iterable) fieldDecl.fragments()) { IVariableBinding fieldBinding = fieldFrag.resolveBinding(); memberEntities.add(new FieldEntity(fieldFrag.getName().getIdentifier(), fieldBinding.getType(), quals, makePosition(fieldFrag.getStartPosition(), fieldFrag.getStartPosition() + fieldFrag.getLength()), @@ -750,8 +747,7 @@ public abstract class JDTJava2CAstTranslator { ArrayList arguments = new ArrayList<>(); int i = 0; - for (Object o : overriding.parameters()) { - SingleVariableDeclaration svd = (SingleVariableDeclaration) o; + for (SingleVariableDeclaration svd : (Iterable) overriding.parameters()) { CAstNode varNode = makeNode(context, fFactory, null, CAstNode.VAR, fFactory.makeConstant(svd.getName().getIdentifier())); ITypeBinding fromType = JDT2CAstUtils.getErasedType(paramTypes[i], ast); ITypeBinding toType = JDT2CAstUtils.getErasedType(overridingBinding.getParameterTypes()[i], ast); @@ -940,16 +936,16 @@ public abstract class JDTJava2CAstTranslator { if (parameterTypes == null) { fParameterTypes = new ArrayList<>(fDecl.parameters().size()); - for (Object p : fDecl.parameters()) { - fParameterNames[i++] = ((SingleVariableDeclaration) p).getName().getIdentifier(); - fParameterTypes.add(fTypeDict.getCAstTypeFor(((SingleVariableDeclaration) p).resolveBinding().getType())); + for (SingleVariableDeclaration p : (Iterable) fDecl.parameters()) { + fParameterNames[i++] = p.getName().getIdentifier(); + fParameterTypes.add(fTypeDict.getCAstTypeFor(p.resolveBinding().getType())); } } else { // currently this is only used in making a default constructor with arguments (anonymous classes). // this is because we cannot synthesize bindings. fParameterTypes = parameterTypes; - for (Object p : fDecl.parameters()) { - fParameterNames[i++] = ((SingleVariableDeclaration) p).getName().getIdentifier(); + for (SingleVariableDeclaration p : (Iterable) fDecl.parameters()) { + fParameterNames[i++] = p.getName().getIdentifier(); } } } else { @@ -1086,9 +1082,9 @@ public abstract class JDTJava2CAstTranslator { if (fExceptionTypes == null) { fExceptionTypes = new LinkedHashSet<>(); if (fDecl != null) - for (Object exception : fDecl.thrownExceptionTypes()) + for (SimpleType exception : (Iterable) fDecl.thrownExceptionTypes()) - fExceptionTypes.add(fTypeDict.getCAstTypeFor(((SimpleType) exception).resolveBinding())); + fExceptionTypes.add(fTypeDict.getCAstTypeFor(exception.resolveBinding())); } return fExceptionTypes; } @@ -1262,8 +1258,8 @@ public abstract class JDTJava2CAstTranslator { */ private ArrayList createBlock(Block n, WalkContext context) { ArrayList stmtNodes = new ArrayList<>(); - for (Object s : n.statements()) - visitNodeOrNodes((ASTNode) s, context, stmtNodes); + for (ASTNode s : (Iterable) n.statements()) + visitNodeOrNodes(s, context, stmtNodes); return stmtNodes; } @@ -1309,8 +1305,8 @@ public abstract class JDTJava2CAstTranslator { private ArrayList visit(VariableDeclarationStatement n, WalkContext context) { ArrayList result = new ArrayList<>(); - for (Object o : n.fragments()) - result.add(visit((VariableDeclarationFragment) o, context)); + for (VariableDeclarationFragment o : (Iterable) n.fragments()) + result.add(visit(o, context)); return result; } @@ -1323,11 +1319,11 @@ public abstract class JDTJava2CAstTranslator { eltNodes[idx++] = makeNode(context, fFactory, n, CAstNode.NEW, fFactory.makeConstant(newTypeRef), fFactory.makeConstant(n .expressions().size())); - for (Iterator iter = n.expressions().iterator(); iter.hasNext(); idx++) { - Expression element = (Expression) iter.next(); + for (Expression element : (Iterable) n.expressions()) { eltNodes[idx] = visitNode(element, context); if (eltNodes[idx] == null) assert eltNodes[idx] != null : element.toString(); + ++idx; } return makeNode(context, fFactory, n, CAstNode.ARRAY_LITERAL, eltNodes); @@ -2019,8 +2015,7 @@ public abstract class JDTJava2CAstTranslator { // keep on adding operands on the right side leftLength = n.getRightOperand().getStartPosition() + n.getRightOperand().getLength() - leftStartPosition; - for (Object o : n.extendedOperands()) { - Expression operand = (Expression) o; + for (Expression operand : (Iterable) n.extendedOperands()) { result = createInfixExpression(n.getOperator(), leftType, leftStartPosition, leftLength, result, operand, context); if (leftType.isPrimitive() && operand.resolveTypeBinding().isPrimitive()) @@ -2634,8 +2629,8 @@ public abstract class JDTJava2CAstTranslator { for (int i = 0; i < n.initializers().size(); i++) { ASTNode init = (ASTNode) n.initializers().get(i); if (init instanceof VariableDeclarationExpression) { - for (Object o : ((VariableDeclarationExpression) init).fragments()) - inits.add(visitNode((ASTNode) o, context)); + for (ASTNode o : (Iterable) ((VariableDeclarationExpression) init).fragments()) + inits.add(visitNode(o, context)); } else inits.add(visitNode(init, context)); } @@ -3125,8 +3120,7 @@ public abstract class JDTJava2CAstTranslator { TryCatchContext(WalkContext parent, TryStatement tryNode) { super(parent); - for (Iterator catchIter = tryNode.catchClauses().iterator(); catchIter.hasNext();) { - CatchClause c = catchIter.next(); + for (CatchClause c : (Iterable) tryNode.catchClauses()) { Pair p = Pair.make(c.getException().resolveBinding().getType(), (Object) c); fCatchNodes.add(p);