Native: make forward declarations expect in metadata compilations

If we are compiling metadata, make synthetic forward declarations
`expect`, because otherwise `getFirstClassifierDiscriminateHeaders`
would prefer it over a "real" `expect` declaration from a commonized
interop library, which would ruin the whole idea of using synthetic
forward declarations only when no proper definitions are found.

^KT-51377 Fixed
This commit is contained in:
Svyatoslav Scherbina
2022-03-11 15:09:38 +00:00
committed by Space
parent 76fc4328d1
commit 54fb4d9b70
4 changed files with 33 additions and 10 deletions
@@ -41,7 +41,8 @@ internal object TopDownAnalyzerFacadeForKonan {
val resolvedModuleDescriptors = nativeFactories.DefaultResolvedDescriptorsFactory.createResolved(
config.resolvedLibraries, projectContext.storageManager, module.builtIns, config.languageVersionSettings,
config.friendModuleFiles, config.resolve.includedLibraries.map { it.libraryFile }.toSet(), listOf(module))
config.friendModuleFiles, config.resolve.includedLibraries.map { it.libraryFile }.toSet(), listOf(module),
isForMetadataCompilation = config.metadataKlib)
val additionalPackages = mutableListOf<PackageFragmentProvider>()
if (!module.isNativeStdlib()) {