From 5d3d446ea439a3cf32acee91e420ff22e513f0dd Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 26 Dec 2014 19:10:16 +0300 Subject: [PATCH] Now PsiElementFinderImpl is registered via extension but it hadn't been added to JavaCoreProjectEnvironment --- .../kotlin/cli/jvm/compiler/JetCoreEnvironment.java | 10 ++++++++-- .../kotlin/resolve/jvm/KotlinJavaPsiFacade.java | 9 +++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/JetCoreEnvironment.java b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/JetCoreEnvironment.java index c1001a97326..ab6872fb2bb 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/JetCoreEnvironment.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/JetCoreEnvironment.java @@ -44,6 +44,7 @@ import com.intellij.psi.PsiElementFinder; import com.intellij.psi.PsiManager; import com.intellij.psi.augment.PsiAugmentProvider; import com.intellij.psi.compiled.ClassFileDecompilers; +import com.intellij.psi.impl.PsiElementFinderImpl; import com.intellij.psi.impl.PsiTreeChangePreprocessor; import com.intellij.psi.impl.compiled.ClsCustomNavigationPolicy; import com.intellij.psi.impl.compiled.ClsStubBuilderFactory; @@ -316,8 +317,13 @@ public class JetCoreEnvironment { project.registerService(LightClassGenerationSupport.class, cliLightClassGenerationSupport); project.registerService(CliLightClassGenerationSupport.class, cliLightClassGenerationSupport); project.registerService(CodeAnalyzerInitializer.class, cliLightClassGenerationSupport); - Extensions.getArea(project) - .getExtensionPoint(PsiElementFinder.EP_NAME) + + ExtensionsArea area = Extensions.getArea(project); + + area.getExtensionPoint(PsiElementFinder.EP_NAME) + .registerExtension(new PsiElementFinderImpl(project, ServiceManager.getService(project, JavaFileManager.class))); + + area.getExtensionPoint(PsiElementFinder.EP_NAME) .registerExtension(new JavaElementFinder(project, cliLightClassGenerationSupport)); } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java index 7df4b1e80b4..b5f1e4297d0 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/KotlinJavaPsiFacade.java @@ -26,10 +26,8 @@ import com.intellij.openapi.roots.PackageIndex; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.PsiClass; -import com.intellij.psi.PsiElementFinder; -import com.intellij.psi.PsiManager; -import com.intellij.psi.PsiPackage; +import com.intellij.psi.*; +import com.intellij.psi.impl.PsiElementFinderImpl; import com.intellij.psi.impl.file.PsiPackageImpl; import com.intellij.psi.impl.file.impl.JavaFileManager; import com.intellij.psi.search.GlobalSearchScope; @@ -149,8 +147,7 @@ public class KotlinJavaPsiFacade { getProject().getExtensions(PsiElementFinder.EP_NAME), new Function1() { @Override public Boolean invoke(PsiElementFinder finder) { - // TODO: Filter out PsiElementFinderImpl in idea 14 - return !(finder instanceof KotlinFinderMarker); + return !(finder instanceof KotlinFinderMarker || finder instanceof PsiElementFinderImpl); } });