Refactoring: restrict callback in ResolverForProjectImpl
This commit is contained in:
@@ -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 {
|
||||
|
||||
+2
-1
@@ -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 }
|
||||
|
||||
+2
-2
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user