Pass GlobalSearchScope instance to JvmPackagePartProvider

Currently behavior is unchanged because the "all project" scope is passed,
however in the future this will allow to implement separate modules in the
compiler properly
This commit is contained in:
Alexander Udalov
2016-09-29 19:14:21 +03:00
parent 54dfe760c0
commit 3314725700
9 changed files with 43 additions and 26 deletions
@@ -58,7 +58,7 @@ object TopDownAnalyzerFacadeForJVM {
files: Collection<KtFile>,
trace: BindingTrace,
configuration: CompilerConfiguration,
packagePartProvider: PackagePartProvider
packagePartProviderFactory: (GlobalSearchScope) -> PackagePartProvider
): AnalysisResult {
val moduleContext = TopDownAnalyzerFacadeForJVM.createContextWithSealedModule(project, configuration)
val storageManager = moduleContext.storageManager
@@ -76,13 +76,16 @@ object TopDownAnalyzerFacadeForJVM {
}
}
val sourceScope = GlobalSearchScope.allScope(project)
val container = createContainerForTopDownAnalyzerForJvm(
moduleContext,
trace,
FileBasedDeclarationProviderFactory(storageManager, files),
GlobalSearchScope.allScope(project),
sourceScope,
lookupTracker,
IncrementalPackagePartProvider.create(packagePartProvider, targetIds, incrementalComponents, storageManager),
IncrementalPackagePartProvider.create(
packagePartProviderFactory(sourceScope), targetIds, incrementalComponents, storageManager
),
configuration.get(CommonConfigurationKeys.LANGUAGE_VERSION_SETTINGS, LanguageVersionSettingsImpl.DEFAULT),
ModuleClassResolverImpl(resolverByClass)
)