[FIR] Report UNSUPPORTED_FEATURE for expect/actual members if MPP is disabled

Always enable MultiPlatformProjects for K2MetadataCompilerArguments

 ^KT-57243 Fixed
This commit is contained in:
Ivan Kochurkin
2023-05-24 22:15:41 +02:00
committed by Space Team
parent 16ed06d4e9
commit 994c2229df
12 changed files with 44 additions and 22 deletions
@@ -868,8 +868,12 @@ abstract class CommonCompilerArguments : CommonToolArguments() {
if (internalArguments.isNotEmpty()) {
configureLanguageFeaturesFromInternalArgs(collector)
}
configureExtraLanguageFeatures(this)
}
protected open fun configureExtraLanguageFeatures(map: HashMap<LanguageFeature, LanguageFeature.State>) {}
private fun HashMap<LanguageFeature, LanguageFeature.State>.configureLanguageFeaturesFromInternalArgs(collector: MessageCollector) {
val featuresThatForcePreReleaseBinaries = mutableListOf<LanguageFeature>()
val disabledFeaturesFromUnsupportedVersions = mutableListOf<LanguageFeature>()
@@ -16,6 +16,8 @@
package org.jetbrains.kotlin.cli.common.arguments
import org.jetbrains.kotlin.config.LanguageFeature
class K2MetadataCompilerArguments : CommonCompilerArguments() {
companion object {
@JvmStatic private val serialVersionUID = 0L
@@ -80,4 +82,8 @@ class K2MetadataCompilerArguments : CommonCompilerArguments() {
}
override fun copyOf(): Freezable = copyK2MetadataCompilerArguments(this, K2MetadataCompilerArguments())
override fun configureExtraLanguageFeatures(map: HashMap<LanguageFeature, LanguageFeature.State>) {
map[LanguageFeature.MultiPlatformProjects] = LanguageFeature.State.ENABLED
}
}