[K2/Native] Configure metadata compilation mode

This fixes access to internal declarations in common source sets from
intermediate source sets that are compiled to metadata.

#KT-58219 Fixed
This commit is contained in:
Kirill Rakhman
2023-04-26 11:00:03 +02:00
committed by Space Team
parent aea8670c12
commit 6d3b911dfc
6 changed files with 56 additions and 3 deletions
@@ -49,13 +49,21 @@ internal fun PhaseContext.firFrontend(input: KotlinCoreEnvironment): FirOutput {
dependencies(interopModuleData, interopLibs.map { it.libraryFile.absolutePath })
}
friendDependencies(config.friendModuleFiles.map { it.absolutePath })
dependsOnDependencies(config.refinesModuleFiles.map { it.absolutePath })
// TODO: !!! dependencies module data?
}
val resolvedLibraries: List<KotlinResolvedLibrary> = config.resolvedLibraries.getFullResolvedList()
val sessionsWithSources = prepareNativeSessions(
ktFiles, configuration, mainModuleName, resolvedLibraries, dependencyList,
extensionRegistrars, isCommonSourceForPsi, fileBelongsToModuleForPsi,
ktFiles,
configuration,
mainModuleName,
resolvedLibraries,
dependencyList,
extensionRegistrars,
metadataCompilationMode = configuration.get(KonanConfigKeys.METADATA_KLIB) ?: false,
isCommonSourceForPsi,
fileBelongsToModuleForPsi,
registerExtraComponents = {
it.register(FirOverrideChecker::class, FirNativeOverrideChecker(it))
},