Minor refactor

This commit is contained in:
Pavel V. Talanov
2012-11-08 19:49:19 +04:00
parent b6aa9b2bce
commit 5bbe9af4bb
@@ -16,6 +16,7 @@
package org.jetbrains.jet.lang.resolve.java.scope; package org.jetbrains.jet.lang.resolve.java.scope;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.intellij.openapi.progress.ProgressIndicatorProvider; import com.intellij.openapi.progress.ProgressIndicatorProvider;
@@ -133,8 +134,8 @@ public abstract class JavaBaseScope extends JetScopeImpl {
Collection<DeclarationDescriptor> result = Sets.newHashSet(); Collection<DeclarationDescriptor> result = Sets.newHashSet();
if (declarationProvider instanceof ClassPsiDeclarationProvider) { if (declarationProvider instanceof ClassPsiDeclarationProvider) {
PsiClass psiClass = ((ClassPsiDeclarationProvider) declarationProvider).getPsiClass(); PsiClass psiClass = ((ClassPsiDeclarationProvider) declarationProvider).getPsiClass();
computeFieldAndFunctionDescriptors(result); result.addAll(computeFieldAndFunctionDescriptors());
computeInnerClasses(psiClass, result); result.addAll(computeInnerClasses(psiClass));
} }
if (declarationProvider instanceof PackagePsiDeclarationProvider) { if (declarationProvider instanceof PackagePsiDeclarationProvider) {
PsiPackage psiPackage = ((PackagePsiDeclarationProvider) declarationProvider).getPsiPackage(); PsiPackage psiPackage = ((PackagePsiDeclarationProvider) declarationProvider).getPsiPackage();
@@ -144,7 +145,9 @@ public abstract class JavaBaseScope extends JetScopeImpl {
return result; return result;
} }
private void computeFieldAndFunctionDescriptors(Collection<DeclarationDescriptor> result) { @NotNull
private Collection<DeclarationDescriptor> computeFieldAndFunctionDescriptors() {
Collection<DeclarationDescriptor> result = Lists.newArrayList();
for (NamedMembers members : declarationProvider.getMembersCache().allMembers()) { for (NamedMembers members : declarationProvider.getMembersCache().allMembers()) {
Name name = members.getName(); Name name = members.getName();
ProgressIndicatorProvider.checkCanceled(); ProgressIndicatorProvider.checkCanceled();
@@ -152,19 +155,20 @@ public abstract class JavaBaseScope extends JetScopeImpl {
ProgressIndicatorProvider.checkCanceled(); ProgressIndicatorProvider.checkCanceled();
result.addAll(getProperties(name)); result.addAll(getProperties(name));
} }
return result;
} }
private void computeInnerClasses( @NotNull
@NotNull PsiClass psiClass, private Collection<ClassDescriptor> computeInnerClasses(
@NotNull Collection<DeclarationDescriptor> result @NotNull PsiClass psiClass
) { ) {
// TODO: Trying to hack the situation when we produce namespace descriptor for java class and still want to see inner classes // TODO: Trying to hack the situation when we produce namespace descriptor for java class and still want to see inner classes
if (descriptor instanceof JavaNamespaceDescriptor) { if (descriptor instanceof JavaNamespaceDescriptor) {
result.addAll(getResolver().resolveInnerClasses(descriptor, psiClass, false)); return getResolver().resolveInnerClasses(descriptor, psiClass, false);
} }
else { else {
result.addAll(getResolver().resolveInnerClasses( return getResolver().resolveInnerClasses(descriptor, psiClass,
descriptor, psiClass, ((ClassPsiDeclarationProviderImpl) declarationProvider).isStaticMembers())); ((ClassPsiDeclarationProviderImpl) declarationProvider).isStaticMembers());
} }
} }