From d1057348da425ed1e1666bd2e5b5a72857549d62 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 5 Nov 2012 14:18:46 +0400 Subject: [PATCH] Refactor JavaNamespaceResolver#createNamespaceData --- .../java/resolver/JavaNamespaceResolver.java | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaNamespaceResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaNamespaceResolver.java index cd134d729d3..ad3b4a7adb2 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaNamespaceResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaNamespaceResolver.java @@ -132,7 +132,7 @@ public final class JavaNamespaceResolver { @NotNull FqName fqName, @NotNull NamespaceDescriptor namespaceDescriptor ) { - PsiDeclarationProvider namespaceData = createNamespaceData(fqName, namespaceDescriptor); + PsiDeclarationProvider namespaceData = createDeclarationProvider(fqName, namespaceDescriptor); JavaPackageScope javaPackageScope; if (namespaceData == null) { javaPackageScope = null; @@ -148,30 +148,24 @@ public final class JavaNamespaceResolver { } @Nullable - private PsiDeclarationProvider createNamespaceData( + private PsiDeclarationProvider createDeclarationProvider( @NotNull FqName fqName, @NotNull NamespaceDescriptor namespaceDescriptor ) { - PsiPackage psiPackage; - PsiClass psiClass; - - lookingForPsi: - { - psiClass = getPsiClassForJavaPackageScope(fqName); - psiPackage = psiClassFinder.findPsiPackage(fqName); - if (psiClass != null || psiPackage != null) { - trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, namespaceDescriptor, JavaNamespaceKind.PROPER); - break lookingForPsi; - } - - psiClass = psiClassFinder.findPsiClass(fqName, PsiClassFinder.RuntimeClassesHandleMode.IGNORE); - if (psiClass != null && !psiClass.isEnum()) { - trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, namespaceDescriptor, JavaNamespaceKind.CLASS_STATICS); - break lookingForPsi; - } - return null; + PsiClass psiClass = getPsiClassForJavaPackageScope(fqName); + PsiPackage psiPackage = psiClassFinder.findPsiPackage(fqName); + if (psiClass != null || psiPackage != null) { + trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, namespaceDescriptor, JavaNamespaceKind.PROPER); + return PsiDeclarationProviderFactory.createDeclarationProviderForPackage(psiPackage, psiClass, fqName); } - return PsiDeclarationProviderFactory.createDeclarationProviderForPackage(psiPackage, psiClass, fqName); + + psiClass = psiClassFinder.findPsiClass(fqName, PsiClassFinder.RuntimeClassesHandleMode.IGNORE); + if (psiClass != null && !psiClass.isEnum()) { + trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, namespaceDescriptor, JavaNamespaceKind.CLASS_STATICS); + return PsiDeclarationProviderFactory.createDeclarationProviderForPackage(psiPackage, psiClass, fqName); + } + + return null; } private void cache(@NotNull FqName fqName, @Nullable JavaPackageScope packageScope) {