diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/TopDownAnalyzerFacadeForJVM.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/TopDownAnalyzerFacadeForJVM.java index a56bca4f713..8ef571f2e92 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/TopDownAnalyzerFacadeForJVM.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/TopDownAnalyzerFacadeForJVM.java @@ -58,20 +58,32 @@ public enum TopDownAnalyzerFacadeForJVM { @NotNull public static AnalysisResult analyzeFilesWithJavaIntegration( - Project project, - Collection files, - BindingTrace trace, - Predicate filesToAnalyzeCompletely, - ModuleDescriptorImpl module, + @NotNull Project project, + @NotNull Collection files, + @NotNull BindingTrace trace, + @NotNull TopDownAnalysisParameters topDownAnalysisParameters, + @NotNull ModuleDescriptorImpl module + ) { + return analyzeFilesWithJavaIntegration(project, files, trace, topDownAnalysisParameters, module, null, null); + } + + @NotNull + public static AnalysisResult analyzeFilesWithJavaIntegration( + @NotNull Project project, + @NotNull Collection files, + @NotNull BindingTrace trace, + @NotNull Predicate filesToAnalyzeCompletely, + @NotNull ModuleDescriptorImpl module, @Nullable List moduleIds, @Nullable IncrementalCacheProvider incrementalCacheProvider ) { - GlobalContext globalContext = ContextPackage.GlobalContext(); - return analyzeFilesWithJavaIntegrationWithCustomContext(project, globalContext, files, trace, filesToAnalyzeCompletely, module, - moduleIds, - incrementalCacheProvider); + return analyzeFilesWithJavaIntegrationWithCustomContext( + project, ContextPackage.GlobalContext(), files, trace, + filesToAnalyzeCompletely, module, moduleIds, + incrementalCacheProvider); } + @NotNull public static AnalysisResult analyzeFilesWithJavaIntegrationWithCustomContext( @NotNull Project project, @NotNull GlobalContext globalContext, @@ -90,6 +102,20 @@ public enum TopDownAnalyzerFacadeForJVM { false ); + return analyzeFilesWithJavaIntegration( + project, files, trace, topDownAnalysisParameters, module, moduleIds, incrementalCacheProvider); + } + + @NotNull + private static AnalysisResult analyzeFilesWithJavaIntegration( + Project project, + Collection files, + BindingTrace trace, + TopDownAnalysisParameters topDownAnalysisParameters, + ModuleDescriptorImpl module, + @Nullable List moduleIds, + @Nullable IncrementalCacheProvider incrementalCacheProvider + ) { InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module); try { List additionalProviders = new ArrayList(); @@ -100,7 +126,7 @@ public enum TopDownAnalyzerFacadeForJVM { additionalProviders.add( new IncrementalPackageFragmentProvider( - files, module, globalContext.getStorageManager(), injector.getDeserializationGlobalContextForJava(), + files, module, topDownAnalysisParameters.getStorageManager(), injector.getDeserializationGlobalContextForJava(), incrementalCache, moduleId, injector.getJavaDescriptorResolver() ) ); diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java index 3986703e010..bcdd112427c 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java @@ -33,7 +33,6 @@ import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.config.CommonConfigurationKeys; import org.jetbrains.jet.config.CompilerConfiguration; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedClassDescriptor; -import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm; import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor; @@ -43,6 +42,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters; +import org.jetbrains.jet.lang.resolve.java.TopDownAnalyzerFacadeForJVM; import org.jetbrains.jet.lang.resolve.lazy.JvmResolveUtil; import org.jetbrains.jet.storage.ExceptionTracker; import org.jetbrains.jet.storage.LockBasedStorageManager; @@ -157,15 +157,13 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir { false, false ); - InjectorForTopDownAnalyzerForJvm injectorForAnalyzer = new InjectorForTopDownAnalyzerForJvm( - environment.getProject(), - parameters, - trace, - module); - injectorForAnalyzer.getTopDownAnalyzer().analyzeFiles( - parameters, environment.getSourceFiles(), - injectorForAnalyzer.getJavaDescriptorResolver().getPackageFragmentProvider() + TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration( + environment.getProject(), + environment.getSourceFiles(), + trace, + parameters, + module ); PackageViewDescriptor packageView = module.getPackage(TEST_PACKAGE_FQNAME); diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java index 83596582f3f..1f366f6af10 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java @@ -26,12 +26,12 @@ import org.jetbrains.jet.cli.jvm.compiler.CliLightClassGenerationSupport; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.context.ContextPackage; import org.jetbrains.jet.context.GlobalContextImpl; -import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.impl.ModuleDescriptorImpl; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters; +import org.jetbrains.jet.lang.resolve.java.TopDownAnalyzerFacadeForJVM; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.SpecialNames; @@ -54,10 +54,13 @@ public class LazyResolveTestUtil { BindingTrace sharedTrace = support.getTrace(); ModuleDescriptorImpl sharedModule = support.newModule(); - InjectorForTopDownAnalyzerForJvm injector = - new InjectorForTopDownAnalyzerForJvm(environment.getProject(), params, sharedTrace, sharedModule); - injector.getTopDownAnalyzer().analyzeFiles(params, files, injector.getJavaDescriptorResolver().getPackageFragmentProvider()); - return injector.getModuleDescriptor(); + TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration( + environment.getProject(), + files, + sharedTrace, + params, sharedModule); + + return sharedModule; } @NotNull