[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:
+30
-23
@@ -55,14 +55,33 @@ class CommonAnalysisParameters(
|
|||||||
* A facade that is used to analyze common (platform-independent) modules in multi-platform projects.
|
* A facade that is used to analyze common (platform-independent) modules in multi-platform projects.
|
||||||
* See [CommonPlatform]
|
* See [CommonPlatform]
|
||||||
*/
|
*/
|
||||||
class CommonResolverForModuleFactory(private val shouldCheckExpectActual: Boolean) : ResolverForModuleFactory() {
|
class CommonResolverForModuleFactory(
|
||||||
|
private val platformParameters: CommonAnalysisParameters,
|
||||||
|
private val targetEnvironment: TargetEnvironment,
|
||||||
|
private val targetPlatform: TargetPlatform,
|
||||||
|
private val shouldCheckExpectActual: Boolean
|
||||||
|
) : ResolverForModuleFactory() {
|
||||||
|
private class SourceModuleInfo(
|
||||||
|
override val name: Name,
|
||||||
|
override val capabilities: Map<ModuleDescriptor.Capability<*>, Any?>,
|
||||||
|
private val dependOnOldBuiltIns: Boolean
|
||||||
|
) : ModuleInfo {
|
||||||
|
override fun dependencies() = listOf(this)
|
||||||
|
|
||||||
|
override fun dependencyOnBuiltIns(): ModuleInfo.DependencyOnBuiltIns =
|
||||||
|
if (dependOnOldBuiltIns) ModuleInfo.DependencyOnBuiltIns.LAST else ModuleInfo.DependencyOnBuiltIns.NONE
|
||||||
|
|
||||||
|
override val platform: TargetPlatform
|
||||||
|
get() = CommonPlatforms.defaultCommonPlatform
|
||||||
|
|
||||||
|
override val analyzerServices: PlatformDependentAnalyzerServices
|
||||||
|
get() = CommonPlatformAnalyzerServices
|
||||||
|
}
|
||||||
|
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
moduleContext: ModuleContext,
|
moduleContext: ModuleContext,
|
||||||
moduleContent: ModuleContent<M>,
|
moduleContent: ModuleContent<M>,
|
||||||
platformParameters: PlatformAnalysisParameters,
|
|
||||||
targetEnvironment: TargetEnvironment,
|
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageVersionSettings: LanguageVersionSettings
|
languageVersionSettings: LanguageVersionSettings
|
||||||
): ResolverForModule {
|
): ResolverForModule {
|
||||||
@@ -90,27 +109,9 @@ class CommonResolverForModuleFactory(private val shouldCheckExpectActual: Boolea
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private class SourceModuleInfo(
|
|
||||||
override val name: Name,
|
|
||||||
override val capabilities: Map<ModuleDescriptor.Capability<*>, Any?>,
|
|
||||||
private val dependOnOldBuiltIns: Boolean
|
|
||||||
) : ModuleInfo {
|
|
||||||
override fun dependencies() = listOf(this)
|
|
||||||
|
|
||||||
override fun dependencyOnBuiltIns(): ModuleInfo.DependencyOnBuiltIns =
|
|
||||||
if (dependOnOldBuiltIns) ModuleInfo.DependencyOnBuiltIns.LAST else ModuleInfo.DependencyOnBuiltIns.NONE
|
|
||||||
|
|
||||||
override val platform: TargetPlatform
|
|
||||||
get() = CommonPlatforms.defaultCommonPlatform
|
|
||||||
|
|
||||||
override val analyzerServices: PlatformDependentAnalyzerServices
|
|
||||||
get() = CommonPlatformAnalyzerServices
|
|
||||||
}
|
|
||||||
|
|
||||||
fun analyzeFiles(
|
fun analyzeFiles(
|
||||||
files: Collection<KtFile>, moduleName: Name, dependOnBuiltIns: Boolean, languageVersionSettings: LanguageVersionSettings,
|
files: Collection<KtFile>, moduleName: Name, dependOnBuiltIns: Boolean, languageVersionSettings: LanguageVersionSettings,
|
||||||
capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap(),
|
capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap(),
|
||||||
shouldCheckExpectActual: Boolean = false,
|
|
||||||
metadataPartProviderFactory: (ModuleContent<ModuleInfo>) -> MetadataPartProvider
|
metadataPartProviderFactory: (ModuleContent<ModuleInfo>) -> MetadataPartProvider
|
||||||
): AnalysisResult {
|
): AnalysisResult {
|
||||||
val moduleInfo = SourceModuleInfo(moduleName, capabilities, dependOnBuiltIns)
|
val moduleInfo = SourceModuleInfo(moduleName, capabilities, dependOnBuiltIns)
|
||||||
@@ -141,8 +142,14 @@ class CommonResolverForModuleFactory(private val shouldCheckExpectActual: Boolea
|
|||||||
project: Project
|
project: Project
|
||||||
) = TargetPlatformVersion.NoVersion
|
) = TargetPlatformVersion.NoVersion
|
||||||
},
|
},
|
||||||
resolverForModuleFactoryByPlatform = { CommonResolverForModuleFactory(shouldCheckExpectActual) },
|
resolverForModuleFactoryByPlatform = {
|
||||||
platformParameters = { _ -> CommonAnalysisParameters(metadataPartProviderFactory) }
|
CommonResolverForModuleFactory(
|
||||||
|
CommonAnalysisParameters(metadataPartProviderFactory),
|
||||||
|
CompilerEnvironment,
|
||||||
|
CommonPlatforms.defaultCommonPlatform,
|
||||||
|
shouldCheckExpectActual = false
|
||||||
|
)
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
val moduleDescriptor = resolver.descriptorForModule(moduleInfo)
|
val moduleDescriptor = resolver.descriptorForModule(moduleInfo)
|
||||||
|
|||||||
+7
-3
@@ -29,7 +29,9 @@ import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolverImpl
|
|||||||
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
import org.jetbrains.kotlin.load.java.structure.JavaClass
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
|
||||||
import org.jetbrains.kotlin.platform.jvm.isJvm
|
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||||
|
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||||
import org.jetbrains.kotlin.resolve.CodeAnalyzerInitializer
|
import org.jetbrains.kotlin.resolve.CodeAnalyzerInitializer
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||||
import org.jetbrains.kotlin.resolve.jvm.extensions.PackageFragmentProviderExtension
|
import org.jetbrains.kotlin.resolve.jvm.extensions.PackageFragmentProviderExtension
|
||||||
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
||||||
@@ -41,13 +43,15 @@ class JvmPlatformParameters(
|
|||||||
) : PlatformAnalysisParameters
|
) : PlatformAnalysisParameters
|
||||||
|
|
||||||
|
|
||||||
object JvmResolverForModuleFactory : ResolverForModuleFactory() {
|
class JvmResolverForModuleFactory(
|
||||||
|
private val platformParameters: JvmPlatformParameters,
|
||||||
|
private val targetEnvironment: TargetEnvironment,
|
||||||
|
private val platform: TargetPlatform
|
||||||
|
) : ResolverForModuleFactory() {
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
moduleContext: ModuleContext,
|
moduleContext: ModuleContext,
|
||||||
moduleContent: ModuleContent<M>,
|
moduleContent: ModuleContent<M>,
|
||||||
platformParameters: PlatformAnalysisParameters,
|
|
||||||
targetEnvironment: TargetEnvironment,
|
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageVersionSettings: LanguageVersionSettings
|
languageVersionSettings: LanguageVersionSettings
|
||||||
): ResolverForModule {
|
): ResolverForModule {
|
||||||
|
|||||||
@@ -93,9 +93,7 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
private val modulesContent: (M) -> ModuleContent<M>,
|
private val modulesContent: (M) -> ModuleContent<M>,
|
||||||
private val moduleLanguageSettingsProvider: LanguageSettingsProvider,
|
private val moduleLanguageSettingsProvider: LanguageSettingsProvider,
|
||||||
private val resolverForModuleFactoryByPlatform: (TargetPlatform?) -> ResolverForModuleFactory,
|
private val resolverForModuleFactoryByPlatform: (TargetPlatform?) -> ResolverForModuleFactory,
|
||||||
private val platformParameters: (TargetPlatform) -> PlatformAnalysisParameters,
|
|
||||||
private val invalidateOnOOCB: Boolean,
|
private val invalidateOnOOCB: Boolean,
|
||||||
private val targetEnvironment: TargetEnvironment = CompilerEnvironment,
|
|
||||||
override val builtIns: KotlinBuiltIns = DefaultBuiltIns.Instance,
|
override val builtIns: KotlinBuiltIns = DefaultBuiltIns.Instance,
|
||||||
private val delegateResolver: ResolverForProject<M> = EmptyResolverForProject(),
|
private val delegateResolver: ResolverForProject<M> = EmptyResolverForProject(),
|
||||||
private val firstDependency: M? = null,
|
private val firstDependency: M? = null,
|
||||||
@@ -194,8 +192,6 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
descriptor as ModuleDescriptorImpl,
|
descriptor as ModuleDescriptorImpl,
|
||||||
projectContext.withModule(descriptor),
|
projectContext.withModule(descriptor),
|
||||||
moduleContent,
|
moduleContent,
|
||||||
platformParameters(module.platform),
|
|
||||||
targetEnvironment,
|
|
||||||
this@ResolverForProjectImpl,
|
this@ResolverForProjectImpl,
|
||||||
languageVersionSettings
|
languageVersionSettings
|
||||||
)
|
)
|
||||||
@@ -308,8 +304,6 @@ abstract class ResolverForModuleFactory {
|
|||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
moduleContext: ModuleContext,
|
moduleContext: ModuleContext,
|
||||||
moduleContent: ModuleContent<M>,
|
moduleContent: ModuleContent<M>,
|
||||||
platformParameters: PlatformAnalysisParameters,
|
|
||||||
targetEnvironment: TargetEnvironment,
|
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageVersionSettings: LanguageVersionSettings
|
languageVersionSettings: LanguageVersionSettings
|
||||||
): ResolverForModule
|
): ResolverForModule
|
||||||
|
|||||||
+14
-11
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
import org.jetbrains.kotlin.resolve.CompilerEnvironment
|
||||||
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
|
import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
|
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
|
||||||
@@ -38,19 +39,20 @@ fun createResolveSessionForFiles(
|
|||||||
addBuiltIns: Boolean
|
addBuiltIns: Boolean
|
||||||
): ResolveSession {
|
): ResolveSession {
|
||||||
val projectContext = ProjectContext(project, "lazy resolve test utils")
|
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(
|
val resolverForProject = ResolverForProjectImpl(
|
||||||
"test",
|
"test",
|
||||||
projectContext, listOf(testModule),
|
projectContext, listOf(testModule),
|
||||||
{ ModuleContent(it, syntheticFiles, GlobalSearchScope.allScope(project)) },
|
{ ModuleContent(it, syntheticFiles, GlobalSearchScope.allScope(project)) },
|
||||||
invalidateOnOOCB = false,
|
invalidateOnOOCB = false,
|
||||||
moduleLanguageSettingsProvider = LanguageSettingsProvider.Default,
|
moduleLanguageSettingsProvider = LanguageSettingsProvider.Default,
|
||||||
resolverForModuleFactoryByPlatform = { JvmResolverForModuleFactory },
|
resolverForModuleFactoryByPlatform = {
|
||||||
platformParameters = { _ ->
|
JvmResolverForModuleFactory(platformParameters, CompilerEnvironment, JvmPlatforms.defaultJvmPlatform)
|
||||||
JvmPlatformParameters(
|
|
||||||
packagePartProviderFactory = { PackagePartProvider.Empty },
|
|
||||||
moduleByJavaClass = { testModule }
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
return resolverForProject.resolverForModule(testModule).componentProvider.get<ResolveSession>()
|
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 dependencies() = listOf(this)
|
||||||
override fun dependencyOnBuiltIns() =
|
override fun dependencyOnBuiltIns() =
|
||||||
if (dependsOnBuiltIns)
|
if (dependsOnBuiltIns)
|
||||||
ModuleInfo.DependencyOnBuiltIns.LAST
|
ModuleInfo.DependencyOnBuiltIns.LAST
|
||||||
else
|
else
|
||||||
ModuleInfo.DependencyOnBuiltIns.NONE
|
ModuleInfo.DependencyOnBuiltIns.NONE
|
||||||
|
|
||||||
override val platform: TargetPlatform
|
override val platform: TargetPlatform
|
||||||
get() = JvmPlatforms.unspecifiedJvmPlatform
|
get() = JvmPlatforms.unspecifiedJvmPlatform
|
||||||
|
|
||||||
|
|||||||
+10
-9
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.platform.TargetPlatform
|
|||||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
||||||
|
import org.jetbrains.kotlin.resolve.CompilerEnvironment
|
||||||
import org.jetbrains.kotlin.resolve.constants.EnumValue
|
import org.jetbrains.kotlin.resolve.constants.EnumValue
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
|
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
||||||
@@ -79,21 +80,21 @@ class MultiModuleJavaAnalysisCustomTest : KtUsefulTestCase() {
|
|||||||
val modules = setupModules(environment, moduleDirs)
|
val modules = setupModules(environment, moduleDirs)
|
||||||
val projectContext = ProjectContext(environment.project, "MultiModuleJavaAnalysisTest")
|
val projectContext = ProjectContext(environment.project, "MultiModuleJavaAnalysisTest")
|
||||||
val builtIns = JvmBuiltIns(projectContext.storageManager, JvmBuiltIns.Kind.FROM_CLASS_LOADER)
|
val builtIns = JvmBuiltIns(projectContext.storageManager, JvmBuiltIns.Kind.FROM_CLASS_LOADER)
|
||||||
|
val platformParameters = JvmPlatformParameters(
|
||||||
|
packagePartProviderFactory = { PackagePartProvider.Empty },
|
||||||
|
moduleByJavaClass = { javaClass ->
|
||||||
|
val moduleName = javaClass.name.asString().toLowerCase().first().toString()
|
||||||
|
modules.first { it._name == moduleName }
|
||||||
|
}
|
||||||
|
)
|
||||||
val resolverForProject = ResolverForProjectImpl(
|
val resolverForProject = ResolverForProjectImpl(
|
||||||
"test",
|
"test",
|
||||||
projectContext, modules,
|
projectContext, modules,
|
||||||
invalidateOnOOCB = false,
|
invalidateOnOOCB = false,
|
||||||
modulesContent = { module -> ModuleContent(module, module.kotlinFiles, module.javaFilesScope) },
|
modulesContent = { module -> ModuleContent(module, module.kotlinFiles, module.javaFilesScope) },
|
||||||
moduleLanguageSettingsProvider = LanguageSettingsProvider.Default,
|
moduleLanguageSettingsProvider = LanguageSettingsProvider.Default,
|
||||||
resolverForModuleFactoryByPlatform = { JvmResolverForModuleFactory },
|
resolverForModuleFactoryByPlatform = {
|
||||||
platformParameters = { _ ->
|
JvmResolverForModuleFactory(platformParameters, CompilerEnvironment, JvmPlatforms.defaultJvmPlatform)
|
||||||
JvmPlatformParameters(
|
|
||||||
packagePartProviderFactory = { PackagePartProvider.Empty },
|
|
||||||
moduleByJavaClass = { javaClass ->
|
|
||||||
val moduleName = javaClass.name.asString().toLowerCase().first().toString()
|
|
||||||
modules.first { it._name == moduleName }
|
|
||||||
}
|
|
||||||
)
|
|
||||||
},
|
},
|
||||||
builtIns = builtIns
|
builtIns = builtIns
|
||||||
)
|
)
|
||||||
|
|||||||
+17
-3
@@ -7,7 +7,9 @@ package org.jetbrains.kotlin.caches.resolve
|
|||||||
|
|
||||||
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
|
import org.jetbrains.kotlin.analyzer.PlatformAnalysisParameters
|
||||||
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
||||||
|
import org.jetbrains.kotlin.analyzer.common.CommonAnalysisParameters
|
||||||
import org.jetbrains.kotlin.analyzer.common.CommonResolverForModuleFactory
|
import org.jetbrains.kotlin.analyzer.common.CommonResolverForModuleFactory
|
||||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
@@ -15,6 +17,8 @@ import org.jetbrains.kotlin.context.ProjectContext
|
|||||||
import org.jetbrains.kotlin.idea.caches.resolve.PlatformAnalysisSettings
|
import org.jetbrains.kotlin.idea.caches.resolve.PlatformAnalysisSettings
|
||||||
import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
||||||
import org.jetbrains.kotlin.platform.impl.CommonIdePlatformKind
|
import org.jetbrains.kotlin.platform.impl.CommonIdePlatformKind
|
||||||
|
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.MetadataPackageFragment
|
import org.jetbrains.kotlin.serialization.deserialization.MetadataPackageFragment
|
||||||
|
|
||||||
class CommonPlatformKindResolution : IdePlatformKindResolution {
|
class CommonPlatformKindResolution : IdePlatformKindResolution {
|
||||||
@@ -27,10 +31,20 @@ class CommonPlatformKindResolution : IdePlatformKindResolution {
|
|||||||
|
|
||||||
override val kind get() = CommonIdePlatformKind
|
override val kind get() = CommonIdePlatformKind
|
||||||
|
|
||||||
override val resolverForModuleFactory: ResolverForModuleFactory
|
|
||||||
get() = CommonResolverForModuleFactory(shouldCheckExpectActual = true)
|
|
||||||
|
|
||||||
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns {
|
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns {
|
||||||
return DefaultBuiltIns.Instance
|
return DefaultBuiltIns.Instance
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun createResolverForModuleFactory(
|
||||||
|
settings: PlatformAnalysisParameters,
|
||||||
|
environment: TargetEnvironment,
|
||||||
|
platform: TargetPlatform
|
||||||
|
): ResolverForModuleFactory {
|
||||||
|
return CommonResolverForModuleFactory(
|
||||||
|
settings as CommonAnalysisParameters,
|
||||||
|
environment,
|
||||||
|
platform,
|
||||||
|
shouldCheckExpectActual = true
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+9
-2
@@ -20,6 +20,7 @@ import com.intellij.openapi.project.Project
|
|||||||
import com.intellij.openapi.roots.libraries.Library
|
import com.intellij.openapi.roots.libraries.Library
|
||||||
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
|
import org.jetbrains.kotlin.analyzer.PlatformAnalysisParameters
|
||||||
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.context.ProjectContext
|
import org.jetbrains.kotlin.context.ProjectContext
|
||||||
@@ -27,14 +28,20 @@ import org.jetbrains.kotlin.extensions.ApplicationExtensionDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.caches.project.LibraryInfo
|
import org.jetbrains.kotlin.idea.caches.project.LibraryInfo
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.PlatformAnalysisSettings
|
import org.jetbrains.kotlin.idea.caches.resolve.PlatformAnalysisSettings
|
||||||
import org.jetbrains.kotlin.platform.IdePlatformKind
|
import org.jetbrains.kotlin.platform.IdePlatformKind
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
|
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||||
|
|
||||||
interface IdePlatformKindResolution {
|
interface IdePlatformKindResolution {
|
||||||
val kind: IdePlatformKind<*>
|
val kind: IdePlatformKind<*>
|
||||||
|
|
||||||
val resolverForModuleFactory: ResolverForModuleFactory
|
|
||||||
|
|
||||||
fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns
|
fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns
|
||||||
|
|
||||||
|
fun createResolverForModuleFactory(
|
||||||
|
settings: PlatformAnalysisParameters,
|
||||||
|
environment: TargetEnvironment,
|
||||||
|
platform: TargetPlatform
|
||||||
|
): ResolverForModuleFactory
|
||||||
|
|
||||||
fun isLibraryFileForPlatform(virtualFile: VirtualFile): Boolean
|
fun isLibraryFileForPlatform(virtualFile: VirtualFile): Boolean
|
||||||
|
|
||||||
val libraryKind: PersistentLibraryKind<*>?
|
val libraryKind: PersistentLibraryKind<*>?
|
||||||
|
|||||||
+9
-3
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.caches.resolve
|
|||||||
|
|
||||||
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
|
import org.jetbrains.kotlin.analyzer.PlatformAnalysisParameters
|
||||||
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.context.ProjectContext
|
import org.jetbrains.kotlin.context.ProjectContext
|
||||||
@@ -15,6 +16,8 @@ import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
|||||||
import org.jetbrains.kotlin.js.resolve.JsResolverForModuleFactory
|
import org.jetbrains.kotlin.js.resolve.JsResolverForModuleFactory
|
||||||
import org.jetbrains.kotlin.js.resolve.JsPlatformAnalyzerServices
|
import org.jetbrains.kotlin.js.resolve.JsPlatformAnalyzerServices
|
||||||
import org.jetbrains.kotlin.platform.impl.JsIdePlatformKind
|
import org.jetbrains.kotlin.platform.impl.JsIdePlatformKind
|
||||||
|
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
|
|
||||||
class JsPlatformKindResolution : IdePlatformKindResolution {
|
class JsPlatformKindResolution : IdePlatformKindResolution {
|
||||||
override fun isLibraryFileForPlatform(virtualFile: VirtualFile): Boolean {
|
override fun isLibraryFileForPlatform(virtualFile: VirtualFile): Boolean {
|
||||||
@@ -26,10 +29,13 @@ class JsPlatformKindResolution : IdePlatformKindResolution {
|
|||||||
|
|
||||||
override val kind get() = JsIdePlatformKind
|
override val kind get() = JsIdePlatformKind
|
||||||
|
|
||||||
override val resolverForModuleFactory: ResolverForModuleFactory
|
|
||||||
get() = JsResolverForModuleFactory
|
|
||||||
|
|
||||||
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns {
|
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns {
|
||||||
return JsPlatformAnalyzerServices.builtIns
|
return JsPlatformAnalyzerServices.builtIns
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun createResolverForModuleFactory(
|
||||||
|
settings: PlatformAnalysisParameters,
|
||||||
|
environment: TargetEnvironment,
|
||||||
|
platform: TargetPlatform
|
||||||
|
): ResolverForModuleFactory = JsResolverForModuleFactory(environment)
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-3
@@ -7,13 +7,17 @@ package org.jetbrains.kotlin.caches.resolve
|
|||||||
|
|
||||||
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
import com.intellij.openapi.roots.libraries.PersistentLibraryKind
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
|
import org.jetbrains.kotlin.analyzer.PlatformAnalysisParameters
|
||||||
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
import org.jetbrains.kotlin.analyzer.ResolverForModuleFactory
|
||||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltIns
|
import org.jetbrains.kotlin.builtins.jvm.JvmBuiltIns
|
||||||
import org.jetbrains.kotlin.context.ProjectContext
|
import org.jetbrains.kotlin.context.ProjectContext
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.PlatformAnalysisSettings
|
import org.jetbrains.kotlin.idea.caches.resolve.PlatformAnalysisSettings
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind
|
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind
|
||||||
|
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||||
|
import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
|
import org.jetbrains.kotlin.resolve.jvm.JvmResolverForModuleFactory
|
||||||
|
|
||||||
class JvmPlatformKindResolution : IdePlatformKindResolution {
|
class JvmPlatformKindResolution : IdePlatformKindResolution {
|
||||||
@@ -21,14 +25,19 @@ class JvmPlatformKindResolution : IdePlatformKindResolution {
|
|||||||
return false // TODO: No library kind for JVM
|
return false // TODO: No library kind for JVM
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun createResolverForModuleFactory(
|
||||||
|
settings: PlatformAnalysisParameters,
|
||||||
|
environment: TargetEnvironment,
|
||||||
|
platform: TargetPlatform
|
||||||
|
): ResolverForModuleFactory {
|
||||||
|
return JvmResolverForModuleFactory(settings as JvmPlatformParameters, environment, platform)
|
||||||
|
}
|
||||||
|
|
||||||
override val libraryKind: PersistentLibraryKind<*>?
|
override val libraryKind: PersistentLibraryKind<*>?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
override val kind get() = JvmIdePlatformKind
|
override val kind get() = JvmIdePlatformKind
|
||||||
|
|
||||||
override val resolverForModuleFactory: ResolverForModuleFactory
|
|
||||||
get() = JvmResolverForModuleFactory
|
|
||||||
|
|
||||||
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns =
|
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns =
|
||||||
if (settings.sdk != null)
|
if (settings.sdk != null)
|
||||||
JvmBuiltIns(projectContext.storageManager, JvmBuiltIns.Kind.FROM_CLASS_LOADER)
|
JvmBuiltIns(projectContext.storageManager, JvmBuiltIns.Kind.FROM_CLASS_LOADER)
|
||||||
|
|||||||
+8
-7
@@ -48,6 +48,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
|||||||
import org.jetbrains.kotlin.resolve.CompositeBindingContext
|
import org.jetbrains.kotlin.resolve.CompositeBindingContext
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
|
import org.jetbrains.kotlin.resolve.jvm.JvmPlatformParameters
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
import org.jetbrains.kotlin.utils.addToStdlib.firstNotNullResult
|
||||||
|
import org.jetbrains.kotlin.platform.DefaultIdeTargetPlatformKindProvider
|
||||||
|
|
||||||
internal class ProjectResolutionFacade(
|
internal class ProjectResolutionFacade(
|
||||||
private val debugString: String,
|
private val debugString: String,
|
||||||
@@ -141,17 +142,15 @@ internal class ProjectResolutionFacade(
|
|||||||
modulesContentFactory,
|
modulesContentFactory,
|
||||||
moduleLanguageSettingsProvider = IDELanguageSettingsProvider,
|
moduleLanguageSettingsProvider = IDELanguageSettingsProvider,
|
||||||
resolverForModuleFactoryByPlatform = { modulePlatform ->
|
resolverForModuleFactoryByPlatform = { modulePlatform ->
|
||||||
val platform = modulePlatform ?: settings.platform
|
val platform = modulePlatform ?: DefaultIdeTargetPlatformKindProvider.defaultPlatform
|
||||||
platform.idePlatformKind.resolution.resolverForModuleFactory
|
val parameters = when {
|
||||||
},
|
|
||||||
platformParameters = { platform ->
|
|
||||||
when {
|
|
||||||
platform.isJvm() -> jvmPlatformParameters
|
platform.isJvm() -> jvmPlatformParameters
|
||||||
platform.isCommon() -> commonPlatformParameters
|
platform.isCommon() -> commonPlatformParameters
|
||||||
else -> PlatformAnalysisParameters.Empty
|
else -> PlatformAnalysisParameters.Empty
|
||||||
}
|
}
|
||||||
|
|
||||||
|
platform.idePlatformKind.resolution.createResolverForModuleFactory(parameters, IdeaEnvironment, platform)
|
||||||
},
|
},
|
||||||
targetEnvironment = IdeaEnvironment,
|
|
||||||
builtIns = builtIns,
|
builtIns = builtIns,
|
||||||
delegateResolver = delegateResolverForProject,
|
delegateResolver = delegateResolverForProject,
|
||||||
firstDependency = settings.sdk?.let { SdkInfo(project, it) },
|
firstDependency = settings.sdk?.let { SdkInfo(project, it) },
|
||||||
@@ -215,7 +214,9 @@ internal class ProjectResolutionFacade(
|
|||||||
|
|
||||||
private companion object {
|
private companion object {
|
||||||
private fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns {
|
private fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext): KotlinBuiltIns {
|
||||||
return settings.platform.idePlatformKind.resolution.createBuiltIns(settings, projectContext)
|
// return settings.platform.idePlatformKind.resolution.createBuiltIns(settings, projectContext)
|
||||||
|
// TODO: what we do about built-ins?
|
||||||
|
return JvmPlatforms.defaultJvmPlatform.idePlatformKind.resolution.createBuiltIns(settings, projectContext)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,8 +34,6 @@ object CommonIdePlatformKindTooling : IdePlatformKindTooling() {
|
|||||||
|
|
||||||
override fun compilerArgumentsForProject(project: Project): CommonCompilerArguments? = null
|
override fun compilerArgumentsForProject(project: Project): CommonCompilerArguments? = null
|
||||||
|
|
||||||
override val resolverForModuleFactory = CommonResolverForModuleFactory(true)
|
|
||||||
|
|
||||||
override val mavenLibraryIds = listOf(MAVEN_COMMON_STDLIB_ID)
|
override val mavenLibraryIds = listOf(MAVEN_COMMON_STDLIB_ID)
|
||||||
override val gradlePluginId = "kotlin-platform-common"
|
override val gradlePluginId = "kotlin-platform-common"
|
||||||
override val gradlePlatformIds: List<KotlinPlatform> get() = listOf(KotlinPlatform.COMMON)
|
override val gradlePlatformIds: List<KotlinPlatform> get() = listOf(KotlinPlatform.COMMON)
|
||||||
|
|||||||
@@ -49,8 +49,6 @@ class JsIdePlatformKindTooling : IdePlatformKindTooling() {
|
|||||||
|
|
||||||
override fun compilerArgumentsForProject(project: Project) = Kotlin2JsCompilerArgumentsHolder.getInstance(project).settings
|
override fun compilerArgumentsForProject(project: Project) = Kotlin2JsCompilerArgumentsHolder.getInstance(project).settings
|
||||||
|
|
||||||
override val resolverForModuleFactory = JsResolverForModuleFactory
|
|
||||||
|
|
||||||
override val mavenLibraryIds = listOf(PathUtil.JS_LIB_NAME, MAVEN_OLD_JS_STDLIB_ID)
|
override val mavenLibraryIds = listOf(PathUtil.JS_LIB_NAME, MAVEN_OLD_JS_STDLIB_ID)
|
||||||
override val gradlePluginId = "kotlin-platform-js"
|
override val gradlePluginId = "kotlin-platform-js"
|
||||||
override val gradlePlatformIds: List<KotlinPlatform> get() = listOf(KotlinPlatform.JS)
|
override val gradlePlatformIds: List<KotlinPlatform> get() = listOf(KotlinPlatform.JS)
|
||||||
|
|||||||
@@ -33,8 +33,6 @@ class JvmIdePlatformKindTooling : IdePlatformKindTooling() {
|
|||||||
|
|
||||||
override fun compilerArgumentsForProject(project: Project) = Kotlin2JvmCompilerArgumentsHolder.getInstance(project).settings
|
override fun compilerArgumentsForProject(project: Project) = Kotlin2JvmCompilerArgumentsHolder.getInstance(project).settings
|
||||||
|
|
||||||
override val resolverForModuleFactory = JvmResolverForModuleFactory
|
|
||||||
|
|
||||||
override val mavenLibraryIds = listOf(
|
override val mavenLibraryIds = listOf(
|
||||||
PathUtil.KOTLIN_JAVA_STDLIB_NAME,
|
PathUtil.KOTLIN_JAVA_STDLIB_NAME,
|
||||||
PathUtil.KOTLIN_JAVA_RUNTIME_JRE7_NAME,
|
PathUtil.KOTLIN_JAVA_RUNTIME_JRE7_NAME,
|
||||||
|
|||||||
@@ -29,8 +29,6 @@ class NativeIdePlatformKindTooling : IdePlatformKindTooling() {
|
|||||||
|
|
||||||
override fun compilerArgumentsForProject(project: Project): CommonCompilerArguments? = null
|
override fun compilerArgumentsForProject(project: Project): CommonCompilerArguments? = null
|
||||||
|
|
||||||
override val resolverForModuleFactory get() = NativeResolverForModuleFactory
|
|
||||||
|
|
||||||
override val mavenLibraryIds: List<String> get() = emptyList()
|
override val mavenLibraryIds: List<String> get() = emptyList()
|
||||||
override val gradlePluginId: String get() = ""
|
override val gradlePluginId: String get() = ""
|
||||||
override val gradlePlatformIds: List<KotlinPlatform> get() = listOf(KotlinPlatform.NATIVE)
|
override val gradlePlatformIds: List<KotlinPlatform> get() = listOf(KotlinPlatform.NATIVE)
|
||||||
|
|||||||
@@ -64,13 +64,19 @@ class NativePlatformKindResolution : IdePlatformKindResolution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun createResolverForModuleFactory(
|
||||||
|
settings: PlatformAnalysisParameters,
|
||||||
|
environment: TargetEnvironment,
|
||||||
|
platform: TargetPlatform
|
||||||
|
): ResolverForModuleFactory {
|
||||||
|
return NativeResolverForModuleFactory(settings, environment, platform)
|
||||||
|
}
|
||||||
|
|
||||||
override val libraryKind: PersistentLibraryKind<*>?
|
override val libraryKind: PersistentLibraryKind<*>?
|
||||||
get() = NativeLibraryKind
|
get() = NativeLibraryKind
|
||||||
|
|
||||||
override val kind get() = NativeIdePlatformKind
|
override val kind get() = NativeIdePlatformKind
|
||||||
|
|
||||||
override val resolverForModuleFactory get() = NativeResolverForModuleFactory
|
|
||||||
|
|
||||||
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext) =
|
override fun createBuiltIns(settings: PlatformAnalysisSettings, projectContext: ProjectContext) =
|
||||||
createKotlinNativeBuiltIns(settings, projectContext)
|
createKotlinNativeBuiltIns(settings, projectContext)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-3
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
|
|||||||
import org.jetbrains.kotlin.frontend.di.createContainerForLazyResolve
|
import org.jetbrains.kotlin.frontend.di.createContainerForLazyResolve
|
||||||
import org.jetbrains.kotlin.ide.konan.NativeLibraryInfo
|
import org.jetbrains.kotlin.ide.konan.NativeLibraryInfo
|
||||||
import org.jetbrains.kotlin.ide.konan.createPackageFragmentProvider
|
import org.jetbrains.kotlin.ide.konan.createPackageFragmentProvider
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.platform.konan.KonanPlatforms
|
import org.jetbrains.kotlin.platform.konan.KonanPlatforms
|
||||||
import org.jetbrains.kotlin.resolve.CodeAnalyzerInitializer
|
import org.jetbrains.kotlin.resolve.CodeAnalyzerInitializer
|
||||||
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
import org.jetbrains.kotlin.resolve.TargetEnvironment
|
||||||
@@ -21,13 +22,15 @@ import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerService
|
|||||||
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
||||||
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService.Companion.createDeclarationProviderFactory
|
import org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactoryService.Companion.createDeclarationProviderFactory
|
||||||
|
|
||||||
object NativeResolverForModuleFactory : ResolverForModuleFactory() {
|
class NativeResolverForModuleFactory(
|
||||||
|
private val platformAnalysisParameters: PlatformAnalysisParameters,
|
||||||
|
private val targetEnvironment: TargetEnvironment,
|
||||||
|
private val targetPlatform: TargetPlatform
|
||||||
|
) : ResolverForModuleFactory() {
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
moduleContext: ModuleContext,
|
moduleContext: ModuleContext,
|
||||||
moduleContent: ModuleContent<M>,
|
moduleContent: ModuleContent<M>,
|
||||||
platformParameters: PlatformAnalysisParameters,
|
|
||||||
targetEnvironment: TargetEnvironment,
|
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageVersionSettings: LanguageVersionSettings
|
languageVersionSettings: LanguageVersionSettings
|
||||||
): ResolverForModule {
|
): ResolverForModule {
|
||||||
|
|||||||
@@ -24,8 +24,6 @@ abstract class IdePlatformKindTooling {
|
|||||||
|
|
||||||
abstract fun compilerArgumentsForProject(project: Project): CommonCompilerArguments?
|
abstract fun compilerArgumentsForProject(project: Project): CommonCompilerArguments?
|
||||||
|
|
||||||
abstract val resolverForModuleFactory: ResolverForModuleFactory
|
|
||||||
|
|
||||||
abstract val mavenLibraryIds: List<String>
|
abstract val mavenLibraryIds: List<String>
|
||||||
abstract val gradlePluginId: String
|
abstract val gradlePluginId: String
|
||||||
|
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil
|
|||||||
import org.jetbrains.kotlin.serialization.js.createKotlinJavascriptPackageFragmentProvider
|
import org.jetbrains.kotlin.serialization.js.createKotlinJavascriptPackageFragmentProvider
|
||||||
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
import org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils
|
||||||
|
|
||||||
object JsResolverForModuleFactory : ResolverForModuleFactory() {
|
class JsResolverForModuleFactory(
|
||||||
|
private val targetEnvironment: TargetEnvironment
|
||||||
|
) : ResolverForModuleFactory() {
|
||||||
override fun <M : ModuleInfo> createResolverForModule(
|
override fun <M : ModuleInfo> createResolverForModule(
|
||||||
moduleDescriptor: ModuleDescriptorImpl,
|
moduleDescriptor: ModuleDescriptorImpl,
|
||||||
moduleContext: ModuleContext,
|
moduleContext: ModuleContext,
|
||||||
moduleContent: ModuleContent<M>,
|
moduleContent: ModuleContent<M>,
|
||||||
platformParameters: PlatformAnalysisParameters,
|
|
||||||
targetEnvironment: TargetEnvironment,
|
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageVersionSettings: LanguageVersionSettings
|
languageVersionSettings: LanguageVersionSettings
|
||||||
): ResolverForModule {
|
): ResolverForModule {
|
||||||
|
|||||||
Reference in New Issue
Block a user