Refactoring: restrict callback in ResolverForProjectImpl

This commit is contained in:
Nikolay Krasko
2018-03-14 14:07:35 +03:00
parent 666d31bdc4
commit 3e313509e1
4 changed files with 7 additions and 6 deletions
@@ -85,7 +85,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
private val debugName: String,
private val projectContext: ProjectContext,
modules: Collection<M>,
private val resolverForModuleFactory: (M) -> ResolverForModuleFactory,
private val resolverForModuleFactoryByPlatform: (TargetPlatform?) -> ResolverForModuleFactory,
private val modulesContent: (M) -> ModuleContent,
private val platformParameters: PlatformAnalysisParameters,
private val targetEnvironment: TargetEnvironment = CompilerEnvironment,
@@ -170,7 +170,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
ResolverForModuleComputationTracker.getInstance(projectContext.project)?.onResolverComputed(module)
resolverForModuleFactory(module).createResolverForModule(
resolverForModuleFactoryByPlatform(module.platform).createResolverForModule(
module, descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), modulesContent(module),
platformParameters, targetEnvironment, this@ResolverForProjectImpl,
languageSettingsProvider,
@@ -80,7 +80,7 @@ object CommonAnalyzerFacade : ResolverForModuleFactory() {
"sources for metadata serializer",
ProjectContext(project),
listOf(moduleInfo),
resolverForModuleFactory = { CommonAnalyzerFacade },
resolverForModuleFactoryByPlatform = { CommonAnalyzerFacade },
modulesContent = { ModuleContent(files, GlobalSearchScope.allScope(project)) },
platformParameters = object : PlatformAnalysisParameters {},
languageSettingsProvider = object : LanguageSettingsProvider {
@@ -38,7 +38,8 @@ fun createResolveSessionForFiles(
val testModule = TestModule(addBuiltIns)
val resolverForProject = ResolverForProjectImpl(
"test",
projectContext, listOf(testModule), { JvmAnalyzerFacade },
projectContext, listOf(testModule),
{ JvmAnalyzerFacade },
{ ModuleContent(syntheticFiles, GlobalSearchScope.allScope(project)) },
JvmPlatformParameters { testModule },
modulePlatforms = { JvmPlatform.multiTargetPlatform }
@@ -123,8 +123,8 @@ internal class ProjectResolutionFacade(
resolverDebugName,
globalContext.withProject(project),
modulesToCreateResolversFor,
{ module ->
val platform = module.platform ?: settings.platform
{ modulePlatform ->
val platform = modulePlatform ?: settings.platform
IdePlatformSupport.facades[platform] ?: throw UnsupportedOperationException("Unsupported platform $platform")
},
modulesContentFactory,