diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java index 2e666639d566..e5080d3dfafe 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java @@ -80,14 +80,14 @@ public class PsiImplUtil { @NotNull public static PsiMethod[] getConstructors(@NotNull PsiClass aClass) { - final List constructorsList = new SmartList(); - - final PsiMethod[] methods = aClass.getMethods(); - for (final PsiMethod method : methods) { - if (method.isConstructor()) constructorsList.add(method); + List result = null; + for (PsiMethod method : aClass.getMethods()) { + if (method.isConstructor()) { + if (result == null) result = ContainerUtil.newSmartList(); + result.add(method); + } } - - return constructorsList.toArray(new PsiMethod[constructorsList.size()]); + return result == null ? PsiMethod.EMPTY_ARRAY : result.toArray(new PsiMethod[result.size()]); } @Nullable diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsClassImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsClassImpl.java index 2005641364e8..26a2e7fa0672 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsClassImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/ClsClassImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -448,8 +448,8 @@ public class ClsClassImpl extends ClsMemberImpl> implements PsiE @NotNull ResolveState state, PsiElement lastParent, @NotNull PsiElement place) { - LanguageLevel languageLevel = processor instanceof MethodsProcessor ? ((MethodsProcessor)processor).getLanguageLevel() : PsiUtil.getLanguageLevel(place); - return PsiClassImplUtil.processDeclarationsInClass(this, processor, state, null, lastParent, place, languageLevel, false); + LanguageLevel level = processor instanceof MethodsProcessor ? ((MethodsProcessor)processor).getLanguageLevel() : PsiUtil.getLanguageLevel(place); + return PsiClassImplUtil.processDeclarationsInClass(this, processor, state, null, lastParent, place, level, false); } @Override