diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt index ab9ae680a6d..10951e7f25d 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/builders/RegisteredDirectivesBuilder.kt @@ -65,8 +65,13 @@ class RegisteredDirectivesBuilder private constructor( } private fun MutableMap.putWithExistsCheck(key: K, value: V) { - val alreadyRegistered = put(key, value) - if (alreadyRegistered != null) { + val alreadyRegistered = get(key) + if (alreadyRegistered == null) { + put(key, value) + } else if (alreadyRegistered is List && value is List) { + @Suppress("UNCHECKED_CAST") + put(key, (alreadyRegistered + value) as V) + } else { error("Default values for $key directive already registered") } } diff --git a/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.fir.kt index 808573495ce..5d9186265cf 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* @@ -7,4 +6,4 @@ import kotlinx.serialization.* open class Parent(open val arg: Int) @Serializable -class Derived(override val arg: Int): Parent(arg) \ No newline at end of file +class Derived(override val arg: Int): Parent(arg) diff --git a/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.kt b/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.kt index fba32c83982..88498ea9db9 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/DuplicateSerialName.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.fir.kt index 6bd4954094e..5601a709a4b 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // SKIP_TXT import kotlinx.serialization.* @@ -26,4 +25,4 @@ enum class ReversedExplicitlyDuplicated { FIRST, SECOND, THIRD -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.kt b/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.kt index 26654963040..89ab930ebe3 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/EnumDuplicateSerialName.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // SKIP_TXT import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.fir.kt index ed54229944f..97831db6625 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE, -OPT_IN_USAGE // SKIP_TXT // FILE: test.kt @@ -7,4 +6,4 @@ import kotlinx.serialization.* class Foo(i: Int, val j: Int) @Serializer(forClass = Foo::class) -object ExternalSerializer \ No newline at end of file +object ExternalSerializer diff --git a/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.kt b/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.kt index d3b4f709b41..81702f971a8 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/ExternalSerializers.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE, -OPT_IN_USAGE // SKIP_TXT // FILE: test.kt diff --git a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.fir.kt index ee0e7ee3b94..ce7bac3efe0 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // SKIP_TXT @@ -9,4 +8,4 @@ import java.io.Serializable as JavaSerializable class Data(val x: Int, @Transient val y: String) @Serializable -class Data2(val x: Int, @Transient val y: String) : JavaSerializable \ No newline at end of file +class Data2(val x: Int, @Transient val y: String) : JavaSerializable diff --git a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.kt b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.kt index acee89cdcf3..e350948f1b7 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // SKIP_TXT @@ -9,4 +8,4 @@ import java.io.Serializable as JavaSerializable class Data(val x: Int, @Transient val y: String) @Serializable -class Data2(val x: Int, @Transient val y: String) : JavaSerializable \ No newline at end of file +class Data2(val x: Int, @Transient val y: String) : JavaSerializable diff --git a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.fir.kt index c5e287d89de..5b4ce4a6d4e 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // SKIP_TXT @@ -17,4 +16,4 @@ class Data2(val x: Int, @Transient val y: String = "a") : JavaSerializable class Data3(val x: Int, @Transient @JavaTransient val y: String = "a") : JavaSerializable @Serializable -class Data4(val x: Int, @JavaTransient val y: String) \ No newline at end of file +class Data4(val x: Int, @JavaTransient val y: String) diff --git a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.kt b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.kt index 821b2795244..b870d8f86f4 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/IncorrectTransient2.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // SKIP_TXT @@ -17,4 +16,4 @@ class Data2(val x: Int, @Transient val y: String = "a") : JavaSerializable class Data3(val x: Int, @Transient @JavaTransient val y: String = "a") : JavaSerializable @Serializable -class Data4(val x: Int, @JavaTransient val y: String) \ No newline at end of file +class Data4(val x: Int, @JavaTransient val y: String) diff --git a/plugins/kotlinx-serialization/testData/diagnostics/InheritableInfo.kt b/plugins/kotlinx-serialization/testData/diagnostics/InheritableInfo.kt index cdf122eb157..b7e705bfc95 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/InheritableInfo.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/InheritableInfo.kt @@ -1,5 +1,4 @@ // FIR_IDENTICAL -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // SKIP_TXT // !USE_EXPERIMENTAL: kotlinx.serialization.ExperimentalSerializationApi @@ -47,4 +46,4 @@ open class B2: A() @Serializable //@I("b") //@I2(E.A, E::class) -open class C: B() \ No newline at end of file +open class C: B() diff --git a/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.fir.kt index e0cd23e5dce..afce707a688 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.fir.kt @@ -1,10 +1,9 @@ // This test enshures that analysis ends up without compiler exceptions -// !DIAGNOSTICS: -OPT_IN_USAGE import kotlinx.serialization.* @Serializable class Digest() { - @Serializer(forClass = Digest::class) + @Serializer(forClass = Digest::class) companion object : KSerializer {} } diff --git a/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.kt b/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.kt index ed8ebc080b7..d2455d7f342 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/LazyRecursionBug.kt @@ -1,5 +1,4 @@ // This test enshures that analysis ends up without compiler exceptions -// !DIAGNOSTICS: -OPT_IN_USAGE import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.fir.kt index 071b465334a..6b52bd6bb95 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -OPT_IN_USAGE_ERROR, -OPT_IN_USAGE // WITH_STDLIB // SKIP_TXT diff --git a/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.kt b/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.kt index 6774edbfc8f..207ccf55629 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/LocalAndAnonymous.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -OPT_IN_USAGE_ERROR, -OPT_IN_USAGE // WITH_STDLIB // SKIP_TXT diff --git a/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.fir.kt index 194cf5167d9..c15f8293837 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* @@ -6,4 +5,4 @@ import kotlinx.serialization.* open class NonSerializableParent(val arg: Int) @Serializable -class Derived(val someData: String): NonSerializableParent(42) \ No newline at end of file +class Derived(val someData: String): NonSerializableParent(42) diff --git a/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.kt b/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.kt index 5b511798ce5..0b7e907d781 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/NoSuitableCtorInParent.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.fir.kt index ac5fda18ed8..27b49634951 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* @@ -14,4 +13,4 @@ class Inside(val foo: List) @Serializable class WithImplicitType { val foo = NonSerializable() -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.kt b/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.kt index 255bee34899..8daa9cc5102 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/NonSerializable.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* @@ -14,4 +13,4 @@ class Inside(val foo: List<NonSeriali @Serializable class WithImplicitType { val foo = NonSerializable() -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.fir.kt index 1bca02e11a3..1136d34460e 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.fir.kt @@ -1,7 +1,6 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* @Serializable -class Test(val someData: String, cantBeDeserialized: Int) \ No newline at end of file +class Test(val someData: String, cantBeDeserialized: Int) diff --git a/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.kt b/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.kt index 549d73d53aa..05d011fdc19 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/ParamIsNotProperty.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.fir.kt index b6e92f8c6e7..b3303fd6bb6 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* @@ -21,4 +20,4 @@ object EnumSerializer: KSerializer { } @Serializable -data class EnumUsage(val s: SimpleEnum, val m: MarkedNameEnum, val e: ExplicitlyMarkedEnum) \ No newline at end of file +data class EnumUsage(val s: SimpleEnum, val m: MarkedNameEnum, val e: ExplicitlyMarkedEnum) diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt index b58904aa427..d09709832ce 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.fir.kt index a1635f8dc77..5a9faf9a06f 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // SKIP_TXT // FILE: test.kt @@ -8,4 +7,4 @@ import kotlinx.serialization.* interface INonSerializable @Serializable -sealed interface SealedSerializable \ No newline at end of file +sealed interface SealedSerializable diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.kt index cb512efc24d..bfcb9ea8bb6 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializableIgnored.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // SKIP_TXT // FILE: test.kt diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.fir.kt index a835d3413bd..f88873b8dba 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -OPT_IN_USAGE // WITH_STDLIB // SKIP_TXT diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.kt index e0e4e97ab0a..037cdaa70f0 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeCompatibleForSpecials.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -OPT_IN_USAGE // WITH_STDLIB // SKIP_TXT diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.fir.kt index 131648e958f..21137764862 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -OPT_IN_USAGE // WITH_STDLIB // SKIP_TXT diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.kt index 6b09e3e48c3..e150e583c8b 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializerTypeIncompatible.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -OPT_IN_USAGE // WITH_STDLIB // SKIP_TXT diff --git a/plugins/kotlinx-serialization/testData/diagnostics/Transients.fir.kt b/plugins/kotlinx-serialization/testData/diagnostics/Transients.fir.kt index d26139a5dd6..bcf1b38b130 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/Transients.fir.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/Transients.fir.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* @@ -9,4 +8,4 @@ data class WithTransients(@Transient val missing: Int) { @Transient lateinit var allowTransientLateinitWithoutInitializer: String -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/diagnostics/Transients.kt b/plugins/kotlinx-serialization/testData/diagnostics/Transients.kt index ab738456ec9..6336b5b95b4 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/Transients.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/Transients.kt @@ -1,4 +1,3 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE // WITH_STDLIB // FILE: test.kt import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/runners/DiagnosticTests.kt b/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/runners/DiagnosticTests.kt index c91fa2dac8c..24865205d45 100644 --- a/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/runners/DiagnosticTests.kt +++ b/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/runners/DiagnosticTests.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlinx.serialization.runners import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder +import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.DIAGNOSTICS import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest @@ -15,7 +16,10 @@ import org.jetbrains.kotlinx.serialization.configureForKotlinxSerialization abstract class AbstractSerializationPluginDiagnosticTest : AbstractDiagnosticTest() { override fun configure(builder: TestConfigurationBuilder) { super.configure(builder) - builder.configureForKotlinxSerialization() + with(builder) { + configureForKotlinxSerialization() + disableOptInErrors() + } } } @@ -24,6 +28,7 @@ abstract class AbstractSerializationFirDiagnosticTest : AbstractFirDiagnosticTes super.configure(builder) with(builder) { configureForKotlinxSerialization() + disableOptInErrors() forTestsMatching("*/diagnostics/*") { configurationForClassicAndFirTestsAlongside() @@ -37,3 +42,9 @@ abstract class AbstractSerializationFirDiagnosticTest : AbstractFirDiagnosticTes } } } + +private fun TestConfigurationBuilder.disableOptInErrors() { + defaultDirectives { + DIAGNOSTICS with listOf("-OPT_IN_USAGE", "-OPT_IN_USAGE_ERROR") + } +}