Skip to content

Commit d192d24

Browse files
authored
Fix Kotlin user projects build (#2341)
* Remove @SharedImmutable usages The annotation is deprecated and has no effect. * Suppress animal sniffer error in a data class with boolean property The error is a result of changes in data class hashCode generation. The generated code now uses the static Boolean.hashCode() to calculate hash code of boolean properties. The static function is available only since Java 1.8.
1 parent 39918cb commit d192d24

File tree

22 files changed

+17
-30
lines changed

22 files changed

+17
-30
lines changed

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ subprojects {
204204
case "kotlinx-serialization-hocon":
205205
annotationValue = "kotlinx.serialization.hocon.internal.SuppressAnimalSniffer"
206206
break
207+
case "kotlinx-serialization-protobuf":
208+
annotationValue = "kotlinx.serialization.protobuf.internal.SuppressAnimalSniffer"
207209
}
208210
annotation = annotationValue
209211
}

core/commonMain/src/kotlinx/serialization/internal/Platform.common.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ internal fun SerialDescriptor.cachedSerialNames(): Set<String> {
6565
return result
6666
}
6767

68-
@SharedImmutable
6968
private val EMPTY_DESCRIPTOR_ARRAY: Array<SerialDescriptor> = arrayOf()
7069

7170
/**

core/commonMain/src/kotlinx/serialization/internal/PluginHelperInterfaces.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import kotlinx.serialization.*
88
import kotlin.jvm.*
99
import kotlin.native.concurrent.*
1010

11-
@SharedImmutable
1211
@JvmField
1312
internal val EMPTY_SERIALIZER_ARRAY: Array<KSerializer<*>> = arrayOf()
1413

core/commonMain/src/kotlinx/serialization/internal/Primitives.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import kotlin.reflect.*
1616
import kotlin.time.Duration
1717

1818
@OptIn(ExperimentalUnsignedTypes::class)
19-
@SharedImmutable
2019
private val BUILTIN_SERIALIZERS = mapOf(
2120
String::class to String.serializer(),
2221
Char::class to Char.serializer(),

core/commonMain/src/kotlinx/serialization/internal/Tuples.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import kotlinx.serialization.descriptors.*
1111
import kotlinx.serialization.encoding.*
1212
import kotlin.native.concurrent.*
1313

14-
@SharedImmutable
1514
private val NULL = Any()
1615
private const val deprecationMessage =
1716
"This class is used only by the plugin in generated code and should not be used directly. Use corresponding factory functions instead"

core/commonMain/src/kotlinx/serialization/modules/SerializersModule.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ public sealed class SerializersModule {
7373
/**
7474
* A [SerializersModule] which is empty and always returns `null`.
7575
*/
76-
@SharedImmutable
7776
@Deprecated("Deprecated in the favour of 'EmptySerializersModule()'",
7877
level = DeprecationLevel.WARNING,
7978
replaceWith = ReplaceWith("EmptySerializersModule()"))

core/commonTest/src/kotlinx/serialization/PolymorphismTestData.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ open class PolyBase(val id: Int) {
3030
@Serializable
3131
data class PolyDerived(val s: String) : PolyBase(1)
3232

33-
@SharedImmutable
3433
val BaseAndDerivedModule = SerializersModule {
3534
polymorphic(PolyBase::class, PolyBase.serializer()) {
3635
subclass(PolyDerived.serializer())

core/commonTest/src/kotlinx/serialization/UmbrellaTypes.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ data class ArraysUmbrella(
6767
arrIntData.contentEquals(other.arrIntData)
6868
}
6969

70-
@SharedImmutable
7170
val umbrellaInstance = TypesUmbrella(
7271
Unit, true, 10, 20, 30, 40, 50.1f, 60.1, 'A', "Str0", Attitude.POSITIVE, IntData(70),
7372
null, null, 11, 21, 31, 41, 51.1f, 61.1, 'B', "Str1", Attitude.NEUTRAL, null,

core/nativeTest/src/kotlinx/serialization/test/CurrentPlatform.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,5 @@
55
package kotlinx.serialization.test
66

77
import kotlinx.serialization.test.Platform
8-
import kotlin.native.concurrent.SharedImmutable
98

10-
@SharedImmutable
119
public actual val currentPlatform: Platform = Platform.NATIVE

formats/cbor/commonTest/src/kotlinx/serialization/PolymorphismTestData.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ data class SimpleStringInheritor(val s: String, val i: Int) : SimpleAbstract()
1919
@Serializable
2020
data class PolyBox(@Polymorphic val boxed: SimpleAbstract)
2121

22-
@SharedImmutable
2322
val SimplePolymorphicModule = SerializersModule {
2423
polymorphic(SimpleAbstract::class) {
2524
subclass(SimpleIntInheritor.serializer())

0 commit comments

Comments
 (0)