Skip to content

Commit 477a10e

Browse files
committed
Cleanup
1 parent acb9a79 commit 477a10e

File tree

2 files changed

+0
-33
lines changed

2 files changed

+0
-33
lines changed

firebase-common/src/commonMain/kotlin/dev/gitlive/firebase/Polymorphic.kt

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ package dev.gitlive.firebase
33
import kotlinx.serialization.DeserializationStrategy
44
import kotlinx.serialization.SerializationStrategy
55
import kotlinx.serialization.descriptors.SerialDescriptor
6-
import kotlinx.serialization.encoding.CompositeDecoder
76
import kotlinx.serialization.findPolymorphicSerializer
87
import kotlinx.serialization.internal.AbstractPolymorphicSerializer
98

10-
119
@Suppress("UNCHECKED_CAST")
1210
internal fun <T> FirebaseEncoder.encodePolymorphically(
1311
serializer: SerializationStrategy<T>,
@@ -21,14 +19,10 @@ internal fun <T> FirebaseEncoder.encodePolymorphically(
2119
val casted = serializer as AbstractPolymorphicSerializer<Any>
2220
val baseClassDiscriminator = serializer.descriptor.classDiscriminator()
2321
val actualSerializer = casted.findPolymorphicSerializer(this, value as Any)
24-
// validateIfSealed(casted, actualSerializer, baseClassDiscriminator)
25-
// checkKind(actualSerializer.descriptor.kind)
2622
ifPolymorphic(baseClassDiscriminator)
2723
actualSerializer.serialize(this, value)
2824
}
2925

30-
31-
3226
@Suppress("UNCHECKED_CAST")
3327
internal fun <T> FirebaseDecoder.decodeSerializableValuePolymorphic(
3428
value: Any?,
@@ -49,32 +43,6 @@ internal fun <T> FirebaseDecoder.decodeSerializableValuePolymorphic(
4943
return actualDeserializer.deserialize(this)
5044
}
5145

52-
53-
//private fun validateIfSealed(
54-
// serializer: SerializationStrategy<*>,
55-
// actualSerializer: SerializationStrategy<Any>,
56-
// classDiscriminator: String
57-
//) {
58-
// if (serializer !is SealedClassSerializer<*>) return
59-
// @Suppress("DEPRECATION_ERROR")
60-
// if (classDiscriminator in actualSerializer.descriptor.jsonCachedSerialNames()) {
61-
// val baseName = serializer.descriptor.serialName
62-
// val actualName = actualSerializer.descriptor.serialName
63-
// error(
64-
// "Sealed class '$actualName' cannot be serialized as base class '$baseName' because" +
65-
// " it has property name that conflicts with class discriminator '$classDiscriminator'. " +
66-
// "You can either change class discriminator with FirebaseClassDiscriminator annotation or " +
67-
// "rename property with @SerialName annotation"
68-
// )
69-
// }
70-
//}
71-
72-
//internal fun checkKind(kind: SerialKind) {
73-
// if (kind is SerialKind.ENUM) error("Enums cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead")
74-
// if (kind is PrimitiveKind) error("Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead")
75-
// if (kind is PolymorphicKind) error("Actual serializer for polymorphic cannot be polymorphic itself")
76-
//}
77-
7846
internal fun SerialDescriptor.classDiscriminator(): String {
7947
// Plain loop is faster than allocation of Sequence or ArrayList
8048
// We can rely on the fact that only one FirebaseClassDiscriminator is present —

firebase-common/src/commonTest/kotlin/dev/gitlive/firebase/EncodersTest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ package dev.gitlive.firebase
77
import kotlinx.serialization.SerialName
88
import kotlinx.serialization.Serializable
99
import kotlinx.serialization.builtins.ListSerializer
10-
import kotlinx.serialization.json.JsonClassDiscriminator
1110
import kotlin.test.Test
1211
import kotlin.test.assertEquals
1312
import kotlin.test.assertNull

0 commit comments

Comments
 (0)