diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt index 20586991eee..d4f3a60fdef 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/KotlinNativeTasks.kt @@ -432,6 +432,29 @@ open class KotlinNativeLink : AbstractKotlinNativeCompile? + get() = languageSettings?.enabledLanguageFeatures?.takeIf { linkFromSources } + + @get:Optional + @get:Input + val experimentalAnnotationsInUse: Set? + get() = languageSettings?.experimentalAnnotationsInUse?.takeIf { linkFromSources } + // endregion. + // Binary-specific options. @get:Optional @get:Input @@ -488,6 +511,21 @@ open class KotlinNativeLink : AbstractKotlinNativeCompile + add("-XXLanguage:+$featureName") + } + it.experimentalAnnotationsInUse.forEach { annotationName -> + add("-Xuse-experimental=$annotationName") + } + } + } } override fun buildSourceArgs(): List {