Support generating a klib from common code with K2MetadataCompiler

This commit is contained in:
Sergey Igushkin
2019-12-11 16:14:49 +03:00
parent 28e0089259
commit ed6034e449
7 changed files with 313 additions and 43 deletions
@@ -19,24 +19,28 @@ import org.jetbrains.kotlin.psi.KtFile
class ResolverForSingleModuleProject<M : ModuleInfo>(
debugName: String,
projectContext: ProjectContext,
module: M,
private val module: M,
private val resolverForModuleFactory: ResolverForModuleFactory,
private val searchScope: GlobalSearchScope,
private val builtIns: KotlinBuiltIns = DefaultBuiltIns.Instance,
private val languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
private val syntheticFiles: Collection<KtFile> = emptyList(),
private val sdkDependency: M? = null
private val sdkDependency: M? = null,
dependencyModules: Iterable<M> = emptyList()
) : AbstractResolverForProject<M>(
debugName,
projectContext,
listOf(module),
listOf(module) + dependencyModules,
null,
EmptyResolverForProject(),
PackageOracleFactory.OptimisticFactory
) {
override fun sdkDependency(module: M): M? = sdkDependency
override fun modulesContent(module: M): ModuleContent<M> = ModuleContent(module, syntheticFiles, searchScope)
override fun modulesContent(module: M): ModuleContent<M> = when (module) {
this.module -> ModuleContent(module, syntheticFiles, searchScope)
else -> ModuleContent(module, emptyList(), searchScope)
}
override fun builtInsForModule(module: M): KotlinBuiltIns = builtIns