[Resolve] Make ResolversForModule less static
As consequence, remove IdePlatformKindTooling.resolverForModule, because it became more than just field, and it duplicates similar API in IdePlatformKindResolution anyways
This commit is contained in:
+14
-11
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.CompilerEnvironment
|
||||
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
||||
import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
|
||||
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
|
||||
@@ -38,19 +39,20 @@ fun createResolveSessionForFiles(
|
||||
addBuiltIns: Boolean
|
||||
): ResolveSession {
|
||||
val projectContext = ProjectContext(project, "lazy resolve test utils")
|
||||
val testModule = TestModule(project, addBuiltIns)
|
||||
val testModule =
|
||||
TestModule(project, addBuiltIns)
|
||||
val platformParameters = JvmPlatformParameters(
|
||||
packagePartProviderFactory = { PackagePartProvider.Empty },
|
||||
moduleByJavaClass = { testModule }
|
||||
)
|
||||
val resolverForProject = ResolverForProjectImpl(
|
||||
"test",
|
||||
projectContext, listOf(testModule),
|
||||
{ ModuleContent(it, syntheticFiles, GlobalSearchScope.allScope(project)) },
|
||||
invalidateOnOOCB = false,
|
||||
moduleLanguageSettingsProvider = LanguageSettingsProvider.Default,
|
||||
resolverForModuleFactoryByPlatform = { JvmResolverForModuleFactory },
|
||||
platformParameters = { _ ->
|
||||
JvmPlatformParameters(
|
||||
packagePartProviderFactory = { PackagePartProvider.Empty },
|
||||
moduleByJavaClass = { testModule }
|
||||
)
|
||||
resolverForModuleFactoryByPlatform = {
|
||||
JvmResolverForModuleFactory(platformParameters, CompilerEnvironment, JvmPlatforms.defaultJvmPlatform)
|
||||
}
|
||||
)
|
||||
return resolverForProject.resolverForModule(testModule).componentProvider.get<ResolveSession>()
|
||||
@@ -61,10 +63,11 @@ private class TestModule(val project: Project, val dependsOnBuiltIns: Boolean) :
|
||||
|
||||
override fun dependencies() = listOf(this)
|
||||
override fun dependencyOnBuiltIns() =
|
||||
if (dependsOnBuiltIns)
|
||||
ModuleInfo.DependencyOnBuiltIns.LAST
|
||||
else
|
||||
ModuleInfo.DependencyOnBuiltIns.NONE
|
||||
if (dependsOnBuiltIns)
|
||||
ModuleInfo.DependencyOnBuiltIns.LAST
|
||||
else
|
||||
ModuleInfo.DependencyOnBuiltIns.NONE
|
||||
|
||||
override val platform: TargetPlatform
|
||||
get() = JvmPlatforms.unspecifiedJvmPlatform
|
||||
|
||||
|
||||
Reference in New Issue
Block a user