Refactoring: restrict callback in ResolverForProjectImpl
This commit is contained in:
@@ -85,7 +85,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
private val debugName: String,
|
private val debugName: String,
|
||||||
private val projectContext: ProjectContext,
|
private val projectContext: ProjectContext,
|
||||||
modules: Collection<M>,
|
modules: Collection<M>,
|
||||||
private val resolverForModuleFactory: (M) -> ResolverForModuleFactory,
|
private val resolverForModuleFactoryByPlatform: (TargetPlatform?) -> ResolverForModuleFactory,
|
||||||
private val modulesContent: (M) -> ModuleContent,
|
private val modulesContent: (M) -> ModuleContent,
|
||||||
private val platformParameters: PlatformAnalysisParameters,
|
private val platformParameters: PlatformAnalysisParameters,
|
||||||
private val targetEnvironment: TargetEnvironment = CompilerEnvironment,
|
private val targetEnvironment: TargetEnvironment = CompilerEnvironment,
|
||||||
@@ -170,7 +170,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
|
|
||||||
ResolverForModuleComputationTracker.getInstance(projectContext.project)?.onResolverComputed(module)
|
ResolverForModuleComputationTracker.getInstance(projectContext.project)?.onResolverComputed(module)
|
||||||
|
|
||||||
resolverForModuleFactory(module).createResolverForModule(
|
resolverForModuleFactoryByPlatform(module.platform).createResolverForModule(
|
||||||
module, descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), modulesContent(module),
|
module, descriptor as ModuleDescriptorImpl, projectContext.withModule(descriptor), modulesContent(module),
|
||||||
platformParameters, targetEnvironment, this@ResolverForProjectImpl,
|
platformParameters, targetEnvironment, this@ResolverForProjectImpl,
|
||||||
languageSettingsProvider,
|
languageSettingsProvider,
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ object CommonAnalyzerFacade : ResolverForModuleFactory() {
|
|||||||
"sources for metadata serializer",
|
"sources for metadata serializer",
|
||||||
ProjectContext(project),
|
ProjectContext(project),
|
||||||
listOf(moduleInfo),
|
listOf(moduleInfo),
|
||||||
resolverForModuleFactory = { CommonAnalyzerFacade },
|
resolverForModuleFactoryByPlatform = { CommonAnalyzerFacade },
|
||||||
modulesContent = { ModuleContent(files, GlobalSearchScope.allScope(project)) },
|
modulesContent = { ModuleContent(files, GlobalSearchScope.allScope(project)) },
|
||||||
platformParameters = object : PlatformAnalysisParameters {},
|
platformParameters = object : PlatformAnalysisParameters {},
|
||||||
languageSettingsProvider = object : LanguageSettingsProvider {
|
languageSettingsProvider = object : LanguageSettingsProvider {
|
||||||
|
|||||||
+2
-1
@@ -38,7 +38,8 @@ fun createResolveSessionForFiles(
|
|||||||
val testModule = TestModule(addBuiltIns)
|
val testModule = TestModule(addBuiltIns)
|
||||||
val resolverForProject = ResolverForProjectImpl(
|
val resolverForProject = ResolverForProjectImpl(
|
||||||
"test",
|
"test",
|
||||||
projectContext, listOf(testModule), { JvmAnalyzerFacade },
|
projectContext, listOf(testModule),
|
||||||
|
{ JvmAnalyzerFacade },
|
||||||
{ ModuleContent(syntheticFiles, GlobalSearchScope.allScope(project)) },
|
{ ModuleContent(syntheticFiles, GlobalSearchScope.allScope(project)) },
|
||||||
JvmPlatformParameters { testModule },
|
JvmPlatformParameters { testModule },
|
||||||
modulePlatforms = { JvmPlatform.multiTargetPlatform }
|
modulePlatforms = { JvmPlatform.multiTargetPlatform }
|
||||||
|
|||||||
+2
-2
@@ -123,8 +123,8 @@ internal class ProjectResolutionFacade(
|
|||||||
resolverDebugName,
|
resolverDebugName,
|
||||||
globalContext.withProject(project),
|
globalContext.withProject(project),
|
||||||
modulesToCreateResolversFor,
|
modulesToCreateResolversFor,
|
||||||
{ module ->
|
{ modulePlatform ->
|
||||||
val platform = module.platform ?: settings.platform
|
val platform = modulePlatform ?: settings.platform
|
||||||
IdePlatformSupport.facades[platform] ?: throw UnsupportedOperationException("Unsupported platform $platform")
|
IdePlatformSupport.facades[platform] ?: throw UnsupportedOperationException("Unsupported platform $platform")
|
||||||
},
|
},
|
||||||
modulesContentFactory,
|
modulesContentFactory,
|
||||||
|
|||||||
Reference in New Issue
Block a user