diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java index b8ed08d7119..f063431b952 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java @@ -68,6 +68,7 @@ public class InjectorForJavaSemanticServices { javaBridgeConfiguration.setMode(compilerSpecialMode); javaBridgeConfiguration.setProject(project); + this.psiClassFinderForJvm.setCompilerSpecialMode(compilerSpecialMode); this.psiClassFinderForJvm.setProject(project); javaTypeTransformer.setJavaSemanticServices(javaSemanticServices); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java index 63b242c0ad1..098f19e22e5 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java @@ -144,6 +144,7 @@ public class InjectorForTopDownAnalyzerForJvm { this.javaBridgeConfiguration.setMode(compilerSpecialMode); this.javaBridgeConfiguration.setProject(project); + psiClassFinderForJvm.setCompilerSpecialMode(compilerSpecialMode); psiClassFinderForJvm.setProject(project); declarationResolver.setAnnotationResolver(annotationResolver); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java index d6cc338fa7b..a19ac60effb 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java @@ -33,25 +33,36 @@ import org.jetbrains.jet.utils.PathUtil; import javax.annotation.PostConstruct; import javax.inject.Inject; +import java.util.Collections; /** * @author Stepan Koltsov */ public class PsiClassFinderForJvm implements PsiClassFinder { + @NotNull private Project project; + @NotNull + private CompilerSpecialMode compilerSpecialMode; + private AltClassFinder altClassFinder; private GlobalSearchScope javaSearchScope; private JavaPsiFacade javaFacade; @Inject - public void setProject(Project project) { + public void setProject(@NotNull Project project) { this.project = project; } + @Inject + public void setCompilerSpecialMode(@NotNull CompilerSpecialMode compilerSpecialMode) { + this.compilerSpecialMode = compilerSpecialMode; + } + @PostConstruct public void initialize() { - this.altClassFinder = new AltClassFinder(project, PathUtil.getAltHeadersRoots()); + this.altClassFinder = new AltClassFinder(project, + compilerSpecialMode == CompilerSpecialMode.REGULAR ? PathUtil.getAltHeadersRoots() : Collections.emptyList()); this.javaSearchScope = new DelegatingGlobalSearchScope(GlobalSearchScope.allScope(project)) { @Override public boolean contains(VirtualFile file) {