[Serialization] Suppress OPT_IN errors in all diagnostic tests
This commit is contained in:
committed by
teamcity
parent
84b8ab1f9c
commit
a6d3c6e5c6
+7
-2
@@ -65,8 +65,13 @@ class RegisteredDirectivesBuilder private constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun <K : Directive, V> MutableMap<K, V>.putWithExistsCheck(key: K, value: V) {
|
private fun <K : Directive, V> MutableMap<K, V>.putWithExistsCheck(key: K, value: V) {
|
||||||
val alreadyRegistered = put(key, value)
|
val alreadyRegistered = get(key)
|
||||||
if (alreadyRegistered != null) {
|
if (alreadyRegistered == null) {
|
||||||
|
put(key, value)
|
||||||
|
} else if (alreadyRegistered is List<Any?> && value is List<Any?>) {
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
put(key, (alreadyRegistered + value) as V)
|
||||||
|
} else {
|
||||||
error("Default values for $key directive already registered")
|
error("Default values for $key directive already registered")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE, -OPT_IN_USAGE
|
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE, -OPT_IN_USAGE
|
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
// FIR_IDENTICAL
|
// FIR_IDENTICAL
|
||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
// !USE_EXPERIMENTAL: kotlinx.serialization.ExperimentalSerializationApi
|
// !USE_EXPERIMENTAL: kotlinx.serialization.ExperimentalSerializationApi
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
// This test enshures that analysis ends up without compiler exceptions
|
// This test enshures that analysis ends up without compiler exceptions
|
||||||
// !DIAGNOSTICS: -OPT_IN_USAGE
|
|
||||||
|
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
class Digest() {
|
class Digest() {
|
||||||
@<!OPT_IN_USAGE_ERROR!>Serializer<!>(forClass = Digest::class)
|
@Serializer(forClass = Digest::class)
|
||||||
companion <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object<!> : KSerializer<Digest> {}
|
companion <!ABSTRACT_MEMBER_NOT_IMPLEMENTED!>object<!> : KSerializer<Digest> {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
// This test enshures that analysis ends up without compiler exceptions
|
// This test enshures that analysis ends up without compiler exceptions
|
||||||
// !DIAGNOSTICS: -OPT_IN_USAGE
|
|
||||||
|
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -OPT_IN_USAGE_ERROR, -OPT_IN_USAGE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -OPT_IN_USAGE_ERROR, -OPT_IN_USAGE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
|
|||||||
Vendored
-1
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -OPT_IN_USAGE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -OPT_IN_USAGE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -OPT_IN_USAGE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -OPT_IN_USAGE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// SKIP_TXT
|
// SKIP_TXT
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// !DIAGNOSTICS: -UNUSED_PARAMETER,-UNUSED_VARIABLE
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
|
|||||||
+12
-1
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlinx.serialization.runners
|
package org.jetbrains.kotlinx.serialization.runners
|
||||||
|
|
||||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
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.directives.FirDiagnosticsDirectives.FIR_DUMP
|
||||||
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
||||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||||
@@ -15,7 +16,10 @@ import org.jetbrains.kotlinx.serialization.configureForKotlinxSerialization
|
|||||||
abstract class AbstractSerializationPluginDiagnosticTest : AbstractDiagnosticTest() {
|
abstract class AbstractSerializationPluginDiagnosticTest : AbstractDiagnosticTest() {
|
||||||
override fun configure(builder: TestConfigurationBuilder) {
|
override fun configure(builder: TestConfigurationBuilder) {
|
||||||
super.configure(builder)
|
super.configure(builder)
|
||||||
builder.configureForKotlinxSerialization()
|
with(builder) {
|
||||||
|
configureForKotlinxSerialization()
|
||||||
|
disableOptInErrors()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,6 +28,7 @@ abstract class AbstractSerializationFirDiagnosticTest : AbstractFirDiagnosticTes
|
|||||||
super.configure(builder)
|
super.configure(builder)
|
||||||
with(builder) {
|
with(builder) {
|
||||||
configureForKotlinxSerialization()
|
configureForKotlinxSerialization()
|
||||||
|
disableOptInErrors()
|
||||||
|
|
||||||
forTestsMatching("*/diagnostics/*") {
|
forTestsMatching("*/diagnostics/*") {
|
||||||
configurationForClassicAndFirTestsAlongside()
|
configurationForClassicAndFirTestsAlongside()
|
||||||
@@ -37,3 +42,9 @@ abstract class AbstractSerializationFirDiagnosticTest : AbstractFirDiagnosticTes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun TestConfigurationBuilder.disableOptInErrors() {
|
||||||
|
defaultDirectives {
|
||||||
|
DIAGNOSTICS with listOf("-OPT_IN_USAGE", "-OPT_IN_USAGE_ERROR")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user