diff --git a/java/openapi/src/com/intellij/psi/util/PsiSuperMethodUtil.java b/java/openapi/src/com/intellij/psi/util/PsiSuperMethodUtil.java index a41cd9ad528f..bba2e8788a2e 100644 --- a/java/openapi/src/com/intellij/psi/util/PsiSuperMethodUtil.java +++ b/java/openapi/src/com/intellij/psi/util/PsiSuperMethodUtil.java @@ -19,6 +19,7 @@ import com.intellij.psi.*; import com.intellij.util.containers.HashSet; import org.jetbrains.annotations.NonNls; +import java.util.List; import java.util.Set; public class PsiSuperMethodUtil { @@ -69,7 +70,9 @@ public class PsiSuperMethodUtil { public static boolean isSuperMethod(PsiMethod method, PsiMethod superMethod) { HierarchicalMethodSignature signature = method.getHierarchicalMethodSignature(); - for (HierarchicalMethodSignature supsig : signature.getSuperSignatures()) { + List superSignatures = signature.getSuperSignatures(); + for (int i = 0, superSignaturesSize = superSignatures.size(); i < superSignaturesSize; i++) { + HierarchicalMethodSignature supsig = superSignatures.get(i); PsiMethod supsigme = supsig.getMethod(); if (superMethod.equals(supsigme) || isSuperMethod(supsigme, superMethod)) return true; } diff --git a/platform/lang-api/src/com/intellij/psi/stubs/StubBase.java b/platform/lang-api/src/com/intellij/psi/stubs/StubBase.java index ace05ca8492d..8a5255bd0c22 100644 --- a/platform/lang-api/src/com/intellij/psi/stubs/StubBase.java +++ b/platform/lang-api/src/com/intellij/psi/stubs/StubBase.java @@ -123,7 +123,9 @@ public abstract class StubBase extends UserDataHolderBase private int countChildren(final IElementType elementType) { int count = 0; - for (StubElement childStub : getChildrenStubs()) { + List childrenStubs = getChildrenStubs(); + for (int i = 0, childrenStubsSize = childrenStubs.size(); i < childrenStubsSize; i++) { + StubElement childStub = childrenStubs.get(i); if (childStub.getStubType() == elementType) count++; } @@ -132,7 +134,9 @@ public abstract class StubBase extends UserDataHolderBase private int countChildren(final TokenSet types) { int count = 0; - for (StubElement childStub : getChildrenStubs()) { + List childrenStubs = getChildrenStubs(); + for (int i = 0, childrenStubsSize = childrenStubs.size(); i < childrenStubsSize; i++) { + StubElement childStub = childrenStubs.get(i); if (types.contains(childStub.getStubType())) count++; }