diff options
52 files changed, 583 insertions, 445 deletions
diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/TypeNameMatchCollector.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/TypeNameMatchCollector.java index aa8ab1ae6f..4eabad20a1 100644 --- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/TypeNameMatchCollector.java +++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/core/manipulation/TypeNameMatchCollector.java @@ -61,7 +61,9 @@ public class TypeNameMatchCollector extends TypeNameMatchRequestor { } private boolean filter(String fullTypeName) { - for (Pattern curr : getStringMatchers()) { + Pattern[] matchers= getStringMatchers(); + for (int i= 0; i < matchers.length; i++) { + Pattern curr= matchers[i]; if (curr.matcher(fullTypeName).matches()) { return true; } diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/CodeTemplateContextType.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/CodeTemplateContextType.java index 9cb87bf06c..9fe59992a8 100644 --- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/CodeTemplateContextType.java +++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/CodeTemplateContextType.java @@ -298,8 +298,8 @@ public class CodeTemplateContextType extends TemplateContextType { required.add(PACKAGE_DECLARATION); required.add(TYPE_DECLARATION); } - for (TemplateVariable variable : variables) { - String type= variable.getType(); + for (int i= 0; i < variables.length; i++) { + String type= variables[i].getType(); if (getResolver(type) == null) { String unknown= BasicElementLabels.getJavaElementName(type); throw new TemplateException(Messages.format(JavaManipulationMessages.CodeTemplateContextType_validate_unknownvariable, unknown)); diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/JavaElementLabelComposerCore.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/JavaElementLabelComposerCore.java index 19f0d4a433..ba38419613 100644 --- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/JavaElementLabelComposerCore.java +++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/JavaElementLabelComposerCore.java @@ -476,7 +476,8 @@ public class JavaElementLabelComposerCore { protected void appendAnnotationLabels(IAnnotation[] annotations, long flags) throws JavaModelException { - for (IAnnotation annotation : annotations) { + for (int j= 0; j < annotations.length; j++) { + IAnnotation annotation= annotations[j]; appendAnnotationLabel(annotation, flags); fBuffer.append(' '); } diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/ProjectTemplateStore.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/ProjectTemplateStore.java index 598ae39984..1c87f5e11c 100644 --- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/ProjectTemplateStore.java +++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/ProjectTemplateStore.java @@ -65,8 +65,9 @@ public final class ProjectTemplateStore { @Override public void save() throws IOException { - for (TemplatePersistenceData templateData : ProjectTemplateStore.this.getTemplateData()) { - if (isProjectSpecific(templateData.getId())) { + TemplatePersistenceData[] templateData= ProjectTemplateStore.this.getTemplateData(); + for (int i= 0; i < templateData.length; i++) { + if (isProjectSpecific(templateData[i].getId())) { StringWriter output= new StringWriter(); TemplateReaderWriter writer= new TemplateReaderWriter(); writer.save(getTemplateData(false), output); @@ -132,11 +133,14 @@ public final class ProjectTemplateStore { fProjectStore.load(); Set<String> datas= new HashSet<>(); - for (TemplatePersistenceData d : fProjectStore.getTemplateData(false)) { - datas.add(d.getId()); + TemplatePersistenceData[] data= fProjectStore.getTemplateData(false); + for (int i= 0; i < data.length; i++) { + datas.add(data[i].getId()); } - for (TemplatePersistenceData orig : fInstanceStore.getTemplateData(false)) { + data= fInstanceStore.getTemplateData(false); + for (int i= 0; i < data.length; i++) { + TemplatePersistenceData orig= data[i]; if (!datas.contains(orig.getId())) { TemplatePersistenceData copy= new TemplatePersistenceData(new Template(orig.getTemplate()), orig.isEnabled(), orig.getId()); fProjectStore.add(copy); diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java index bacbefeaed..4624f6d411 100644 --- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java +++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/core/manipulation/StubUtility.java @@ -487,8 +487,8 @@ public class StubUtility { int nLines= doc.getNumberOfLines(); MultiTextEdit edit= new MultiTextEdit(); HashSet<Integer> removedLines= new HashSet<>(); - for (String variable : variables) { - TemplateVariable position= findVariable(buffer, variable); // look if Javadoc tags have to be added + for (int i= 0; i < variables.length; i++) { + TemplateVariable position= findVariable(buffer, variables[i]); // look if Javadoc tags have to be added if (position == null || position.getLength() > 0) { continue; } @@ -811,7 +811,9 @@ public class StubUtility { private static TemplateVariable findVariable(TemplateBuffer buffer, String variable) { - for (TemplateVariable curr : buffer.getVariables()) { + TemplateVariable[] positions= buffer.getVariables(); + for (int i= 0; i < positions.length; i++) { + TemplateVariable curr= positions[i]; if (variable.equals(curr.getType())) { return curr; } @@ -828,17 +830,17 @@ public class StubUtility { String lineStart= textBuffer.get(region.getOffset(), offset - region.getOffset()); StringBuilder buf= new StringBuilder(); - for (String typeParameterName : typeParameterNames) { + for (int i= 0; i < typeParameterNames.length; i++) { if (buf.length() > 0) { buf.append(lineDelimiter).append(lineStart); } - buf.append("@param <").append(typeParameterName).append('>'); //$NON-NLS-1$ + buf.append("@param <").append(typeParameterNames[i]).append('>'); //$NON-NLS-1$ } - for (String paramName : paramNames) { + for (int i= 0; i < paramNames.length; i++) { if (buf.length() > 0) { buf.append(lineDelimiter).append(lineStart); } - buf.append("@param ").append(paramName); //$NON-NLS-1$ + buf.append("@param ").append(paramNames[i]); //$NON-NLS-1$ } if (returnType != null && !returnType.equals("void")) { //$NON-NLS-1$ if (buf.length() > 0) { @@ -847,11 +849,11 @@ public class StubUtility { buf.append("@return"); //$NON-NLS-1$ } if (exceptionNames != null) { - for (String exceptionName : exceptionNames) { + for (int i= 0; i < exceptionNames.length; i++) { if (buf.length() > 0) { buf.append(lineDelimiter).append(lineStart); } - buf.append("@throws ").append(exceptionName); //$NON-NLS-1$ + buf.append("@throws ").append(exceptionNames[i]); //$NON-NLS-1$ } } if (isDeprecated) { @@ -1188,7 +1190,8 @@ public class StubUtility { } } if (name != null) { - for (String curr : KNOWN_METHOD_NAME_PREFIXES) { + for (int i= 0; i < KNOWN_METHOD_NAME_PREFIXES.length; i++) { + String curr= KNOWN_METHOD_NAME_PREFIXES[i]; if (name.startsWith(curr)) { if (name.equals(curr)) { return null; // don't suggest 'get' as variable name @@ -1356,7 +1359,8 @@ public class StubUtility { String[] namesArray= EMPTY; ArrayList<String> newNames= new ArrayList<>(paramNames.length); // Ensure that the code generation preferences are respected - for (String curr : paramNames) { + for (int i= 0; i < paramNames.length; i++) { + String curr= paramNames[i]; String baseName= NamingConventions.getBaseName(NamingConventions.VK_PARAMETER, curr, method.getJavaProject()); if (!curr.equals(baseName)) { // make the existing name the favorite diff --git a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/ProblemLocationCore.java b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/ProblemLocationCore.java index d2d6246e58..55698dc2a0 100644 --- a/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/ProblemLocationCore.java +++ b/org.eclipse.jdt.core.manipulation/common/org/eclipse/jdt/internal/ui/text/correction/ProblemLocationCore.java @@ -99,8 +99,9 @@ public class ProblemLocationCore implements IProblemLocationCore { StringBuilder buf= new StringBuilder(); buf.append("Id: ").append(getErrorCode(fId)).append('\n'); //$NON-NLS-1$ buf.append('[').append(fOffset).append(", ").append(fLength).append(']').append('\n'); //$NON-NLS-1$ - for (String a : fArguments) { - buf.append(a); + String[] arg= fArguments; + for (int i= 0; i < arg.length; i++) { + buf.append(arg[i]); buf.append('\n'); } return buf.toString(); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/core/manipulation/dom/ASTResolving.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/core/manipulation/dom/ASTResolving.java index 6cf52cfc9e..cd7fa46857 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/core/manipulation/dom/ASTResolving.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/core/manipulation/dom/ASTResolving.java @@ -506,7 +506,9 @@ public class ASTResolving { // test if selector is a object method ITypeBinding binding= searchRoot.getAST().resolveWellKnownType("java.lang.Object"); //$NON-NLS-1$ - for (IMethodBinding meth : binding.getDeclaredMethods()) { + IMethodBinding[] objectMethods= binding.getDeclaredMethods(); + for (int i= 0; i < objectMethods.length; i++) { + IMethodBinding meth= objectMethods[i]; if (meth.getName().equals(selector) && meth.getParameterTypes().length == nArgs) { return new ITypeBinding[] { binding }; } @@ -532,7 +534,9 @@ public class ASTResolving { return true; } - for (IMethodBinding meth : node.getDeclaredMethods()) { + IMethodBinding[] methods= node.getDeclaredMethods(); + for (int i= 0; i < methods.length; i++) { + IMethodBinding meth= methods[i]; if (meth.getName().equals(selector) && meth.getParameterTypes().length == nArgs) { result.add(node); } @@ -869,12 +873,12 @@ public class ASTResolving { } else if (type.isPrimitive()) { Code code= PrimitiveType.toCode(type.getName()); boolean found= false; - for (Code order : CODE_ORDER) { + for (int i= 0; i < CODE_ORDER.length; i++) { if (found) { - String typeName= order.toString(); + String typeName= CODE_ORDER[i].toString(); res.add(ast.resolveWellKnownType(typeName)); } - if (code == order) { + if (code == CODE_ORDER[i]) { found= true; } } @@ -885,7 +889,9 @@ public class ASTResolving { } private static void collectRelaxingTypes(Collection<ITypeBinding> res, ITypeBinding type) { - for (ITypeBinding curr : type.getInterfaces()) { + ITypeBinding[] interfaces= type.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + ITypeBinding curr= interfaces[i]; if (!res.contains(curr)) { res.add(curr); } @@ -947,16 +953,18 @@ public class ASTResolving { return isVariableDefinedInContext(context, type); } if (type.isGenericType()) { - for (ITypeBinding typeParameter : type.getTypeParameters()) { - if (!isUseableTypeInContext(typeParameter, context, noWildcards)) { + ITypeBinding[] typeParameters= type.getTypeParameters(); + for (int i= 0; i < typeParameters.length; i++) { + if (!isUseableTypeInContext(typeParameters[i], context, noWildcards)) { return false; } } return true; } if (type.isParameterizedType()) { - for (ITypeBinding typeArgument : type.getTypeArguments()) { - if (!isUseableTypeInContext(typeArgument, context, noWildcards)) { + ITypeBinding[] typeArguments= type.getTypeArguments(); + for (int i= 0; i < typeArguments.length; i++) { + if (!isUseableTypeInContext(typeArguments[i], context, noWildcards)) { return false; } } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CallHierarchyCore.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CallHierarchyCore.java index 78145544a5..5e8c6cf1e5 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CallHierarchyCore.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CallHierarchyCore.java @@ -112,7 +112,8 @@ public class CallHierarchyCore { private MethodWrapper[] getRoots(IMember[] members, boolean callers) { ArrayList<MethodWrapper> roots= new ArrayList<>(); - for (IMember member : members) { + for (int i= 0; i < members.length; i++) { + IMember member= members[i]; if (member instanceof IType) { IType type= (IType) member; try { @@ -121,7 +122,8 @@ public class CallHierarchyCore { if (constructors.length == 0) { addRoot(member, roots, callers); // IType is a stand-in for the non-existing default constructor } else { - for (IMethod constructor : constructors) { + for (int j= 0; j < constructors.length; j++) { + IMethod constructor= constructors[j]; addRoot(constructor, roots, callers); } } @@ -187,12 +189,13 @@ public class CallHierarchyCore { */ public boolean isIgnored(String fullyQualifiedName) { if ((getIgnoreFilters() != null) && (getIgnoreFilters().length > 0)) { - for (StringMatcher ignoreFilter : getIgnoreFilters()) { - String fullyQualifiedName1= fullyQualifiedName; - if (ignoreFilter.match(fullyQualifiedName1)) { - return true; - } - } + for (int i= 0; i < getIgnoreFilters().length; i++) { + String fullyQualifiedName1= fullyQualifiedName; + + if (getIgnoreFilters()[i].match(fullyQualifiedName1)) { + return true; + } + } } return false; diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CalleeAnalyzerVisitor.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CalleeAnalyzerVisitor.java index 723109440b..aea1ce848b 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CalleeAnalyzerVisitor.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/CalleeAnalyzerVisitor.java @@ -282,8 +282,9 @@ class CalleeAnalyzerVisitor extends HierarchicalASTVisitor { IMethod inThisType= Bindings.findMethod(method, type); if (inThisType != null) return inThisType; - for (IType superType : JavaModelUtil.getAllSuperTypes(type, pm)) { - IMethod m= Bindings.findMethod(method, superType); + IType[] superTypes= JavaModelUtil.getAllSuperTypes(type, pm); + for (int i= 0; i < superTypes.length; i++) { + IMethod m= Bindings.findMethod(method, superTypes[i]); if (m != null) return m; } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/MethodWrapper.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/MethodWrapper.java index f25523a289..8fbb6f8181 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/MethodWrapper.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/callhierarchy/MethodWrapper.java @@ -313,8 +313,9 @@ public abstract class MethodWrapper extends PlatformObject { visitor.preVisit(this); if (visitor.visit(this)) { - for (MethodWrapper methodWrapper : getCalls(progressMonitor)) { - methodWrapper.accept(visitor, progressMonitor); + MethodWrapper[] methodWrappers= getCalls(progressMonitor); + for (int i= 0; i < methodWrappers.length; i++) { + methodWrappers[i].accept(visitor, progressMonitor); } } visitor.postVisit(this); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java index ce9b7f8273..a40048b61c 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddDelegateMethodsOperation.java @@ -181,9 +181,9 @@ public final class AddDelegateMethodsOperation implements IWorkspaceRunnable { Arrays.sort(fDelegatesToCreate, new DelegateEntryComparator()); - for (DelegateEntry delegateEntry : fDelegatesToCreate) { - IMethodBinding delegateMethod= delegateEntry.delegateMethod; - IVariableBinding field= delegateEntry.field; + for (int i= 0; i < fDelegatesToCreate.length; i++) { + IMethodBinding delegateMethod= fDelegatesToCreate[i].delegateMethod; + IVariableBinding field= fDelegatesToCreate[i].field; MethodDeclaration newMethod= StubUtility2Core.createDelegationStub(cu, astRewrite, importRewrite, context, delegateMethod, field, fSettings); if (newMethod != null) { fCreated.add(delegateMethod); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddUnimplementedConstructorsOperation.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddUnimplementedConstructorsOperation.java index c4f83fb015..f99b81ccd3 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddUnimplementedConstructorsOperation.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/AddUnimplementedConstructorsOperation.java @@ -247,13 +247,13 @@ public final class AddUnimplementedConstructorsOperation implements IWorkspaceRu } int deprecationCount= 0; - for (IMethodBinding i : toImplement) { - if (i.isDeprecated()) { + for (int i= 0; i < toImplement.length; i++) { + if (toImplement[i].isDeprecated()) deprecationCount++; - } } boolean createDeprecated= deprecationCount == toImplement.length; - for (IMethodBinding curr : toImplement) { + for (int i= 0; i < toImplement.length; i++) { + IMethodBinding curr= toImplement[i]; if (!curr.isDeprecated() || createDeprecated) { ImportRewriteContext context= new ContextSensitiveImportRewriteContext(node, importRewrite); MethodDeclaration stub= StubUtility2Core.createConstructorStub(cu, astRewrite, importRewrite, context, curr, currTypeBinding.getName(), fVisibility, fOmitSuper, true, settings, fFormatSettings); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/ContextSensitiveImportRewriteContext.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/ContextSensitiveImportRewriteContext.java index ade4e17eb6..b742e8e1f9 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/ContextSensitiveImportRewriteContext.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/ContextSensitiveImportRewriteContext.java @@ -94,24 +94,26 @@ public class ContextSensitiveImportRewriteContext extends ImportRewriteContext { @Override public int findInContext(String qualifier, String name, int kind) { - for (IBinding declaration : getDeclarationsInScope()) { - if (declaration instanceof ITypeBinding) { - ITypeBinding typeBinding= (ITypeBinding) declaration; + IBinding[] declarationsInScope= getDeclarationsInScope(); + for (int i= 0; i < declarationsInScope.length; i++) { + if (declarationsInScope[i] instanceof ITypeBinding) { + ITypeBinding typeBinding= (ITypeBinding)declarationsInScope[i]; if (isSameType(typeBinding, qualifier, name)) { return RES_NAME_FOUND; } else if (isConflicting(typeBinding, name)) { return RES_NAME_CONFLICT; } - } else if (declaration != null) { - if (isConflicting(declaration, name)) { + } else if (declarationsInScope[i] != null) { + if (isConflicting(declarationsInScope[i], name)) { return RES_NAME_CONFLICT; } } } - for (Name n : getImportedNames()) { - IBinding binding= n.resolveBinding(); + Name[] names= getImportedNames(); + for (int i= 0; i < names.length; i++) { + IBinding binding= names[i].resolveBinding(); if (binding instanceof ITypeBinding && !binding.isRecovered()) { ITypeBinding typeBinding= (ITypeBinding)binding; if (isConflictingType(typeBinding, qualifier, name)) { @@ -139,8 +141,10 @@ public class ContextSensitiveImportRewriteContext extends ImportRewriteContext { } } + String[] addedImports= fImportRewrite.getAddedImports(); String qualifiedName= JavaModelUtil.concatenateName(qualifier, name); - for (String addedImport : fImportRewrite.getAddedImports()) { + for (int i= 0; i < addedImports.length; i++) { + String addedImport= addedImports[i]; if (qualifiedName.equals(addedImport)) { return RES_NAME_FOUND; } else { @@ -155,8 +159,12 @@ public class ContextSensitiveImportRewriteContext extends ImportRewriteContext { if (typeRoot != null) { IPackageFragment packageFragment= (IPackageFragment) typeRoot.getParent(); try { - for (ICompilationUnit cu : packageFragment.getCompilationUnits()) { - for (IType type : cu.getAllTypes()) { + ICompilationUnit[] compilationUnits= packageFragment.getCompilationUnits(); + for (int i= 0; i < compilationUnits.length; i++) { + ICompilationUnit cu= compilationUnits[i]; + IType[] allTypes= cu.getAllTypes(); + for (int j= 0; j < allTypes.length; j++) { + IType type= allTypes[j]; String packageTypeName= type.getFullyQualifiedName(); if (isConflicting(name, packageTypeName)) return RES_NAME_CONFLICT; @@ -185,7 +193,9 @@ public class ContextSensitiveImportRewriteContext extends ImportRewriteContext { } private ITypeBinding containingDeclaration(ITypeBinding binding, String qualifier, String name) { - for (ITypeBinding childBinding : binding.getDeclaredTypes()) { + ITypeBinding[] declaredTypes= binding.getDeclaredTypes(); + for (int i= 0; i < declaredTypes.length; i++) { + ITypeBinding childBinding= declaredTypes[i]; if (isSameType(childBinding, qualifier, name)) { return childBinding; } else { diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java index 212eab3f5e..93a8fad971 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java @@ -69,7 +69,6 @@ import org.eclipse.jdt.core.dom.ParenthesizedExpression; import org.eclipse.jdt.core.dom.PostfixExpression; import org.eclipse.jdt.core.dom.PrefixExpression; import org.eclipse.jdt.core.dom.PrimitiveType; -import org.eclipse.jdt.core.dom.PrimitiveType.Code; import org.eclipse.jdt.core.dom.ReturnStatement; import org.eclipse.jdt.core.dom.SingleVariableDeclaration; import org.eclipse.jdt.core.dom.Statement; @@ -472,26 +471,25 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable } MethodInvocation j7Invoc= fAst.newMethodInvocation(); - for (IVariableBinding field : fFields) { - if (field.getType().isArray()) { - body.statements().add(createAddArrayHashCode(field)); - } else if (fUseJ7HashEquals) { - j7Invoc.arguments().add(fAst.newSimpleName(field.getName())); - } else if (field.getType().isPrimitive()) { - Statement[] sts= createAddSimpleHashCode(field.getType(), new IHashCodeAccessProvider() { + for (int i= 0; i < fFields.length; i++) { + if (fFields[i].getType().isArray()) + body.statements().add(createAddArrayHashCode(fFields[i])); + else if (fUseJ7HashEquals) + j7Invoc.arguments().add(fAst.newSimpleName(fFields[i].getName())); + else if (fFields[i].getType().isPrimitive()) { + Statement[] sts= createAddSimpleHashCode(fFields[i].getType(), new IHashCodeAccessProvider() { @Override public Expression getThisAccess(String name) { return getThisAccessForHashCode(name); } - }, field.getName(), false); - for (Statement st : sts) { - body.statements().add(st); + }, fFields[i].getName(), false); + for (int j= 0; j < sts.length; j++) { + body.statements().add(sts[j]); } - } else { - body.statements().add(createAddQualifiedHashCode(field)); - } + } else + body.statements().add(createAddQualifiedHashCode(fFields[i])); } if (!j7Invoc.arguments().isEmpty()) { j7Invoc.setExpression(getQualifiedName(JAVA_UTIL_OBJECTS)); @@ -507,11 +505,11 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable // method comment if (fSettings != null) { ITypeBinding object= fAst.resolveWellKnownType(JAVA_LANG_OBJECT); + IMethodBinding[] objms= object.getDeclaredMethods(); IMethodBinding objectMethod= null; - for (IMethodBinding objm : object.getDeclaredMethods()) { - if (objm.getName().equals(METHODNAME_HASH_CODE) && objm.getParameterTypes().length == 0) { - objectMethod= objm; - } + for (int i= 0; i < objms.length; i++) { + if (objms[i].getName().equals(METHODNAME_HASH_CODE) && objms[i].getParameterTypes().length == 0) + objectMethod= objms[i]; } createMethodComment(hashCodeMethod, objectMethod); } @@ -525,8 +523,8 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable private MethodInvocation createStandaloneJ7HashCall() { MethodInvocation j7Invoc= fAst.newMethodInvocation(); - for (IVariableBinding field : fFields) { - j7Invoc.arguments().add(fAst.newSimpleName(field.getName())); + for (int i= 0; i < fFields.length; i++) { + j7Invoc.arguments().add(fAst.newSimpleName(fFields[i].getName())); } j7Invoc.setExpression(getQualifiedName(JAVA_UTIL_OBJECTS)); j7Invoc.setName(fAst.newSimpleName(METHODNAME_HASH)); @@ -745,8 +743,8 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable return a; } }, VARIABLE_NAME_INDEX, true); - for (Statement statement : statements) { - forBody.statements().add(statement); + for (int index= 0; index < statements.length; index++) { + forBody.statements().add(statements[index]); } forStatement.setBody(forBody); @@ -938,7 +936,8 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable if (fUseJ7HashEquals && fFields.length > 0) { body.statements().add(createJ7EqualsStatement()); } else { - for (IVariableBinding field : fFields) { + for (int i= 0; i < fFields.length; i++) { + IVariableBinding field= fFields[i]; ITypeBinding type= field.getType(); if (type.isPrimitive() || type.isEnum()) body.statements().add(createSimpleComparison(field)); @@ -951,6 +950,7 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable } } else body.statements().add(createQualifiedComparison(field.getName())); + } // the last return true: @@ -963,11 +963,12 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable // method comment if (fSettings != null) { ITypeBinding object= fAst.resolveWellKnownType(JAVA_LANG_OBJECT); + IMethodBinding[] objms= object.getDeclaredMethods(); IMethodBinding objectMethod= null; - for (IMethodBinding objm : object.getDeclaredMethods()) { - if (objm.getName().equals(METHODNAME_EQUALS) && objm.getParameterTypes().length == 1 && objm.getParameterTypes()[0].getQualifiedName().equals(JAVA_LANG_OBJECT)) { - objectMethod= objm; - } + for (int i= 0; i < objms.length; i++) { + if (objms[i].getName().equals(METHODNAME_EQUALS) && objms[i].getParameterTypes().length == 1 + && objms[i].getParameterTypes()[0].getQualifiedName().equals(JAVA_LANG_OBJECT)) + objectMethod= objms[i]; } createMethodComment(equalsMethodDeclaration, objectMethod); } @@ -1238,7 +1239,8 @@ public final class GenerateHashCodeEqualsOperation implements IWorkspaceRunnable } private boolean isPrimitiveType(ITypeBinding type, PrimitiveType.Code[] codes) { - for (Code code : codes) { + for (int i= 0; i < codes.length; i++) { + PrimitiveType.Code code= codes[i]; if (isPrimitiveType(type, code)) return true; } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/StubUtility2Core.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/StubUtility2Core.java index 5e28bb7dc4..f0caaef05b 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/StubUtility2Core.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/StubUtility2Core.java @@ -179,24 +179,24 @@ public final class StubUtility2Core { String param= null; List<String> list= new ArrayList<>(prohibited); String[] excluded= null; - for (IVariableBinding variableBinding : variableBindings) { + for (int i= 0; i < variableBindings.length; i++) { SingleVariableDeclaration var= ast.newSingleVariableDeclaration(); - var.setType(imports.addImport(variableBinding.getType(), ast, context, TypeLocation.PARAMETER)); + var.setType(imports.addImport(variableBindings[i].getType(), ast, context, TypeLocation.PARAMETER)); excluded= new String[list.size()]; list.toArray(excluded); - param= suggestParameterName(unit, variableBinding, excluded); + param= suggestParameterName(unit, variableBindings[i], excluded); list.add(param); var.setName(ast.newSimpleName(param)); parameters.add(var); } list= new ArrayList<>(prohibited); - for (IVariableBinding variableBinding : variableBindings) { + for (int i= 0; i < variableBindings.length; i++) { excluded= new String[list.size()]; list.toArray(excluded); - final String paramName= suggestParameterName(unit, variableBinding, excluded); + final String paramName= suggestParameterName(unit, variableBindings[i], excluded); list.add(paramName); - final String fieldName= variableBinding.getName(); + final String fieldName= variableBindings[i].getName(); Expression expression= null; if (paramName.equals(fieldName) || settings.useKeywordThis) { FieldAccess access= ast.newFieldAccess(); @@ -441,15 +441,17 @@ public final class StubUtility2Core { } public static void createTypeParameters(ImportRewrite imports, ImportRewriteContext context, AST ast, IMethodBinding binding, MethodDeclaration decl) { + ITypeBinding[] typeParams= binding.getTypeParameters(); List<TypeParameter> typeParameters= decl.typeParameters(); - for (ITypeBinding curr : binding.getTypeParameters()) { + for (int i= 0; i < typeParams.length; i++) { + ITypeBinding curr= typeParams[i]; TypeParameter newTypeParam= ast.newTypeParameter(); newTypeParam.setName(ast.newSimpleName(curr.getName())); ITypeBinding[] typeBounds= curr.getTypeBounds(); - if (typeBounds.length != 1 || !"java.lang.Object".equals(typeBounds[0].getQualifiedName())) { //$NON-NLS-1$ + if (typeBounds.length != 1 || !"java.lang.Object".equals(typeBounds[0].getQualifiedName())) {//$NON-NLS-1$ List<Type> newTypeBounds= newTypeParam.typeBounds(); - for (ITypeBinding typeBound : typeBounds) { - newTypeBounds.add(imports.addImport(typeBound, ast, context, TypeLocation.TYPE_BOUND)); + for (int k= 0; k < typeBounds.length; k++) { + newTypeBounds.add(imports.addImport(typeBounds[k], ast, context, TypeLocation.TYPE_BOUND)); } } typeParameters.add(newTypeParam); @@ -526,14 +528,14 @@ public final class StubUtility2Core { ITypeBinding[] excTypes= method.getExceptionTypes(); if (ast.apiLevel() >= AST.JLS8) { List<Type> thrownExceptions= decl.thrownExceptionTypes(); - for (ITypeBinding t : excTypes) { - Type excType= imports.addImport(t, ast, context, TypeLocation.EXCEPTION); + for (int i= 0; i < excTypes.length; i++) { + Type excType= imports.addImport(excTypes[i], ast, context, TypeLocation.EXCEPTION); thrownExceptions.add(excType); } } else { List<Name> thrownExceptions= getThrownExceptions(decl); - for (ITypeBinding excType : excTypes) { - String excTypeName= imports.addImport(excType, context); + for (int i= 0; i < excTypes.length; i++) { + String excTypeName= imports.addImport(excTypes[i], context); thrownExceptions.add(ASTNodeFactory.newName(ast, excTypeName)); } } @@ -572,7 +574,10 @@ public final class StubUtility2Core { ArrayList<IMethodBinding> allMethods, IPackageBinding currPack, ArrayList<IMethodBinding> toImplement) { if (visited.add(typeBinding)) { - nextMethod: for (IMethodBinding curr : typeBinding.getDeclaredMethods()) { + IMethodBinding[] typeMethods= typeBinding.getDeclaredMethods(); + + nextMethod: for (int i= 0; i < typeMethods.length; i++) { + IMethodBinding curr= typeMethods[i]; for (Iterator<IMethodBinding> allIter= allMethods.iterator(); allIter.hasNext();) { IMethodBinding oneMethod= allIter.next(); if (Bindings.isSubsignature(oneMethod, curr)) { @@ -584,7 +589,7 @@ public final class StubUtility2Core { // Subsignatures are equivalent. // Check visibility and return types ('getErasure()' tries to achieve effect of "rename type variables") if (Bindings.isVisibleInHierarchy(oneMethod, currPack) - && oneMethod.getReturnType().getErasure().isSubTypeCompatible(curr.getReturnType().getErasure())) { + && oneMethod.getReturnType().getErasure().isSubTypeCompatible(curr.getReturnType().getErasure())) { // oneMethod is visible and curr doesn't have a stricter return type; let's go with oneMethod continue nextMethod; } @@ -605,9 +610,9 @@ public final class StubUtility2Core { } } } - for (ITypeBinding superInterface : typeBinding.getInterfaces()) { - findUnimplementedInterfaceMethods(superInterface, visited, allMethods, currPack, toImplement); - } + ITypeBinding[] superInterfaces= typeBinding.getInterfaces(); + for (int i= 0; i < superInterfaces.length; i++) + findUnimplementedInterfaceMethods(superInterfaces[i], visited, allMethods, currPack, toImplement); } } @@ -682,7 +687,9 @@ public final class StubUtility2Core { final List<IMethodBinding> declared= new ArrayList<>(); IMethodBinding[] typeMethods= binding.getDeclaredMethods(); declared.addAll(Arrays.asList(typeMethods)); - for (IVariableBinding fieldBinding : binding.getDeclaredFields()) { + IVariableBinding[] typeFields= binding.getDeclaredFields(); + for (int index= 0; index < typeFields.length; index++) { + IVariableBinding fieldBinding= typeFields[index]; if (fieldBinding.isField() && !fieldBinding.isEnumConstant() && !fieldBinding.isSynthetic()) getDelegatableMethods(new ArrayList<>(declared), fieldBinding, fieldBinding.getType(), binding, tuples); } @@ -695,8 +702,8 @@ public final class StubUtility2Core { if (typeBinding.isTypeVariable()) { ITypeBinding[] typeBounds= typeBinding.getTypeBounds(); if (typeBounds.length > 0) { - for (ITypeBinding typeBound : typeBounds) { - getDelegatableMethods(methods, fieldBinding, typeBound, binding, result); + for (int i= 0; i < typeBounds.length; i++) { + getDelegatableMethods(methods, fieldBinding, typeBounds[i], binding, result); } } else { ITypeBinding objectBinding= Bindings.findTypeInHierarchy(binding, "java.lang.Object"); //$NON-NLS-1$ @@ -705,9 +712,10 @@ public final class StubUtility2Core { } } } else { - for (IMethodBinding candidate : getDelegateCandidates(typeBinding, binding)) { + IMethodBinding[] candidates= getDelegateCandidates(typeBinding, binding); + for (int index= 0; index < candidates.length; index++) { match= false; - final IMethodBinding methodBinding= candidate; + final IMethodBinding methodBinding= candidates[index]; for (int offset= 0; offset < methods.size() && !match; offset++) { if (Bindings.areOverriddenMethods(methods.get(offset), methodBinding)) match= true; @@ -720,31 +728,30 @@ public final class StubUtility2Core { final ITypeBinding superclass= typeBinding.getSuperclass(); if (superclass != null) getDelegatableMethods(methods, fieldBinding, superclass, binding, result); - for (ITypeBinding superInterface : typeBinding.getInterfaces()) { - getDelegatableMethods(methods, fieldBinding, superInterface, binding, result); - } + ITypeBinding[] superInterfaces= typeBinding.getInterfaces(); + for (int offset= 0; offset < superInterfaces.length; offset++) + getDelegatableMethods(methods, fieldBinding, superInterfaces[offset], binding, result); } } private static IMethodBinding[] getDelegateCandidates(ITypeBinding binding, ITypeBinding hierarchy) { List<IMethodBinding> allMethods= new ArrayList<>(); boolean isInterface= binding.isInterface(); - for (IMethodBinding typeMethod : binding.getDeclaredMethods()) { - final int modifiers= typeMethod.getModifiers(); - if (!typeMethod.isConstructor() && !Modifier.isStatic(modifiers) && (isInterface || Modifier.isPublic(modifiers))) { - IMethodBinding result= Bindings.findOverriddenMethodInHierarchy(hierarchy, typeMethod); + IMethodBinding[] typeMethods= binding.getDeclaredMethods(); + for (int index= 0; index < typeMethods.length; index++) { + final int modifiers= typeMethods[index].getModifiers(); + if (!typeMethods[index].isConstructor() && !Modifier.isStatic(modifiers) && (isInterface || Modifier.isPublic(modifiers))) { + IMethodBinding result= Bindings.findOverriddenMethodInHierarchy(hierarchy, typeMethods[index]); if (result != null && Flags.isFinal(result.getModifiers())) continue; - ITypeBinding[] parameterBindings= typeMethod.getParameterTypes(); + ITypeBinding[] parameterBindings= typeMethods[index].getParameterTypes(); boolean upper= false; - for (ITypeBinding parameterBinding : parameterBindings) { - if (parameterBinding.isWildcardType() && parameterBinding.isUpperbound()) { + for (int offset= 0; offset < parameterBindings.length; offset++) { + if (parameterBindings[offset].isWildcardType() && parameterBindings[offset].isUpperbound()) upper= true; - } - } - if (!upper) { - allMethods.add(typeMethod); } + if (!upper) + allMethods.add(typeMethods[index]); } } return allMethods.toArray(new IMethodBinding[allMethods.size()]); @@ -753,28 +760,28 @@ public final class StubUtility2Core { public static IMethodBinding[] getOverridableMethods(AST ast, ITypeBinding typeBinding, boolean isSubType) { List<IMethodBinding> allMethods= new ArrayList<>(); IMethodBinding[] typeMethods= typeBinding.getDeclaredMethods(); - for (IMethodBinding typeMethod : typeMethods) { - final int modifiers= typeMethod.getModifiers(); - if (!typeMethod.isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { - allMethods.add(typeMethod); - } + for (int index= 0; index < typeMethods.length; index++) { + final int modifiers= typeMethods[index].getModifiers(); + if (!typeMethods[index].isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) + allMethods.add(typeMethods[index]); } ITypeBinding clazz= typeBinding.getSuperclass(); while (clazz != null) { - for (IMethodBinding method : clazz.getDeclaredMethods()) { - final int modifiers= method.getModifiers(); - if (!method.isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { - if (findOverridingMethod(method, allMethods) == null) { - allMethods.add(method); - } + IMethodBinding[] methods= clazz.getDeclaredMethods(); + for (int offset= 0; offset < methods.length; offset++) { + final int modifiers= methods[offset].getModifiers(); + if (!methods[offset].isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { + if (findOverridingMethod(methods[offset], allMethods) == null) + allMethods.add(methods[offset]); } } clazz= clazz.getSuperclass(); } clazz= typeBinding; while (clazz != null) { - for (ITypeBinding superInterface : clazz.getInterfaces()) { - getOverridableMethods(ast, superInterface, allMethods); + ITypeBinding[] superInterfaces= clazz.getInterfaces(); + for (int index= 0; index < superInterfaces.length; index++) { + getOverridableMethods(ast, superInterfaces[index], allMethods); } clazz= clazz.getSuperclass(); } @@ -791,16 +798,17 @@ public final class StubUtility2Core { } private static void getOverridableMethods(AST ast, ITypeBinding superBinding, List<IMethodBinding> allMethods) { - for (IMethodBinding method : superBinding.getDeclaredMethods()) { - final int modifiers= method.getModifiers(); - if (!method.isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { - if (findOverridingMethod(method, allMethods) == null) { - allMethods.add(method); - } + IMethodBinding[] methods= superBinding.getDeclaredMethods(); + for (int offset= 0; offset < methods.length; offset++) { + final int modifiers= methods[offset].getModifiers(); + if (!methods[offset].isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { + if (findOverridingMethod(methods[offset], allMethods) == null) + allMethods.add(methods[offset]); } } - for (ITypeBinding superInterface : superBinding.getInterfaces()) { - getOverridableMethods(ast, superInterface, allMethods); + ITypeBinding[] superInterfaces= superBinding.getInterfaces(); + for (int index= 0; index < superInterfaces.length; index++) { + getOverridableMethods(ast, superInterfaces[index], allMethods); } } @@ -817,7 +825,9 @@ public final class StubUtility2Core { ArrayList<IMethodBinding> allMethods= new ArrayList<>(); ArrayList<IMethodBinding> toImplement= new ArrayList<>(); - for (IMethodBinding curr : typeBinding.getDeclaredMethods()) { + IMethodBinding[] typeMethods= typeBinding.getDeclaredMethods(); + for (int i= 0; i < typeMethods.length; i++) { + IMethodBinding curr= typeMethods[i]; int modifiers= curr.getModifiers(); if (!curr.isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { allMethods.add(curr); @@ -826,7 +836,9 @@ public final class StubUtility2Core { ITypeBinding superClass= typeBinding.getSuperclass(); while (superClass != null) { - for (IMethodBinding curr : superClass.getDeclaredMethods()) { + typeMethods= superClass.getDeclaredMethods(); + for (int i= 0; i < typeMethods.length; i++) { + IMethodBinding curr= typeMethods[i]; int modifiers= curr.getModifiers(); if (!curr.isConstructor() && !Modifier.isStatic(modifiers) && !Modifier.isPrivate(modifiers)) { if (findMethodBinding(curr, allMethods) == null) { @@ -837,7 +849,8 @@ public final class StubUtility2Core { superClass= superClass.getSuperclass(); } - for (IMethodBinding curr : allMethods) { + for (int i= 0; i < allMethods.size(); i++) { + IMethodBinding curr= allMethods.get(i); int modifiers= curr.getModifiers(); if ((Modifier.isAbstract(modifiers) || curr.getDeclaringClass().isInterface()) && (implementAbstractsOfInput || typeBinding != curr.getDeclaringClass())) { // implement all abstract methods @@ -848,8 +861,9 @@ public final class StubUtility2Core { HashSet<ITypeBinding> visited= new HashSet<>(); ITypeBinding curr= typeBinding; while (curr != null) { - for (ITypeBinding superInterface : curr.getInterfaces()) { - findUnimplementedInterfaceMethods(superInterface, visited, allMethods, typeBinding.getPackage(), toImplement); + ITypeBinding[] superInterfaces= curr.getInterfaces(); + for (int i= 0; i < superInterfaces.length; i++) { + findUnimplementedInterfaceMethods(superInterfaces[i], visited, allMethods, typeBinding.getPackage(), toImplement); } curr= curr.getSuperclass(); } @@ -866,7 +880,8 @@ public final class StubUtility2Core { if (accountExisting) { IMethodBinding[] methods= binding.getDeclaredMethods(); existingConstructors= new ArrayList<>(methods.length); - for (IMethodBinding method : methods) { + for (int index= 0; index < methods.length; index++) { + IMethodBinding method= methods[index]; if (method.isConstructor() && !method.isDefaultConstructor()) existingConstructors.add(method); } @@ -874,7 +889,9 @@ public final class StubUtility2Core { if (existingConstructors != null) constructorMethods.addAll(existingConstructors); IMethodBinding[] methods= binding.getDeclaredMethods(); - for (IMethodBinding method : superType.getDeclaredMethods()) { + IMethodBinding[] superMethods= superType.getDeclaredMethods(); + for (int index= 0; index < superMethods.length; index++) { + IMethodBinding method= superMethods[index]; if (method.isConstructor()) { if (Bindings.isVisibleInHierarchy(method, binding.getPackage()) && (!accountExisting || !Bindings.containsSignatureEquivalentConstructor(methods, method))) constructorMethods.add(method); @@ -913,7 +930,9 @@ public final class StubUtility2Core { } int insertPos= sourceRange.getOffset(); - for (ASTNode curr : (List<? extends ASTNode>)listRewrite.getOriginalList()) { + List<? extends ASTNode> members= listRewrite.getOriginalList(); + for (int i= 0; i < members.size(); i++) { + ASTNode curr= members.get(i); if (curr.getStartPosition() >= insertPos) { return curr; } @@ -980,7 +999,8 @@ public final class StubUtility2Core { } public static Annotation findAnnotation(String qualifiedTypeName, List<IExtendedModifier> modifiers) { - for (IExtendedModifier curr : modifiers) { + for (int i= 0; i < modifiers.size(); i++) { + IExtendedModifier curr= modifiers.get(i); if (curr instanceof Annotation) { Annotation annot= (Annotation) curr; ITypeBinding binding= annot.getTypeName().resolveTypeBinding(); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/AbstractToStringGenerator.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/AbstractToStringGenerator.java index c7e72698ca..0906d1f72a 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/AbstractToStringGenerator.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/AbstractToStringGenerator.java @@ -187,11 +187,12 @@ public abstract class AbstractToStringGenerator { public MethodDeclaration generateToStringMethod() throws CoreException { initialize(); - for (String element : fContext.getTemplateParser().getBeginning()) { - addElement(processElement(element, null)); + String[] stringArray= fContext.getTemplateParser().getBeginning(); + for (int i= 0; i < stringArray.length; i++) { + addElement(processElement(stringArray[i], null)); } - fContext.getTemplateParser().getBody(); + stringArray= fContext.getTemplateParser().getBody(); Object[] members= fContext.getSelectedMembers(); for (int i= 0; i < members.length; i++) { if (!fContext.isSkipNulls() || getMemberType(members[i]).isPrimitive()) @@ -200,8 +201,9 @@ public abstract class AbstractToStringGenerator { addMemberCheckNull(members[i], i != members.length - 1); } - for (String element : fContext.getTemplateParser().getEnding()) { - addElement(processElement(element, null)); + stringArray= fContext.getTemplateParser().getEnding(); + for (int i= 0; i < stringArray.length; i++) { + addElement(processElement(stringArray[i], null)); } complete(); @@ -228,11 +230,11 @@ public abstract class AbstractToStringGenerator { */ protected void createMethodComment() throws CoreException { ITypeBinding object= fAst.resolveWellKnownType("java.lang.Object"); //$NON-NLS-1$ + IMethodBinding[] objms= object.getDeclaredMethods(); IMethodBinding objectMethod= null; - for (IMethodBinding objm : object.getDeclaredMethods()) { - if (objm.getName().equals(METHODNAME_TO_STRING) && objm.getParameterTypes().length == 0) { - objectMethod= objm; - } + for (int i= 0; i < objms.length; i++) { + if (objms[i].getName().equals(METHODNAME_TO_STRING) && objms[i].getParameterTypes().length == 0) + objectMethod= objms[i]; } if (fContext.isCreateComments()) { String docString= CodeGeneration.getMethodComment(fContext.getCompilationUnit(), fContext.getTypeBinding().getQualifiedName(), toStringMethod, objectMethod, StubUtility @@ -498,12 +500,13 @@ public abstract class AbstractToStringGenerator { return; boolean isNonPrimitive= false; - for (Object selectedMember : fContext.getSelectedMembers()) { - ITypeBinding memberType= getMemberType(selectedMember); + for (int i= 0; i < fContext.getSelectedMembers().length; i++) { + ITypeBinding memberType= getMemberType(fContext.getSelectedMembers()[i]); boolean[] implementsInterfaces= implementsInterfaces(memberType.getErasure(), new String[] { "java.util.Collection", "java.util.List", "java.util.Map" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ boolean isCollection= implementsInterfaces[0]; boolean isList= implementsInterfaces[1]; boolean isMap= implementsInterfaces[2]; + if (fContext.isLimitItems() && (isCollection || isMap) && !isList) { needCollectionToStringMethod= true; } @@ -590,8 +593,9 @@ public abstract class AbstractToStringGenerator { * last member) */ protected void addMember(Object member, boolean addSeparator) { - for (String element : fContext.getTemplateParser().getBody()) { - addElement(processElement(element, member)); + String[] stringArray= fContext.getTemplateParser().getBody(); + for (int i= 0; i < stringArray.length; i++) { + addElement(processElement(stringArray[i], member)); } if (addSeparator) addElement(fContext.getTemplateParser().getSeparator()); @@ -857,26 +861,30 @@ public abstract class AbstractToStringGenerator { protected String createNameSuggestion(String baseName, int variableKind) { if (excluded == null) { excluded= new HashSet<>(); - for (IVariableBinding field : fContext.getTypeBinding().getDeclaredFields()) { - excluded.add(field.getName()); + IVariableBinding[] fields= fContext.getTypeBinding().getDeclaredFields(); + for (int i= 0; i < fields.length; i++) { + excluded.add(fields[i].getName()); } ITypeBinding superType= fContext.getTypeBinding().getSuperclass(); while (superType != null) { - for (IVariableBinding field : superType.getDeclaredFields()) { - if (!Modifier.isPrivate(field.getModifiers())) { - excluded.add(field.getName()); + fields= superType.getDeclaredFields(); + for (int i= 0; i < fields.length; i++) { + if (!Modifier.isPrivate(fields[i].getModifiers())) { + excluded.add(fields[i].getName()); } } superType= superType.getSuperclass(); } - for (ITypeBinding type : fContext.getTypeBinding().getDeclaredTypes()) { - excluded.add(type.getName()); + ITypeBinding[] types= fContext.getTypeBinding().getDeclaredTypes(); + for (int i= 0; i < types.length; i++) { + excluded.add(types[i].getName()); } superType= fContext.getTypeBinding().getSuperclass(); while (superType != null) { - for (ITypeBinding type : superType.getDeclaredTypes()) { - if (!Modifier.isPrivate(type.getModifiers())) { - excluded.add(type.getName()); + types= superType.getDeclaredTypes(); + for (int i= 0; i < types.length; i++) { + if (!Modifier.isPrivate(types[i].getModifiers())) { + excluded.add(types[i].getName()); } } superType= superType.getSuperclass(); @@ -899,8 +907,9 @@ public abstract class AbstractToStringGenerator { if (memberType.getQualifiedName().equals(interfaceNames[i])) result[i]= true; } - for (ITypeBinding intf : memberType.getInterfaces()) { - boolean[] deeper= implementsInterfaces(intf.getErasure(), interfaceNames); + ITypeBinding[] interfaces= memberType.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + boolean[] deeper= implementsInterfaces(interfaces[i].getErasure(), interfaceNames); for (int j= 0; j < interfaceNames.length; j++) { result[j]= result[j] || deeper[j]; } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderChainGenerator.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderChainGenerator.java index 86c7ed6e03..55c613dda8 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderChainGenerator.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderChainGenerator.java @@ -101,8 +101,9 @@ public class StringBuilderChainGenerator extends StringBuilderGenerator { ifStatement.setExpression(createInfixExpression(createMemberAccessExpression(member, true, true), Operator.NOT_EQUALS, fAst.newNullLiteral())); Block thenBlock= fAst.newBlock(); flushTemporaryExpression(); - for (String a : getContext().getTemplateParser().getBody()) { - addElement(processElement(a, member), thenBlock); + String[] arrayString= getContext().getTemplateParser().getBody(); + for (int i= 0; i < arrayString.length; i++) { + addElement(processElement(arrayString[i], member), thenBlock); } if (addSeparator) addElement(getContext().getTemplateParser().getSeparator(), thenBlock); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderGenerator.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderGenerator.java index 04aaf92535..6f4bce431f 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderGenerator.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringBuilderGenerator.java @@ -113,8 +113,9 @@ public class StringBuilderGenerator extends AbstractToStringGenerator { ifStatement.setExpression(createInfixExpression(createMemberAccessExpression(member, true, true), Operator.NOT_EQUALS, fAst.newNullLiteral())); Block thenBlock= fAst.newBlock(); flushBuffer(null); - for (String a : getContext().getTemplateParser().getBody()) { - addElement(processElement(a, member), thenBlock); + String[] arrayString= getContext().getTemplateParser().getBody(); + for (int i= 0; i < arrayString.length; i++) { + addElement(processElement(arrayString[i], member), thenBlock); } if (addSeparator) addElement(getContext().getTemplateParser().getSeparator(), thenBlock); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringConcatenationGenerator.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringConcatenationGenerator.java index 4224c78ab0..36fa6924ae 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringConcatenationGenerator.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/StringConcatenationGenerator.java @@ -138,8 +138,9 @@ public class StringConcatenationGenerator extends AbstractToStringGenerator { cExpression.setExpression(infExpression); SumExpressionBuilder builder= new SumExpressionBuilder(null); - for (String a : getContext().getTemplateParser().getBody()) { - addElement(processElement(a, member), builder); + String[] arrayString= getContext().getTemplateParser().getBody(); + for (int i= 0; i < arrayString.length; i++) { + addElement(processElement(arrayString[i], member), builder); } if (addSeparator) addElement(getContext().getTemplateParser().getSeparator(), builder); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/ToStringTemplateParser.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/ToStringTemplateParser.java index 753b129580..7ec9101a53 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/ToStringTemplateParser.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/tostringgeneration/ToStringTemplateParser.java @@ -183,8 +183,8 @@ public class ToStringTemplateParser { protected int firstOccuranceOf(String template, String[] wantedVariables) { int result= -1; - for (String wantedVariable : wantedVariables) { - int indexOf= template.indexOf(wantedVariable); + for (int i= 0; i < wantedVariables.length; i++) { + int indexOf= template.indexOf(wantedVariables[i]); if (result == -1 || (indexOf > 0 && indexOf < result)) result= indexOf; } @@ -198,11 +198,11 @@ public class ToStringTemplateParser { break; String foundVariable= null; int variablePosition= template.length(); - for (String wantedVariable : wantedVariables) { - int position= template.indexOf(wantedVariable); + for (int i= 0; i < wantedVariables.length; i++) { + int position= template.indexOf(wantedVariables[i]); if (position >= 0 && position < variablePosition) { variablePosition= position; - foundVariable= wantedVariable; + foundVariable= wantedVariables[i]; } } if (variablePosition == template.length()) { diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTFlattener.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTFlattener.java index a73a840dff..8fe95facf5 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTFlattener.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTFlattener.java @@ -141,7 +141,8 @@ public class ASTFlattener extends GenericVisitor { } void printAnnotationsList(List<? extends Annotation> annotations) { - for (Annotation annotation : annotations) { + for (Iterator<? extends Annotation> it = annotations.iterator(); it.hasNext(); ) { + Annotation annotation = it.next(); annotation.accept(this); this.fBuffer.append(' '); } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTNodes.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTNodes.java index 9c7cfbe139..c3b9a84061 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTNodes.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ASTNodes.java @@ -984,7 +984,9 @@ public class ASTNodes { @Override public boolean visit(ITypeBinding type) { - for (IMethodBinding candidate : type.getDeclaredMethods()) { + IMethodBinding[] methods= type.getDeclaredMethods(); + for (int i= 0; i < methods.length; i++) { + IMethodBinding candidate= methods[i]; if (candidate.getMethodDeclaration() == fOriginalMethod.getMethodDeclaration()) { continue; } @@ -1259,7 +1261,8 @@ public class ASTNodes { } public static ASTNode findParent(ASTNode node, StructuralPropertyDescriptor[][] pathes) { - for (StructuralPropertyDescriptor[] path : pathes) { + for (int p= 0; p < pathes.length; p++) { + StructuralPropertyDescriptor[] path= pathes[p]; ASTNode current= node; int d= path.length - 1; for (; d >= 0 && current != null; d--) { @@ -1404,7 +1407,8 @@ public class ASTNodes { return problems; final int iterations= computeIterations(scope); List<IProblem> result= new ArrayList<>(5); - for (IProblem problem : problems) { + for (int i= 0; i < problems.length; i++) { + IProblem problem= problems[i]; boolean consider= false; if ((severity & PROBLEMS) == PROBLEMS) consider= true; @@ -1441,7 +1445,8 @@ public class ASTNodes { return messages; final int iterations= computeIterations(flags); List<Message> result= new ArrayList<>(5); - for (Message message : messages) { + for (int i= 0; i < messages.length; i++) { + Message message= messages[i]; ASTNode temp= node; int count= iterations; do { diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/Bindings.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/Bindings.java index cd345ec940..ebe49c65c0 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/Bindings.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/Bindings.java @@ -309,7 +309,9 @@ public class Bindings { public static IVariableBinding findFieldInType(ITypeBinding type, String fieldName) { if (type.isPrimitive()) return null; - for (IVariableBinding field : type.getDeclaredFields()) { + IVariableBinding[] fields= type.getDeclaredFields(); + for (int i= 0; i < fields.length; i++) { + IVariableBinding field= fields[i]; if (field.getName().equals(fieldName)) return field; } @@ -335,8 +337,9 @@ public class Bindings { if (field != null) return field; } - for (ITypeBinding intf : type.getInterfaces()) { - field= findFieldInHierarchy(intf, fieldName); + ITypeBinding[] interfaces= type.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + field= findFieldInHierarchy(interfaces[i], fieldName); if (field != null) // no private fields in interfaces return field; } @@ -355,15 +358,14 @@ public class Bindings { public static IMethodBinding findMethodInType(ITypeBinding type, String methodName, ITypeBinding[] parameters) { if (type.isPrimitive()) return null; - for (IMethodBinding method : type.getDeclaredMethods()) { + IMethodBinding[] methods= type.getDeclaredMethods(); + for (int i= 0; i < methods.length; i++) { if (parameters == null) { - if (methodName.equals(method.getName())) { - return method; - } + if (methodName.equals(methods[i].getName())) + return methods[i]; } else { - if (isEqualMethod(method, methodName, parameters)) { - return method; - } + if (isEqualMethod(methods[i], methodName, parameters)) + return methods[i]; } } return null; @@ -390,8 +392,9 @@ public class Bindings { if (method != null) return method; } - for (ITypeBinding intf : type.getInterfaces()) { - method= findMethodInHierarchy(intf, methodName, parameters); + ITypeBinding[] interfaces= type.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + method= findMethodInHierarchy(interfaces[i], methodName, parameters); if (method != null) return method; } @@ -409,15 +412,14 @@ public class Bindings { public static IMethodBinding findMethodInType(ITypeBinding type, String methodName, String[] parameters) { if (type.isPrimitive()) return null; - for (IMethodBinding method : type.getDeclaredMethods()) { + IMethodBinding[] methods= type.getDeclaredMethods(); + for (int i= 0; i < methods.length; i++) { if (parameters == null) { - if (methodName.equals(method.getName())) { - return method; - } + if (methodName.equals(methods[i].getName())) + return methods[i]; } else { - if (isEqualMethod(method, methodName, parameters)) { - return method; - } + if (isEqualMethod(methods[i], methodName, parameters)) + return methods[i]; } } return null; @@ -440,15 +442,14 @@ public class Bindings { public static IMethodBinding findMethodWithDeclaredParameterTypesInType(ITypeBinding type, String methodName, String[] parameters) { if (type.isPrimitive()) return null; - for (IMethodBinding method : type.getDeclaredMethods()) { + IMethodBinding[] methods= type.getDeclaredMethods(); + for (int i= 0; i < methods.length; i++) { if (parameters == null) { - if (methodName.equals(method.getName())) { - return method; - } + if (methodName.equals(methods[i].getName())) + return methods[i]; } else { - if (isEqualMethod(method.getMethodDeclaration(), methodName, parameters)) { - return method; - } + if (isEqualMethod(methods[i].getMethodDeclaration(), methodName, parameters)) + return methods[i]; } } return null; @@ -474,8 +475,9 @@ public class Bindings { if (method != null) return method; } - for (ITypeBinding intf : type.getInterfaces()) { - method= findMethodInHierarchy(intf, methodName, parameters); + ITypeBinding[] interfaces= type.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + method= findMethodInHierarchy(interfaces[i], methodName, parameters); if (method != null) return method; } @@ -490,10 +492,10 @@ public class Bindings { * @return the method binding of the method that is overridden by the specified <code>method</code>, or <code>null</code> */ public static IMethodBinding findOverriddenMethodInType(ITypeBinding type, IMethodBinding method) { - for (IMethodBinding curr : type.getDeclaredMethods()) { - if (isSubsignature(method, curr)) { - return curr; - } + IMethodBinding[] methods= type.getDeclaredMethods(); + for (int i= 0; i < methods.length; i++) { + if (isSubsignature(method, methods[i])) + return methods[i]; } return null; } @@ -516,8 +518,9 @@ public class Bindings { if (method != null) return method; } - for (ITypeBinding intf : type.getInterfaces()) { - method= findOverriddenMethodInHierarchy(intf, binding); + ITypeBinding[] interfaces= type.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + method= findOverriddenMethodInHierarchy(interfaces[i], binding); if (method != null) return method; } @@ -572,8 +575,9 @@ public class Bindings { } } } - for (ITypeBinding intf : type.getInterfaces()) { - IMethodBinding res= findOverriddenMethodInHierarchy(intf, overriding); + ITypeBinding[] interfaces= type.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + IMethodBinding res= findOverriddenMethodInHierarchy(interfaces[i], overriding); if (res != null) { methodList.add(res); // methods from interfaces are always public and therefore visible if (firstOnly) { @@ -610,8 +614,9 @@ public class Bindings { private static void collectSuperTypes(ITypeBinding curr, Set<ITypeBinding> collection) { if (collection.add(curr)) { - for (ITypeBinding intf : curr.getInterfaces()) { - collectSuperTypes(intf, collection); + ITypeBinding[] interfaces= curr.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + collectSuperTypes(interfaces[i], collection); } ITypeBinding superClass= curr.getSuperclass(); if (superClass != null) { @@ -656,11 +661,12 @@ public class Bindings { boolean unvisited= visited.add(type); if (!unvisited) return true; - for (ITypeBinding intf : type.getInterfaces()) { - if (!visitor.visit(intf)) { + ITypeBinding[] interfaces= type.getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + if (!visitor.visit(interfaces[i])) { return false; } - if (!visitInterfaces(intf, visitor, visited)) { + if (!visitInterfaces(interfaces[i], visitor, visited)) { return false; } } @@ -806,11 +812,9 @@ public class Bindings { } private static boolean containsTypeVariables(ITypeBinding[] types) { - for (ITypeBinding type : types) { - if (containsTypeVariables(type)) { + for (int i= 0; i < types.length; i++) + if (containsTypeVariables(types[i])) return true; - } - } return false; } @@ -821,7 +825,8 @@ public class Bindings { return Collections.emptySet(); Set<ITypeBinding> result= new HashSet<>(typeBounds.length); - for (ITypeBinding bound : typeBounds) { + for (int i= 0; i < typeBounds.length; i++) { + ITypeBinding bound= typeBounds[i]; if ("java.lang.Object".equals(typeBounds[0].getQualifiedName())) //$NON-NLS-1$ continue; else if (containsTypeVariables(bound)) @@ -897,8 +902,8 @@ public class Bindings { } } ITypeBinding[] superInterfaces= hierarchyType.getInterfaces(); - for (ITypeBinding superInterface : superInterfaces) { - ITypeBinding res = findTypeInHierarchy(superInterface, fullyQualifiedTypeName); + for (int i= 0; i < superInterfaces.length; i++) { + ITypeBinding res= findTypeInHierarchy(superInterfaces[i], fullyQualifiedTypeName); if (res != null) { return res; } @@ -924,10 +929,11 @@ public class Bindings { return superClass; } } - for (ITypeBinding superInterface : hierarchyType.getInterfaces()) { - ITypeBinding res= findTypeInHierarchy(superInterface, fullyQualifiedTypeName); + ITypeBinding[] superInterfaces= hierarchyType.getInterfaces(); + for (int i= 0; i < superInterfaces.length; i++) { + ITypeBinding res= findTypeInHierarchy(superInterfaces[i], fullyQualifiedTypeName); if (res != null) { - return superInterface; + return superInterfaces[i]; } } return null; @@ -1000,8 +1006,9 @@ public class Bindings { } if (possibleSuperType.isInterface()) { - for (ITypeBinding superInterface : type.getInterfaces()) { - if (isSuperType(possibleSuperType, superInterface, considerTypeArguments)) { + ITypeBinding[] superInterfaces= type.getInterfaces(); + for (int i= 0; i < superInterfaces.length; i++) { + if (isSuperType(possibleSuperType, superInterfaces[i], considerTypeArguments)) { return true; } } @@ -1039,7 +1046,9 @@ public class Bindings { public static IMethod findMethod(IMethodBinding method, IType type) throws JavaModelException { method= method.getMethodDeclaration(); - for (IMethod candidate : type.getMethods()) { + IMethod[] candidates= type.getMethods(); + for (int i= 0; i < candidates.length; i++) { + IMethod candidate= candidates[i]; if (candidate.getElementName().equals(method.getName()) && sameParameters(method, candidate)) { return candidate; } @@ -1092,9 +1101,10 @@ public class Bindings { return false; String packageName= type.getPackage().isUnnamed() ? "" : type.getPackage().getName(); //$NON-NLS-1$ String typeName= getTypeQualifiedName(type); - for (String[] qualifiedCandidate : qualifiedCandidates) { + for (int i= 0; i < qualifiedCandidates.length; i++) { + String[] qualifiedCandidate= qualifiedCandidates[i]; if ( qualifiedCandidate[0].equals(packageName) && - qualifiedCandidate[1].equals(typeName)) + qualifiedCandidate[1].equals(typeName)) return true; } } @@ -1319,10 +1329,9 @@ public class Bindings { */ @Deprecated public static boolean containsSignatureEquivalentConstructor(IMethodBinding[] candidates, IMethodBinding overridable) { - for (IMethodBinding candidate : candidates) { - if (isSignatureEquivalentConstructor(candidate, overridable)) { + for (int index= 0; index < candidates.length; index++) { + if (isSignatureEquivalentConstructor(candidates[index], overridable)) return true; - } } return false; } @@ -1377,13 +1386,14 @@ public class Bindings { if (!overridableErasure.isSubTypeCompatible(overriddenErasure) || !overridableErasure.getKey().equals(overriddenErasure.getKey())) return false; } + ITypeBinding[] overriddenExceptions= overridden.getExceptionTypes(); + ITypeBinding[] overridableExceptions= overridable.getExceptionTypes(); boolean checked= false; - for (ITypeBinding overriddenException : overridden.getExceptionTypes()) { + for (int index= 0; index < overriddenExceptions.length; index++) { checked= false; - for (ITypeBinding overridableException : overridable.getExceptionTypes()) { - if (overriddenException.isSubTypeCompatible(overridableException)) { + for (int offset= 0; offset < overridableExceptions.length; offset++) { + if (overriddenExceptions[index].isSubTypeCompatible(overridableExceptions[offset])) checked= true; - } } if (!checked) return false; diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/LinkedNodeFinder.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/LinkedNodeFinder.java index c49519eed0..f91e609028 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/LinkedNodeFinder.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/LinkedNodeFinder.java @@ -114,7 +114,8 @@ public class LinkedNodeFinder { int nameOffset= nameNode.getStartPosition(); int nameInclEnd= nameOffset + nameNode.getLength() - 1; - for (IProblem curr : problems) { + for (int i= 0; i < problems.length; i++) { + IProblem curr= problems[i]; if (curr.getSourceStart() == nameOffset && curr.getSourceEnd() == nameInclEnd) { int kind= getProblemKind(curr); if (kind != 0) { @@ -148,7 +149,8 @@ public class LinkedNodeFinder { String name= nameNode.getIdentifier(); - for (IProblem curr : problems) { + for (int i= 0; i < problems.length; i++) { + IProblem curr= problems[i]; int probStart= curr.getSourceStart(); int probEnd= curr.getSourceEnd() + 1; diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ScopeAnalyzer.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ScopeAnalyzer.java index 790cee8f5c..ddecc5f667 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ScopeAnalyzer.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/dom/ScopeAnalyzer.java @@ -209,15 +209,17 @@ public class ScopeAnalyzer { return false; } if (hasFlag(VARIABLES, flags)) { - for (IVariableBinding variableBinding : binding.getDeclaredFields()) { - if (requestor.acceptBinding(variableBinding)) { + IVariableBinding[] variableBindings= binding.getDeclaredFields(); + for (int i= 0; i < variableBindings.length; i++) { + if (requestor.acceptBinding(variableBindings[i])) return true; - } } } if (hasFlag(METHODS, flags)) { - for (IMethodBinding curr : binding.getDeclaredMethods()) { + IMethodBinding[] methodBindings= binding.getDeclaredMethods(); + for (int i= 0; i < methodBindings.length; i++) { + IMethodBinding curr= methodBindings[i]; if (isSuperInterfaceBinding && Modifier.isStatic(curr.getModifiers())) { continue; } @@ -229,7 +231,9 @@ public class ScopeAnalyzer { } if (hasFlag(TYPES, flags)) { - for (ITypeBinding curr : binding.getDeclaredTypes()) { + ITypeBinding[] typeBindings= binding.getDeclaredTypes(); + for (int i= 0; i < typeBindings.length; i++) { + ITypeBinding curr= typeBindings[i]; if (requestor.acceptBinding(curr)) return true; } @@ -245,10 +249,10 @@ public class ScopeAnalyzer { return true; } - for (ITypeBinding intf : binding.getInterfaces()) {// includes looking for methods: abstract, unimplemented methods - if (addInherited(intf, true, flags, requestor)) { + ITypeBinding[] interfaces= binding.getInterfaces(); // includes looking for methods: abstract, unimplemented methods + for (int i= 0; i < interfaces.length; i++) { + if (addInherited(interfaces[i], true, flags, requestor)) // recursive return true; - } } return false; } @@ -266,10 +270,10 @@ public class ScopeAnalyzer { if (requestor.acceptBinding(binding)) return true; - for (ITypeBinding typeParameter : binding.getTypeParameters()) { - if (requestor.acceptBinding(typeParameter)) { + ITypeBinding[] typeParameters= binding.getTypeParameters(); + for (int i= 0; i < typeParameters.length; i++) { + if (requestor.acceptBinding(typeParameters[i])) return true; - } } } @@ -512,7 +516,8 @@ public class ScopeAnalyzer { private IVariableBinding[] getEnumContants(ITypeBinding binding) { IVariableBinding[] declaredFields= binding.getDeclaredFields(); ArrayList<IVariableBinding> res= new ArrayList<>(declaredFields.length); - for (IVariableBinding curr : declaredFields) { + for (int i= 0; i < declaredFields.length; i++) { + IVariableBinding curr= declaredFields[i]; if (curr.isEnumConstant()) { res.add(curr); } @@ -521,7 +526,9 @@ public class ScopeAnalyzer { } private boolean hasEnumContants(IBinding declaration, ITypeBinding binding) { - for (IVariableBinding curr : binding.getDeclaredFields()) { + IVariableBinding[] declaredFields= binding.getDeclaredFields(); + for (int i= 0; i < declaredFields.length; i++) { + IVariableBinding curr= declaredFields[i]; if (curr == declaration) return true; } @@ -631,8 +638,9 @@ public class ScopeAnalyzer { } } if (possibleSuperTypeDecl.isInterface()) { - for (ITypeBinding superInterface : type.getInterfaces()) { - if (isInSuperTypeHierarchy(possibleSuperTypeDecl, superInterface.getTypeDeclaration())) { + ITypeBinding[] superInterfaces= type.getInterfaces(); + for (int i= 0; i < superInterfaces.length; i++) { + if (isInSuperTypeHierarchy(possibleSuperTypeDecl, superInterfaces[i].getTypeDeclaration())) { return true; } } @@ -740,7 +748,9 @@ public class ScopeAnalyzer { binding= switchExpression.getExpression().resolveTypeBinding(); } if (binding != null && binding.isEnum()) { - for (IVariableBinding curr : binding.getDeclaredFields()) { + IVariableBinding[] declaredFields= binding.getDeclaredFields(); + for (int i= 0; i < declaredFields.length; i++) { + IVariableBinding curr= declaredFields[i]; if (curr.isEnumConstant()) { fBreak= fRequestor.acceptBinding(curr); if (fBreak) @@ -903,11 +913,13 @@ public class ScopeAnalyzer { public Collection<String> getUsedVariableNames(int offset, int length) { HashSet<String> result= new HashSet<>(); - for (IBinding b : getDeclarationsInScope(offset, VARIABLES | CHECK_VISIBILITY)) { - result.add(b.getName()); + IBinding[] bindingsBefore= getDeclarationsInScope(offset, VARIABLES | CHECK_VISIBILITY); + for (int i= 0; i < bindingsBefore.length; i++) { + result.add(bindingsBefore[i].getName()); } - for (IBinding b : getDeclarationsAfter(offset + length, VARIABLES | CHECK_VISIBILITY)) { - result.add(b.getName()); + IBinding[] bindingsAfter= getDeclarationsAfter(offset + length, VARIABLES | CHECK_VISIBILITY); + for (int i= 0; i < bindingsAfter.length; i++) { + result.add(bindingsAfter[i].getName()); } List<ImportDeclaration> imports= fRoot.imports(); for (int i= 0; i < imports.size(); i++) { diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/CompilationUnitRewriteOperationsFixCore.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/CompilationUnitRewriteOperationsFixCore.java index 0f3202631d..d3c32df6ea 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/CompilationUnitRewriteOperationsFixCore.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/fix/CompilationUnitRewriteOperationsFixCore.java @@ -94,7 +94,8 @@ public class CompilationUnitRewriteOperationsFixCore extends AbstractFix { CompilationUnitRewrite cuRewrite= new CompilationUnitRewrite((ICompilationUnit)fCompilationUnit.getJavaElement(), fCompilationUnit); fLinkedProposalModel.clear(); - for (CompilationUnitRewriteOperation operation : fOperations) { + for (int i= 0; i < fOperations.length; i++) { + CompilationUnitRewriteOperation operation= fOperations[i]; operation.rewriteAST(cuRewrite, fLinkedProposalModel); } @@ -108,7 +109,8 @@ public class CompilationUnitRewriteOperationsFixCore extends AbstractFix { @Override public String getAdditionalProposalInfo(){ StringBuilder sb= new StringBuilder(); - for (CompilationUnitRewriteOperation operation : fOperations) { + for (int i= 0; i < fOperations.length; i++) { + CompilationUnitRewriteOperation operation= fOperations[i]; String info= operation.getAdditionalInfo(); if (info != null) sb.append(info); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/Checks.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/Checks.java index 570497317d..b274b5983f 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/Checks.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/Checks.java @@ -271,9 +271,8 @@ public class Checks { public static RefactoringStatus checkForMainAndNativeMethods(IType[] types) throws JavaModelException { RefactoringStatus result= new RefactoringStatus(); - for (IType type : types) { - result.merge(checkForMainAndNativeMethods(type)); - } + for (int i= 0; i < types.length; i++) + result.merge(checkForMainAndNativeMethods(types[i])); return result; } @@ -286,17 +285,18 @@ public class Checks { private static RefactoringStatus checkForMainAndNativeMethods(IMethod[] methods) throws JavaModelException { RefactoringStatus result= new RefactoringStatus(); - for (IMethod method : methods) { - if (JdtFlags.isNative(method)) { - String typeName= JavaElementLabelsCore.getElementLabel(method.getDeclaringType(), JavaElementLabelsCore.ALL_FULLY_QUALIFIED); - String methodName= JavaElementLabelsCore.getElementLabel(method, JavaElementLabelsCore.ALL_DEFAULT); + for (int i= 0; i < methods.length; i++) { + if (JdtFlags.isNative(methods[i])){ + String typeName= JavaElementLabelsCore.getElementLabel(methods[i].getDeclaringType(), JavaElementLabelsCore.ALL_FULLY_QUALIFIED); + String methodName= JavaElementLabelsCore.getElementLabel(methods[i], JavaElementLabelsCore.ALL_DEFAULT); String msg= Messages.format(RefactoringCoreMessages.Checks_method_native, - new String[]{typeName, methodName, "UnsatisfiedLinkError"});//$NON-NLS-1$ - result.addEntry(RefactoringStatus.ERROR, msg, JavaStatusContext.create(method), JavaManipulation.getPreferenceNodeId(), RefactoringStatusCodes.NATIVE_METHOD); + new String[]{typeName, methodName, "UnsatisfiedLinkError"});//$NON-NLS-1$ + result.addEntry(RefactoringStatus.ERROR, msg, JavaStatusContext.create(methods[i]), JavaManipulation.getPreferenceNodeId(), RefactoringStatusCodes.NATIVE_METHOD); } - if (method.isMainMethod()) { - String msg= Messages.format(RefactoringCoreMessages.Checks_has_main, JavaElementLabelsCore.getElementLabel(method.getDeclaringType(), JavaElementLabelsCore.ALL_FULLY_QUALIFIED)); - result.addEntry(RefactoringStatus.WARNING, msg, JavaStatusContext.create(method), JavaManipulation.getPreferenceNodeId(), RefactoringStatusCodes.MAIN_METHOD); + if (methods[i].isMainMethod()) { + String msg= Messages.format(RefactoringCoreMessages.Checks_has_main, + JavaElementLabelsCore.getElementLabel(methods[i].getDeclaringType(), JavaElementLabelsCore.ALL_FULLY_QUALIFIED)); + result.addEntry(RefactoringStatus.WARNING, msg, JavaStatusContext.create(methods[i]), JavaManipulation.getPreferenceNodeId(), RefactoringStatusCodes.MAIN_METHOD); } } return result; @@ -542,7 +542,8 @@ public class Checks { */ public static IMethod findSimilarMethod(IMethod method, IMethod[] methods) throws JavaModelException { boolean isConstructor= method.isConstructor(); - for (IMethod otherMethod : methods) { + for (int i= 0; i < methods.length; i++) { + IMethod otherMethod= methods[i]; if (otherMethod.isConstructor() == isConstructor && method.isSimilar(otherMethod)) return otherMethod; } @@ -592,8 +593,8 @@ public class Checks { public static SearchResultGroup[] excludeCompilationUnits(SearchResultGroup[] grouped, RefactoringStatus status) throws JavaModelException{ List<SearchResultGroup> result= new ArrayList<>(); boolean wasEmpty= grouped.length == 0; - for (SearchResultGroup g : grouped) { - IResource resource= g.getResource(); + for (int i= 0; i < grouped.length; i++){ + IResource resource= grouped[i].getResource(); IJavaElement element= JavaCore.create(resource); if (! (element instanceof ICompilationUnit)) continue; @@ -603,7 +604,7 @@ public class Checks { status.addError(Messages.format(RefactoringCoreMessages.Checks_cannot_be_parsed, BasicElementLabels.getPathLabel(cu.getPath(), false))); continue; //removed, go to the next one } - result.add(g); + result.add(grouped[i]); } if ((!wasEmpty) && result.isEmpty()) @@ -614,9 +615,8 @@ public class Checks { public static RefactoringStatus checkCompileErrorsInAffectedFiles(SearchResultGroup[] grouped) throws JavaModelException { RefactoringStatus result= new RefactoringStatus(); - for (SearchResultGroup g : grouped) { - checkCompileErrorsInAffectedFile(result, g.getResource()); - } + for (int i= 0; i < grouped.length; i++) + checkCompileErrorsInAffectedFile(result, grouped[i].getResource()); return result; } @@ -627,8 +627,8 @@ public class Checks { public static RefactoringStatus checkCompileErrorsInAffectedFiles(SearchResultGroup[] references, IResource declaring) throws JavaModelException { RefactoringStatus result= new RefactoringStatus(); - for (SearchResultGroup reference : references) { - IResource resource= reference.getResource(); + for (int i= 0; i < references.length; i++){ + IResource resource= references[i].getResource(); if (resource.equals(declaring)) declaring= null; checkCompileErrorsInAffectedFile(result, resource); @@ -640,10 +640,10 @@ public class Checks { private static boolean hasCompileErrors(IResource resource) throws JavaModelException { try { - for (IMarker problemMarker : resource.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE)) { - if (problemMarker.getAttribute(IMarker.SEVERITY, -1) == IMarker.SEVERITY_ERROR) { + IMarker[] problemMarkers= resource.findMarkers(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE); + for (int i= 0; i < problemMarkers.length; i++) { + if (problemMarkers[i].getAttribute(IMarker.SEVERITY, -1) == IMarker.SEVERITY_ERROR) return true; - } } return false; } catch (JavaModelException e){ @@ -678,10 +678,10 @@ public class Checks { IContainer container= (IContainer)res; try { - for (IResource child : container.members()) { - if (isReadOnly(child)) { + IResource[] children= container.members(); + for (int i= 0; i < children.length; i++) { + if (isReadOnly(children[i])) return true; - } } return false; } catch (JavaModelException e){ @@ -724,8 +724,8 @@ public class Checks { ResourceChangeChecker checker= context.getChecker(ResourceChangeChecker.class); IResourceChangeDescriptionFactory deltaFactory= checker.getDeltaFactory(); - for (IFile file : filesToModify) { - deltaFactory.change(file); + for (int i= 0; i < filesToModify.length; i++) { + deltaFactory.change(filesToModify[i]); } } @@ -850,10 +850,9 @@ public class Checks { if (! iType.isClass()) return false; IType[] superTypes= iType.newSupertypeHierarchy(pm).getAllSupertypes(iType); - for (IType superType : superTypes) { - if ("java.lang.Throwable".equals(superType.getFullyQualifiedName())) { //$NON-NLS-1$ + for (int i= 0; i < superTypes.length; i++) { + if ("java.lang.Throwable".equals(superTypes[i].getFullyQualifiedName())) //$NON-NLS-1$ return true; - } } return false; } finally{ diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/JDTRefactoringDescriptorComment.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/JDTRefactoringDescriptorComment.java index 8e3f5b5d08..4de039323a 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/JDTRefactoringDescriptorComment.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/JDTRefactoringDescriptorComment.java @@ -64,11 +64,11 @@ public final class JDTRefactoringDescriptorComment { Assert.isNotNull(caption); Assert.isNotNull(settings); final StringBuilder buffer= new StringBuilder(128); - for (String setting : settings) { - if (setting != null && !"".equals(setting)) { //$NON-NLS-1$ + for (int index= 0; index < settings.length; index++) { + if (settings[index] != null && !"".equals(settings[index])) { //$NON-NLS-1$ buffer.append(LINE_DELIMITER); buffer.append(ELEMENT_DELIMITER); - buffer.append(setting); + buffer.append(settings[index]); } else { buffer.append(LINE_DELIMITER); buffer.append(ELEMENT_DELIMITER); @@ -193,11 +193,11 @@ public final class JDTRefactoringDescriptorComment { else if (elements.length > 1) { final StringBuilder buffer= new StringBuilder(128); buffer.append(RefactoringCoreMessages.JavaRefactoringDescriptor_original_elements); - for (Object element : elements) { - if (element != null) { + for (int index= 0; index < elements.length; index++) { + if (elements[index] != null) { buffer.append(LINE_DELIMITER); buffer.append(ELEMENT_DELIMITER); - buffer.append(JavaElementLabelsCore.getTextLabel(element, JavaElementLabelsCore.ALL_FULLY_QUALIFIED)); + buffer.append(JavaElementLabelsCore.getTextLabel(elements[index], JavaElementLabelsCore.ALL_FULLY_QUALIFIED)); } else { buffer.append(LINE_DELIMITER); buffer.append(ELEMENT_DELIMITER); @@ -227,11 +227,11 @@ public final class JDTRefactoringDescriptorComment { else if (elements.length > 1) { final StringBuilder buffer= new StringBuilder(128); buffer.append(RefactoringCoreMessages.JavaRefactoringDescriptor_original_elements); - for (Object element : elements) { - if (element != null) { + for (int index= 0; index < elements.length; index++) { + if (elements[index] != null) { buffer.append(LINE_DELIMITER); buffer.append(ELEMENT_DELIMITER); - buffer.append(JavaElementLabelsCore.getTextLabel(element, JavaElementLabelsCore.ALL_FULLY_QUALIFIED)); + buffer.append(JavaElementLabelsCore.getTextLabel(elements[index], JavaElementLabelsCore.ALL_FULLY_QUALIFIED)); } else { buffer.append(LINE_DELIMITER); buffer.append(ELEMENT_DELIMITER); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/SearchResultGroup.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/SearchResultGroup.java index 26ad9391e8..2138faea42 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/SearchResultGroup.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/SearchResultGroup.java @@ -55,8 +55,8 @@ public class SearchResultGroup { public static IResource[] getResources(SearchResultGroup[] searchResultGroups){ Set<IResource> resourceSet= new HashSet<>(searchResultGroups.length); - for (SearchResultGroup searchResultGroup : searchResultGroups) { - resourceSet.add(searchResultGroup.getResource()); + for (int i= 0; i < searchResultGroups.length; i++) { + resourceSet.add(searchResultGroups[i].getResource()); } return resourceSet.toArray(new IResource[resourceSet.size()]); } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/CompilationUnitChange.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/CompilationUnitChange.java index 3e4a4275e8..8c936a2aa9 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/CompilationUnitChange.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/CompilationUnitChange.java @@ -56,9 +56,9 @@ public class CompilationUnitChange extends org.eclipse.jdt.core.refactoring.Comp setKeepPreviewEdits(change.getKeepPreviewEdits()); setSaveMode(change.getSaveMode()); setTextType(change.getTextType()); - for (TextEditBasedChangeGroup group : change.getChangeGroups()) { - addChangeGroup(group); - } + TextEditBasedChangeGroup[] groups= change.getChangeGroups(); + for (int i= 0; i < groups.length; i++) + addChangeGroup(groups[i]); } } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/TextChangeCompatibility.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/TextChangeCompatibility.java index 17d1f20bb6..5168fd2360 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/TextChangeCompatibility.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/changes/TextChangeCompatibility.java @@ -68,7 +68,8 @@ public class TextChangeCompatibility { } TextEdit[] children= parent.getChildren(); // First dive down to find the right parent. - for (TextEdit child : children) { + for (int i= 0; i < children.length; i++) { + TextEdit child= children[i]; if (covers(child, edit)) { insert(child, edit); return; diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java index 9657219079..8ed162a6a9 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java @@ -339,10 +339,13 @@ public class InlineTempRefactoring extends Refactoring { } private void inlineTemp(CompilationUnitRewrite cuRewrite) throws JavaModelException { + SimpleName[] references= getReferences(); + TextEditGroup groupDesc= cuRewrite.createGroupDescription(RefactoringCoreMessages.InlineTempRefactoring_inline_edit_name); ASTRewrite rewrite= cuRewrite.getASTRewrite(); - for (SimpleName curr : getReferences()) { + for (int i= 0; i < references.length; i++){ + SimpleName curr= references[i]; ASTNode initializerCopy= getInitializerSource(cuRewrite, curr); rewrite.replace(curr, initializerCopy, groupDesc); } @@ -427,8 +430,8 @@ public class InlineTempRefactoring extends Refactoring { ASTRewrite rewrite= ASTRewrite.create(invocation.getAST()); ListRewrite typeArgsRewrite= Invocations.getInferredTypeArgumentsRewrite(rewrite, invocation); - for (ITypeBinding typeArgument : typeArguments) { - Type typeArgumentNode = cuRewrite.getImportRewrite().addImport(typeArgument, cuRewrite.getAST()); + for (int i= 0; i < typeArguments.length; i++) { + Type typeArgumentNode= cuRewrite.getImportRewrite().addImport(typeArguments[i], cuRewrite.getAST()); typeArgsRewrite.insertLast(typeArgumentNode, null); } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RenamingNameSuggestor.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RenamingNameSuggestor.java index b601a515e7..1047e0f4fd 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RenamingNameSuggestor.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/rename/RenamingNameSuggestor.java @@ -465,8 +465,8 @@ public class RenamingNameSuggestor { private String concat(String[] suffixesNewEqual) { StringBuilder returner= new StringBuilder(); - for (String s : suffixesNewEqual) { - returner.append(s); + for (int j= 0; j < suffixesNewEqual.length; j++) { + returner.append(suffixesNewEqual[j]); } return returner.toString(); } @@ -503,11 +503,11 @@ public class RenamingNameSuggestor { private String findLongestPrefix(String name, String[] prefixes) { String usedPrefix= ""; //$NON-NLS-1$ int bestLen= 0; - for (String prefix : prefixes) { - if (name.startsWith(prefix)) { - if (prefix.length() > bestLen) { - bestLen= prefix.length(); - usedPrefix= prefix; + for (int i= 0; i < prefixes.length; i++) { + if (name.startsWith(prefixes[i])) { + if (prefixes[i].length() > bestLen) { + bestLen= prefixes[i].length(); + usedPrefix= prefixes[i]; } } } @@ -517,11 +517,11 @@ public class RenamingNameSuggestor { private String findLongestSuffix(String name, String[] suffixes) { String usedPrefix= ""; //$NON-NLS-1$ int bestLen= 0; - for (String suffix : suffixes) { - if (name.endsWith(suffix)) { - if (suffix.length() > bestLen) { - bestLen= suffix.length(); - usedPrefix= suffix; + for (int i= 0; i < suffixes.length; i++) { + if (name.endsWith(suffixes[i])) { + if (suffixes[i].length() > bestLen) { + bestLen= suffixes[i].length(); + usedPrefix= suffixes[i]; } } } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/ImportRemover.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/ImportRemover.java index c006eab70e..6ccda62daf 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/ImportRemover.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/structure/ImportRemover.java @@ -307,15 +307,16 @@ public class ImportRemover { } public void applyRemoves(ImportRewrite importRewrite) { - for (IBinding b : getImportsToRemove()) { - if (b instanceof ITypeBinding) { - ITypeBinding typeBinding= (ITypeBinding) b; + IBinding[] bindings= getImportsToRemove(); + for (int i= 0; i < bindings.length; i++) { + if (bindings[i] instanceof ITypeBinding) { + ITypeBinding typeBinding= (ITypeBinding) bindings[i]; importRewrite.removeImport(typeBinding.getTypeDeclaration().getQualifiedName()); - } else if (b instanceof IMethodBinding) { - IMethodBinding binding= (IMethodBinding) b; + } else if (bindings[i] instanceof IMethodBinding) { + IMethodBinding binding= (IMethodBinding) bindings[i]; importRewrite.removeStaticImport(binding.getDeclaringClass().getQualifiedName() + '.' + binding.getName()); - } else if (b instanceof IVariableBinding) { - IVariableBinding binding= (IVariableBinding) b; + } else if (bindings[i] instanceof IVariableBinding) { + IVariableBinding binding= (IVariableBinding) bindings[i]; importRewrite.removeStaticImport(binding.getDeclaringClass().getQualifiedName() + '.' + binding.getName()); } } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/AbstractTypeVariable.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/AbstractTypeVariable.java index 05bc973d2c..ada2529639 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/AbstractTypeVariable.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/AbstractTypeVariable.java @@ -66,10 +66,9 @@ public abstract class AbstractTypeVariable extends TType { protected final boolean checkAssignmentBound(TType rhs) { if (fBounds.length == 0) return true; - for (TType fBound : fBounds) { - if (rhs.canAssignTo(fBound)) { + for (int i= 0; i < fBounds.length; i++) { + if (rhs.canAssignTo(fBounds[i])) return true; - } } return false; } @@ -77,10 +76,9 @@ public abstract class AbstractTypeVariable extends TType { protected final boolean canAssignOneBoundTo(TType lhs) { if (fBounds.length == 0) return lhs.isJavaLangObject(); - for (TType fBound : fBounds) { - if (fBound.canAssignTo(lhs)) { + for (int i= 0; i < fBounds.length; i++) { + if (fBounds[i].canAssignTo(lhs)) return true; - } } return false; } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/HierarchyType.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/HierarchyType.java index 628c81ead1..a52ecb72bb 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/HierarchyType.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/HierarchyType.java @@ -78,10 +78,9 @@ public abstract class HierarchyType extends TType { private boolean doIsSubType(HierarchyType other) { if (fSuperclass != null && (other.isTypeEquivalentTo(fSuperclass) || fSuperclass.doIsSubType(other))) return true; - for (HierarchyType fInterface : fInterfaces) { - if (other.isTypeEquivalentTo(fInterface) || fInterface.doIsSubType(other)) { + for (int i= 0; i < fInterfaces.length; i++) { + if (other.isTypeEquivalentTo(fInterfaces[i]) || fInterfaces[i].doIsSubType(other)) return true; - } } return false; } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ParameterizedType.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ParameterizedType.java index 1a138a8c4c..b9068cf87e 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ParameterizedType.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/ParameterizedType.java @@ -141,8 +141,9 @@ public final class ParameterizedType extends HierarchyType { if (result != null) return result; } - for (TType intf : getInterfaces()) { - type= intf; + TType[] interfaces= getInterfaces(); + for (int i= 0; i < interfaces.length; i++) { + type= interfaces[i]; if (type != null && type.getKind() == PARAMETERIZED_TYPE) { result= ((ParameterizedType)type).findSameDeclaration(targetDeclaration); if (result != null) diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment.java index 3ef28048c0..246aae3348 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeEnvironment.java @@ -140,7 +140,8 @@ public class TypeEnvironment { public static ITypeBinding[] createTypeBindings(TType[] types, IJavaProject project) { final Map<String, Object> mapping= new HashMap<>(); List<String> keys= new ArrayList<>(); - for (TType type : types) { + for (int i= 0; i < types.length; i++) { + TType type= types[i]; String bindingKey= type.getBindingKey(); mapping.put(bindingKey, type); keys.add(bindingKey); @@ -308,8 +309,8 @@ public class TypeEnvironment { } private void cacheSubTypes(TType[] interfaces, TType result) { - for (TType intf : interfaces) { - cacheSubType(intf, result); + for (int i= 0; i < interfaces.length; i++) { + cacheSubType(interfaces[i], result); } } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeVariable.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeVariable.java index b7b410c50e..2164e85d00 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeVariable.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/typeconstraints/types/TypeVariable.java @@ -80,7 +80,8 @@ public final class TypeVariable extends AbstractTypeVariable { } private boolean doExtends(TypeVariable other) { - for (TType bound : fBounds) { + for (int i= 0; i < fBounds.length; i++) { + TType bound= fBounds[i]; if (other.equals(bound) || (bound.getKind() == TYPE_VARIABLE && ((TypeVariable)bound).doExtends(other))) return true; } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/JavaElementUtil.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/JavaElementUtil.java index 144db4181c..1fd7267c0a 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/JavaElementUtil.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/JavaElementUtil.java @@ -88,7 +88,8 @@ public class JavaElementUtil { public static IJavaElement[] getElementsOfType(IJavaElement[] elements, int type){ Set<IJavaElement> result= new HashSet<>(elements.length); - for (IJavaElement element : elements) { + for (int i= 0; i < elements.length; i++) { + IJavaElement element= elements[i]; if (element.getElementType() == type) result.add(element); } @@ -96,10 +97,10 @@ public class JavaElementUtil { } public static IType getMainType(ICompilationUnit cu) throws JavaModelException{ - for (IType type : cu.getTypes()) { - if (isMainType(type)) { - return type; - } + IType[] types= cu.getTypes(); + for (int i = 0; i < types.length; i++) { + if (isMainType(types[i])) + return types[i]; } return null; } @@ -143,7 +144,9 @@ public class JavaElementUtil { if (JavaModelUtil.isInterfaceOrAnnotation(type)) return new IMethod[0]; List<IMethod> result= new ArrayList<>(); - for (IMethod iMethod : type.getMethods()) { + IMethod[] methods= type.getMethods(); + for (int i= 0; i < methods.length; i++) { + IMethod iMethod= methods[i]; if (iMethod.isConstructor()) result.add(iMethod); } @@ -161,7 +164,8 @@ public class JavaElementUtil { cpe= root.getResolvedClasspathEntry(); IJavaProject[] allJavaProjects= JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProjects(); List<IJavaProject> result= new ArrayList<>(allJavaProjects.length); - for (IJavaProject project : allJavaProjects) { + for (int i= 0; i < allJavaProjects.length; i++) { + IJavaProject project= allJavaProjects[i]; IPackageFragmentRoot[] roots= project.findPackageFragmentRoots(cpe); if (roots.length > 0) result.add(project); @@ -172,11 +176,13 @@ public class JavaElementUtil { public static IMember[] merge(IMember[] a1, IMember[] a2) { // Don't use hash sets since ordering is important for some refactorings. List<IMember> result= new ArrayList<>(a1.length + a2.length); - for (IMember member : a1) { + for (int i= 0; i < a1.length; i++) { + IMember member= a1[i]; if (!result.contains(member)) result.add(member); } - for (IMember member : a2) { + for (int i= 0; i < a2.length; i++) { + IMember member= a2[i]; if (!result.contains(member)) result.add(member); } @@ -197,11 +203,12 @@ public class JavaElementUtil { return new IPackageFragment[] { pack }; IPackageFragmentRoot root= (IPackageFragmentRoot) pack.getParent(); + IJavaElement[] allPackages= root.getChildren(); ArrayList<IPackageFragment> subpackages= new ArrayList<>(); subpackages.add(pack); String prefix= pack.getElementName() + '.'; - for (IJavaElement allPackage : root.getChildren()) { - IPackageFragment currentPackage = (IPackageFragment) allPackage; + for (int i= 0; i < allPackages.length; i++) { + IPackageFragment currentPackage= (IPackageFragment) allPackages[i]; if (currentPackage.getElementName().startsWith(prefix)) subpackages.add(currentPackage); } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/ResourceUtil.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/ResourceUtil.java index d58b77a3e1..1d4c038ba8 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/ResourceUtil.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/ResourceUtil.java @@ -31,8 +31,8 @@ public class ResourceUtil { public static IFile[] getFiles(ICompilationUnit[] cus) { List<IResource> files= new ArrayList<>(cus.length); - for (ICompilationUnit cu : cus) { - IResource resource= cu.getResource(); + for (int i= 0; i < cus.length; i++) { + IResource resource= cus[i].getResource(); if (resource != null && resource.getType() == IResource.FILE) files.add(resource); } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/StatementAnalyzer.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/StatementAnalyzer.java index 885533da8d..3ca9ffef33 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/StatementAnalyzer.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/StatementAnalyzer.java @@ -163,7 +163,8 @@ public class StatementAnalyzer extends SelectionAnalyzer { ASTNode[] selectedNodes= getSelectedNodes(); if (doAfterValidation(node, selectedNodes)) { List<SwitchCase> cases= getSwitchCases(node); - for (ASTNode topNode : selectedNodes) { + for (int i= 0; i < selectedNodes.length; i++) { + ASTNode topNode= selectedNodes[i]; if (cases.contains(topNode)) { invalidSelection(JavaManipulationMessages.StatementAnalyzer_switch_statement); break; @@ -178,7 +179,8 @@ public class StatementAnalyzer extends SelectionAnalyzer { ASTNode[] selectedNodes= getSelectedNodes(); if (doAfterValidation(node, selectedNodes)) { List<SwitchCase> cases= getSwitchCases(node); - for (ASTNode topNode : selectedNodes) { + for (int i= 0; i < selectedNodes.length; i++) { + ASTNode topNode= selectedNodes[i]; if (cases.contains(topNode)) { invalidSelection(JavaManipulationMessages.StatementAnalyzer_switch_expression); break; @@ -262,19 +264,17 @@ public class StatementAnalyzer extends SelectionAnalyzer { } protected static boolean contains(ASTNode[] nodes, ASTNode node) { - for (ASTNode n : nodes) { - if (n == node) { + for (int i = 0; i < nodes.length; i++) { + if (nodes[i] == node) return true; - } } return false; } protected static boolean contains(ASTNode[] nodes, List<Expression> list) { - for (ASTNode node : nodes) { - if (list.contains(node)) { + for (int i = 0; i < nodes.length; i++) { + if (list.contains(nodes[i])) return true; - } } return false; } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/SurroundWithAnalyzer.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/SurroundWithAnalyzer.java index deef29de8d..87e8fe2bab 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/SurroundWithAnalyzer.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/SurroundWithAnalyzer.java @@ -141,7 +141,9 @@ public class SurroundWithAnalyzer extends CodeAnalyzer { } private boolean validSelectedNodes() { - for (ASTNode node : getSelectedNodes()) { + ASTNode[] nodes= getSelectedNodes(); + for (int i= 0; i < nodes.length; i++) { + ASTNode node= nodes[i]; boolean isValidNode= node instanceof Statement; if (fSurroundWithTryCatch) { // allow method reference and lambda's expression body also isValidNode= isValidNode || node instanceof MethodReference || node.getLocationInParent() == LambdaExpression.BODY_PROPERTY; diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TextEditUtil.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TextEditUtil.java index 3f235d455e..5868ad9116 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TextEditUtil.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TextEditUtil.java @@ -68,10 +68,9 @@ public class TextEditUtil { if (edit.getExclusiveEnd() != children[children.length - 1].getExclusiveEnd()) return false; - for (TextEdit child : children) { - if (!isPacked(child)) { + for (int i= 0; i < children.length; i++) { + if (!isPacked(children[i])) return false; - } } return true; @@ -96,7 +95,9 @@ public class TextEditUtil { if (!edit.hasChildren()) { result.addChild(edit); } else { - for (TextEdit child : edit.getChildren()) { + TextEdit[] children= edit.getChildren(); + for (int i= 0; i < children.length; i++) { + TextEdit child= children[i]; child.getParent().removeChild(0); flatten(child, result); } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TightSourceRangeComputer.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TightSourceRangeComputer.java index f6b3796ea4..c8e4deeaea 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TightSourceRangeComputer.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/refactoring/util/TightSourceRangeComputer.java @@ -57,11 +57,13 @@ public class TightSourceRangeComputer extends TargetSourceRangeComputer { addTightSourceNode(child); } } else if (descriptor.isChildListProperty()) { - for (ASTNode child : ASTNodes.getChildListProperty(reference, (ChildListPropertyDescriptor) descriptor)) { - if (isExtending(child, reference)) { - addTightSourceNode(child); - } - } + List<? extends ASTNode> children= ASTNodes.getChildListProperty(reference, (ChildListPropertyDescriptor) descriptor); + for (Iterator<? extends ASTNode> iterator2= children.iterator(); iterator2.hasNext();) { + ASTNode child= iterator2.next(); + if (isExtending(child, reference)) { + addTightSourceNode(child); + } + } } } } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/SignatureUtil.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/SignatureUtil.java index 5ce78b9ac8..34ab17780f 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/SignatureUtil.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/template/java/SignatureUtil.java @@ -169,11 +169,10 @@ public final class SignatureUtil { return NULL_TYPE_SIGNATURE_ARRAY; } - for (char[] typeArgument : Signature.getTypeArguments(signature)) { - if (Arrays.equals(typeArgument, NULL_TYPE_SIGNATURE_ARRAY)) { + char[][] typeArguments= Signature.getTypeArguments(signature); + for (int i= 0; i < typeArguments.length; i++) + if (Arrays.equals(typeArguments[i], NULL_TYPE_SIGNATURE_ARRAY)) return NULL_TYPE_SIGNATURE_ARRAY; - } - } if (signature[0] == Signature.C_SUPER) { char[] type= new char[signature.length - 1]; @@ -276,7 +275,9 @@ public final class SignatureUtil { } StringBuilder res= new StringBuilder("("); //$NON-NLS-1$ - for (char[] param : Signature.getParameterTypes(signature)) { + char[][] parameters= Signature.getParameterTypes(signature); + for (int i= 0; i < parameters.length; i++) { + char[] param= parameters[i]; res.append(getLowerBound(param)); } res.append(')'); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java index d71c00f57c..93c2211b5f 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java @@ -168,10 +168,11 @@ public final class JavaModelUtil { * @throws JavaModelException thrown when the cu can not be accessed */ public static IType findTypeInCompilationUnit(ICompilationUnit cu, String typeQualifiedName) throws JavaModelException { - for (IType type : cu.getAllTypes()) { - String currName= type.getTypeQualifiedName('.'); + IType[] types= cu.getAllTypes(); + for (int i= 0; i < types.length; i++) { + String currName= types[i].getTypeQualifiedName('.'); if (typeQualifiedName.equals(currName)) { - return type; + return types[i]; } } return null; @@ -351,9 +352,10 @@ public final class JavaModelUtil { * @throws JavaModelException thrown when the type can not be accessed */ public static IMethod findMethod(String name, String[] paramTypes, boolean isConstructor, IType type) throws JavaModelException { - for (IMethod method : type.getMethods()) { - if (isSameMethodSignature(name, paramTypes, isConstructor, method)) { - return method; + IMethod[] methods= type.getMethods(); + for (int i= 0; i < methods.length; i++) { + if (isSameMethodSignature(name, paramTypes, isConstructor, methods[i])) { + return methods[i]; } } return null; @@ -386,8 +388,9 @@ public final class JavaModelUtil { } } if (!isConstructor) { - for (IType superInterface : hierarchy.getSuperInterfaces(type)) { - IMethod res= findMethodInHierarchy(hierarchy, superInterface, name, paramTypes, false); + IType[] superInterfaces= hierarchy.getSuperInterfaces(type); + for (int i= 0; i < superInterfaces.length; i++) { + IMethod res= findMethodInHierarchy(hierarchy, superInterfaces[i], name, paramTypes, false); if (res != null) { return res; } @@ -445,8 +448,9 @@ public final class JavaModelUtil { * @throws JavaModelException thrown when the type can not be accessed */ public static boolean hasMainMethod(IType type) throws JavaModelException { - for (IMethod method : type.getMethods()) { - if (method.isMainMethod()) { + IMethod[] methods= type.getMethods(); + for (int i= 0; i < methods.length; i++) { + if (methods[i].isMainMethod()) { return true; } } @@ -593,7 +597,9 @@ public final class JavaModelUtil { return true; } if (Flags.isInterface(hierarchy.getCachedFlags(possibleSuperType))) { - for (IType curr : hierarchy.getSuperInterfaces(type)) { + IType[] superInterfaces= hierarchy.getSuperInterfaces(type); + for (int i= 0; i < superInterfaces.length; i++) { + IType curr= superInterfaces[i]; if (possibleSuperType.equals(curr) || isSuperType(hierarchy, possibleSuperType, curr)) { return true; } @@ -675,7 +681,9 @@ public final class JavaModelUtil { * <code>null</code> if the container can not be modified. */ public static IClasspathEntry findEntryInContainer(IClasspathContainer container, IPath libPath) { - for (IClasspathEntry curr : container.getClasspathEntries()) { + IClasspathEntry[] entries= container.getClasspathEntries(); + for (int i= 0; i < entries.length; i++) { + IClasspathEntry curr= entries[i]; IClasspathEntry resolved= JavaCore.getResolvedClasspathEntry(curr); if (resolved != null && libPath.equals(resolved.getPath())) { return curr; // return the real entry @@ -721,8 +729,8 @@ public final class JavaModelUtil { */ public static ICompilationUnit[] getAllCompilationUnits(IJavaElement[] javaElements) throws JavaModelException { HashSet<ICompilationUnit> result= new HashSet<>(); - for (IJavaElement javaElement : javaElements) { - addAllCus(result, javaElement); + for (int i= 0; i < javaElements.length; i++) { + addAllCus(result, javaElements[i]); } return result.toArray(new ICompilationUnit[result.size()]); } @@ -731,22 +739,20 @@ public final class JavaModelUtil { switch (javaElement.getElementType()) { case IJavaElement.JAVA_PROJECT: IJavaProject javaProject= (IJavaProject) javaElement; - for (IPackageFragmentRoot packageFragmentRoot : javaProject.getPackageFragmentRoots()) { - addAllCus(collector, packageFragmentRoot); - } + IPackageFragmentRoot[] packageFragmentRoots= javaProject.getPackageFragmentRoots(); + for (int i= 0; i < packageFragmentRoots.length; i++) + addAllCus(collector, packageFragmentRoots[i]); return; - case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot packageFragmentRoot= (IPackageFragmentRoot) javaElement; if (packageFragmentRoot.getKind() != IPackageFragmentRoot.K_SOURCE) return; - for (IJavaElement packageFragment : packageFragmentRoot.getChildren()) { - addAllCus(collector, packageFragment); - } + IJavaElement[] packageFragments= packageFragmentRoot.getChildren(); + for (int j= 0; j < packageFragments.length; j++) + addAllCus(collector, packageFragments[j]); return; - case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment packageFragment= (IPackageFragment) javaElement; collector.addAll(Arrays.asList(packageFragment.getCompilationUnits())); diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/MethodOverrideTester.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/MethodOverrideTester.java index 00a5374046..1f26e3db59 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/MethodOverrideTester.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/MethodOverrideTester.java @@ -143,8 +143,9 @@ public class MethodOverrideTester { } } } - for (IType intf : fHierarchy.getSuperInterfaces(type)) { - IMethod res= findOverriddenMethodInHierarchy(intf, overriding); + IType[] interfaces= fHierarchy.getSuperInterfaces(type); + for (int i= 0; i < interfaces.length; i++) { + IMethod res= findOverriddenMethodInHierarchy(interfaces[i], overriding); if (res != null) { return res; // methods from interfaces are always public and therefore visible } @@ -172,8 +173,9 @@ public class MethodOverrideTester { return res; } } - for (IType superInterface : fHierarchy.getSuperInterfaces(type)) { - IMethod res= findOverriddenMethodInHierarchy(superInterface, overriding); + IType[] superInterfaces= fHierarchy.getSuperInterfaces(type); + for (int i= 0; i < superInterfaces.length; i++) { + IMethod res= findOverriddenMethodInHierarchy(superInterfaces[i], overriding); if (res != null) { return res; } @@ -193,7 +195,9 @@ public class MethodOverrideTester { int flags= overriding.getFlags(); if (Flags.isPrivate(flags) || Flags.isStatic(flags) || overriding.isConstructor()) return null; - for (IMethod overridden : overriddenType.getMethods()) { + IMethod[] overriddenMethods= overriddenType.getMethods(); + for (int i= 0; i < overriddenMethods.length; i++) { + IMethod overridden= overriddenMethods[i]; flags= overridden.getFlags(); if (Flags.isPrivate(flags) || Flags.isStatic(flags) || overridden.isConstructor()) continue; @@ -215,7 +219,9 @@ public class MethodOverrideTester { int flags= overridden.getFlags(); if (Flags.isPrivate(flags) || Flags.isStatic(flags) || overridden.isConstructor()) return null; - for (IMethod overriding : overridingType.getMethods()) { + IMethod[] overridingMethods= overridingType.getMethods(); + for (int i= 0; i < overridingMethods.length; i++) { + IMethod overriding= overridingMethods[i]; flags= overriding.getFlags(); if (Flags.isPrivate(flags) || Flags.isStatic(flags) || overriding.isConstructor()) continue; @@ -404,7 +410,8 @@ public class MethodOverrideTester { ITypeParameter[] typeParameters= instantiatedType.getTypeParameters(); if (instantiatingType == null) { // the focus type - for (ITypeParameter curr : typeParameters) { + for (int i= 0; i < typeParameters.length; i++) { + ITypeParameter curr= typeParameters[i]; // use star to make type variables different from type refs s.addSubstitution(curr.getElementName(), '*' + curr.getElementName(), getTypeParameterErasure(curr, instantiatedType)); } @@ -417,7 +424,8 @@ public class MethodOverrideTester { s.addSubstitution(curr.getElementName(), substString, erasure); } } else if (typeArguments.length == 0) { // raw type reference - for (ITypeParameter curr : typeParameters) { + for (int i= 0; i < typeParameters.length; i++) { + ITypeParameter curr= typeParameters[i]; String erasure= getTypeParameterErasure(curr, instantiatedType); s.addSubstitution(curr.getElementName(), erasure, erasure); } diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/Resources.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/Resources.java index c3474f67f1..757137f248 100644 --- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/Resources.java +++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/Resources.java @@ -70,7 +70,8 @@ public class Resources { */ public static IStatus checkInSync(IResource[] resources) { IStatus result= null; - for (IResource resource : resources) { + for (int i= 0; i < resources.length; i++) { + IResource resource= resources[i]; if (!resource.isSynchronized(IResource.DEPTH_INFINITE)) { result= addOutOfSync(result, resource); } @@ -111,7 +112,8 @@ public class Resources { */ public static IStatus makeCommittable(IResource[] resources, Object context) { List<IResource> readOnlyFiles= new ArrayList<>(); - for (IResource resource : resources) { + for (int i= 0; i < resources.length; i++) { + IResource resource= resources[i]; if (resource.getType() == IResource.FILE && isReadOnly(resource)) readOnlyFiles.add(resource); } @@ -198,8 +200,8 @@ public class Resources { */ public static String[] getLocationOSStrings(IResource[] resources) { List<String> result= new ArrayList<>(resources.length); - for (IResource resource : resources) { - IPath location= resource.getLocation(); + for (int i= 0; i < resources.length; i++) { + IPath location= resources[i].getLocation(); if (location != null) result.add(location.toOSString()); } diff --git a/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/ExtractClassDescriptor.java b/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/ExtractClassDescriptor.java index d515e5d528..198b6b2326 100644 --- a/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/ExtractClassDescriptor.java +++ b/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/ExtractClassDescriptor.java @@ -217,8 +217,10 @@ public class ExtractClassDescriptor extends JavaRefactoringDescriptor { * @throws JavaModelException if the type does not exist or if an exception occurs while accessing its corresponding resource. */ public static Field[] getFields(IType type) throws JavaModelException { + IField[] fields= type.getFields(); ArrayList<Field> result= new ArrayList<>(); - for (IField field : type.getFields()) { + for (int i= 0; i < fields.length; i++) { + IField field= fields[i]; if (!Flags.isStatic(field.getFlags()) && !field.isEnumConstant()) result.add(new Field(field.getElementName())); } @@ -236,7 +238,8 @@ public class ExtractClassDescriptor extends JavaRefactoringDescriptor { * @throws IllegalArgumentException if one of the fields is <code>null</code> */ public void setFields(Field[] fields) throws IllegalArgumentException { - for (Field field : fields) { + for (int i= 0; i < fields.length; i++) { + Field field= fields[i]; if (field == null) throw new IllegalArgumentException("Field can not be null"); //$NON-NLS-1$ } diff --git a/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/IntroduceParameterObjectDescriptor.java b/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/IntroduceParameterObjectDescriptor.java index b7b62c2e0f..9acda950eb 100644 --- a/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/IntroduceParameterObjectDescriptor.java +++ b/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/IntroduceParameterObjectDescriptor.java @@ -528,7 +528,8 @@ public class IntroduceParameterObjectDescriptor extends JavaRefactoringDescripto result.addFatalError("The number of parameters does not match the number of parameters of the method"); //$NON-NLS-1$ } boolean hasParameterObject= false; - for (Parameter parameter : fParameters) { + for (int i= 0; i < fParameters.length; i++) { + Parameter parameter= fParameters[i]; if (parameter.isCreateField()) { String fieldName= parameter.getFieldName(); if (fieldName == null) diff --git a/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/MoveStaticMembersDescriptor.java b/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/MoveStaticMembersDescriptor.java index 4dfdc6fdcc..fb42d81842 100644 --- a/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/MoveStaticMembersDescriptor.java +++ b/org.eclipse.jdt.core.manipulation/refactoring/org/eclipse/jdt/core/refactoring/descriptors/MoveStaticMembersDescriptor.java @@ -165,8 +165,8 @@ public final class MoveStaticMembersDescriptor extends JavaRefactoringDescriptor if (fMembers == null) status.merge(RefactoringStatus.createFatalErrorStatus(DescriptorMessages.MoveStaticMembersDescriptor_no_members)); else { - for (IMember member : fMembers) { - if (member == null) { + for (int index= 0; index < fMembers.length; index++) { + if (fMembers[index] == null) { status.merge(RefactoringStatus.createFatalErrorStatus(DescriptorMessages.MoveStaticMembersDescriptor_invalid_members)); break; } |