Introducing dependency kinds to prioritize package fragments
This commit is contained in:
+2
-1
@@ -18,13 +18,14 @@ package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.descriptors.DependencyKind;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
|
||||
public class InjectorForJavaDescriptorResolverUtil {
|
||||
@NotNull
|
||||
public static InjectorForJavaDescriptorResolver create(@NotNull Project project, @NotNull BindingTrace bindingTrace) {
|
||||
InjectorForJavaDescriptorResolver injector = new InjectorForJavaDescriptorResolver(project, bindingTrace);
|
||||
injector.getModule().addFragmentProvider(injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
injector.getModule().addFragmentProvider(DependencyKind.BINARIES, injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
return injector;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -28,6 +28,7 @@ import org.jetbrains.jet.analyzer.AnalyzerFacadeForEverything;
|
||||
import org.jetbrains.jet.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.jet.di.InjectorForJavaDescriptorResolverUtil;
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
||||
import org.jetbrains.jet.lang.descriptors.DependencyKind;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
@@ -110,7 +111,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
ModuleDescriptorImpl module = injector.getModule();
|
||||
|
||||
if (addBuiltIns) {
|
||||
module.addFragmentProvider(KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider());
|
||||
module.addFragmentProvider(DependencyKind.BUILT_INS, KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider());
|
||||
}
|
||||
|
||||
return new ResolveSession(project, storageManager, module, declarationProviderFactory, trace);
|
||||
@@ -196,7 +197,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
|
||||
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module);
|
||||
try {
|
||||
module.addFragmentProvider(injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
module.addFragmentProvider(DependencyKind.BINARIES, injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
|
||||
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
||||
new CachedBodiesResolveContext(injector.getTopDownAnalysisContext()) :
|
||||
|
||||
Reference in New Issue
Block a user