summaryrefslogtreecommitdiff
path: root/formats
diff options
context:
space:
mode:
authorSergey Shanshin <sergey.shanshin@jetbrains.com>2023-02-24 16:20:18 +0300
committerGitHub <noreply@github.com>2023-02-24 16:20:18 +0300
commit88f782c7af9c0270a7c4667ca3e338291e5a496f (patch)
tree8e29e5e9d5553b8973094fd5eb0d983ea3ad4abd /formats
parente9b90643ae09b877ce613f26cfeffca2c39069f9 (diff)
downloadkotlinx.serialization-88f782c7af9c0270a7c4667ca3e338291e5a496f.tar.gz
Removed redundant usages of @Serializer annotations (#2200)
If all KSerializer members are overridden in custom serializer, then the annotation '@Serializer' is not needed
Diffstat (limited to 'formats')
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/EncodingExtensionsTest.kt1
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/EnumSerializationTest.kt1
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/NotNullSerializersCompatibilityOnFileTest.kt1
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/SerializationForNullableTypeOnFileTest.kt2
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/SerializerForNullableTypeTest.kt1
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/features/BinaryPayloadExampleTest.kt4
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/features/GenericCustomSerializerTest.kt1
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/features/inline/InlineClassesTest.kt3
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonMapKeysTest.kt1
-rw-r--r--formats/json-tests/commonTest/src/kotlinx/serialization/json/MapLikeSerializerTest.kt1
-rw-r--r--formats/json-tests/jsTest/src/kotlinx/serialization/json/EncodeToDynamicTest.kt3
-rw-r--r--formats/json-tests/jvmTest/src/kotlinx/serialization/SerializeJavaClassTest.kt1
-rw-r--r--formats/json-tests/jvmTest/src/kotlinx/serialization/features/SerializerByTypeTest.kt6
-rw-r--r--formats/json/commonMain/src/kotlinx/serialization/json/JsonElementSerializers.kt15
-rw-r--r--formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/PolymorphicWithJvmClassTest.kt1
15 files changed, 12 insertions, 30 deletions
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/EncodingExtensionsTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/EncodingExtensionsTest.kt
index e8a0c487..73d3319a 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/EncodingExtensionsTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/EncodingExtensionsTest.kt
@@ -10,7 +10,6 @@ class EncodingExtensionsTest {
@Serializable(with = BoxSerializer::class)
class Box(val i: Int)
- @Serializer(forClass = Box::class)
object BoxSerializer : KSerializer<Box> {
override val descriptor: SerialDescriptor = buildClassSerialDescriptor("Box") {
element<Int>("i")
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/EnumSerializationTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/EnumSerializationTest.kt
index a57d452b..d361bbb6 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/EnumSerializationTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/EnumSerializationTest.kt
@@ -45,7 +45,6 @@ class EnumSerializationTest : JsonTestBase() {
TWO
}
- @Serializer(WithCustom::class)
private class CustomEnumSerializer : KSerializer<WithCustom> {
override val descriptor: SerialDescriptor = buildSerialDescriptor("WithCustom", SerialKind.ENUM) {
element("1", buildSerialDescriptor("WithCustom.1", StructureKind.OBJECT))
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/NotNullSerializersCompatibilityOnFileTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/NotNullSerializersCompatibilityOnFileTest.kt
index bd928ddb..e0903470 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/NotNullSerializersCompatibilityOnFileTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/NotNullSerializersCompatibilityOnFileTest.kt
@@ -53,7 +53,6 @@ class NotNullSerializersCompatibilityOnFileTest {
@Serializable
data class Holder(val nullable: Int?, val nonNullable: Int)
- @Serializer(forClass = Int::class)
object NonNullableIntSerializer : KSerializer<Int> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("NotNullIntSerializer", PrimitiveKind.INT)
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/SerializationForNullableTypeOnFileTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/SerializationForNullableTypeOnFileTest.kt
index 9f838b11..42f2a850 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/SerializationForNullableTypeOnFileTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/SerializationForNullableTypeOnFileTest.kt
@@ -16,7 +16,6 @@ class SerializationForNullableTypeOnFileTest {
@Serializable
data class Holder(val nullable: Int?, val nonNullable: Int)
- @Serializer(forClass = Int::class)
object NullableIntSerializer : KSerializer<Int?> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("NullableIntSerializer", PrimitiveKind.INT).nullable
@@ -34,7 +33,6 @@ class SerializationForNullableTypeOnFileTest {
}
}
- @Serializer(forClass = Int::class)
object NonNullableIntSerializer : KSerializer<Int> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("NotNullIntSerializer", PrimitiveKind.INT)
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/SerializerForNullableTypeTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/SerializerForNullableTypeTest.kt
index 64461678..89ae8bb0 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/SerializerForNullableTypeTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/SerializerForNullableTypeTest.kt
@@ -16,7 +16,6 @@ public class SerializerForNullableTypeTest : JsonTestBase() {
@Serializable(with = StringHolderSerializer::class)
data class StringHolder(val s: String)
- @Serializer(forClass = StringHolder::class)
object StringHolderSerializer : KSerializer<StringHolder?> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("SHS", PrimitiveKind.STRING).nullable
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/features/BinaryPayloadExampleTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/features/BinaryPayloadExampleTest.kt
index c1a98735..047f1a36 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/features/BinaryPayloadExampleTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/features/BinaryPayloadExampleTest.kt
@@ -14,9 +14,8 @@ import kotlin.test.Test
import kotlin.test.assertEquals
class BinaryPayloadExampleTest {
- @Serializable
+ @Serializable(BinaryPayload.Companion::class)
class BinaryPayload(val req: ByteArray, val res: ByteArray) {
- @Serializer(forClass = BinaryPayload::class)
companion object : KSerializer<BinaryPayload> {
override val descriptor: SerialDescriptor = buildClassSerialDescriptor("BinaryPayload") {
element("req", ByteArraySerializer().descriptor)
@@ -73,6 +72,7 @@ class BinaryPayloadExampleTest {
fun payloadEquivalence() {
val payload1 = BinaryPayload(byteArrayOf(0, 0, 0), byteArrayOf(127, 127))
val s = Json.encodeToString(BinaryPayload.serializer(), payload1)
+ assertEquals("""{"req":"000000","res":"7F7F"}""", s)
val payload2 = Json.decodeFromString(BinaryPayload.serializer(), s)
assertEquals(payload1, payload2)
}
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/features/GenericCustomSerializerTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/features/GenericCustomSerializerTest.kt
index 1bf59dfa..9c623912 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/features/GenericCustomSerializerTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/features/GenericCustomSerializerTest.kt
@@ -33,7 +33,6 @@ class CheckedData<T : Any>(val data: T, val checkSum: ByteArray) {
}
}
-@Serializer(forClass = CheckedData::class)
class CheckedDataSerializer<T : Any>(private val dataSerializer: KSerializer<T>) : KSerializer<CheckedData<T>> {
override val descriptor: SerialDescriptor = buildClassSerialDescriptor("CheckedDataSerializer") {
val dataDescriptor = dataSerializer.descriptor
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/features/inline/InlineClassesTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/features/inline/InlineClassesTest.kt
index 6b074b34..fdbb74af 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/features/inline/InlineClassesTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/features/inline/InlineClassesTest.kt
@@ -22,8 +22,7 @@ data class SimpleContainerForUInt(val i: UInt)
@JvmInline
value class MyUInt(val m: Int)
-@Serializer(forClass = MyUInt::class)
-object MyUIntSerializer {
+object MyUIntSerializer: KSerializer<MyUInt> {
override val descriptor = UInt.serializer().descriptor
override fun serialize(encoder: Encoder, value: MyUInt) {
encoder.encodeInline(descriptor).encodeInt(value.m)
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonMapKeysTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonMapKeysTest.kt
index 5ef34015..868e3adc 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonMapKeysTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/json/JsonMapKeysTest.kt
@@ -24,7 +24,6 @@ value class ComplexCarrier(val c: IntData)
value class PrimitiveCarrier(val c: String)
data class ContextualValue(val c: String) {
- @Serializer(forClass = ContextualValue::class)
companion object: KSerializer<ContextualValue> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("ContextualValue", PrimitiveKind.STRING)
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/json/MapLikeSerializerTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/json/MapLikeSerializerTest.kt
index 37abd954..bd8f1045 100644
--- a/formats/json-tests/commonTest/src/kotlinx/serialization/json/MapLikeSerializerTest.kt
+++ b/formats/json-tests/commonTest/src/kotlinx/serialization/json/MapLikeSerializerTest.kt
@@ -15,7 +15,6 @@ class MapLikeSerializerTest : JsonTestBase() {
@Serializable
data class StringPair(val a: String, val b: String)
- @Serializer(forClass = StringPair::class)
object StringPairSerializer : KSerializer<StringPair> {
override val descriptor: SerialDescriptor = buildSerialDescriptor("package.StringPair", StructureKind.MAP) {
diff --git a/formats/json-tests/jsTest/src/kotlinx/serialization/json/EncodeToDynamicTest.kt b/formats/json-tests/jsTest/src/kotlinx/serialization/json/EncodeToDynamicTest.kt
index d09d7577..74196b7b 100644
--- a/formats/json-tests/jsTest/src/kotlinx/serialization/json/EncodeToDynamicTest.kt
+++ b/formats/json-tests/jsTest/src/kotlinx/serialization/json/EncodeToDynamicTest.kt
@@ -92,10 +92,9 @@ class EncodeToDynamicTest {
WITH_SERIALNAME_red
}
- @Serializable
+ @Serializable(MyFancyClass.Companion::class)
data class MyFancyClass(val value: String) {
- @Serializer(forClass = MyFancyClass::class)
companion object : KSerializer<MyFancyClass> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("MyFancyClass", PrimitiveKind.STRING)
diff --git a/formats/json-tests/jvmTest/src/kotlinx/serialization/SerializeJavaClassTest.kt b/formats/json-tests/jvmTest/src/kotlinx/serialization/SerializeJavaClassTest.kt
index 3d634fca..a2f900d0 100644
--- a/formats/json-tests/jvmTest/src/kotlinx/serialization/SerializeJavaClassTest.kt
+++ b/formats/json-tests/jvmTest/src/kotlinx/serialization/SerializeJavaClassTest.kt
@@ -13,7 +13,6 @@ import java.text.SimpleDateFormat
import java.util.*
import kotlin.test.assertEquals
-@Serializer(forClass = Date::class)
object DateSerializer : KSerializer<Date> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("java.util.Date", PrimitiveKind.STRING)
diff --git a/formats/json-tests/jvmTest/src/kotlinx/serialization/features/SerializerByTypeTest.kt b/formats/json-tests/jvmTest/src/kotlinx/serialization/features/SerializerByTypeTest.kt
index e4f0bbb8..3bc45285 100644
--- a/formats/json-tests/jvmTest/src/kotlinx/serialization/features/SerializerByTypeTest.kt
+++ b/formats/json-tests/jvmTest/src/kotlinx/serialization/features/SerializerByTypeTest.kt
@@ -27,10 +27,10 @@ class SerializerByTypeTest {
@Serializable
data class Data(val l: List<String>, val b: Box<Int>)
- @Serializable
+ @Serializable(WithCustomDefault.Companion::class)
data class WithCustomDefault(val n: Int) {
- @Serializer(forClass = WithCustomDefault::class)
- companion object {
+
+ companion object: KSerializer<WithCustomDefault> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("WithCustomDefault", PrimitiveKind.INT)
override fun serialize(encoder: Encoder, value: WithCustomDefault) = encoder.encodeInt(value.n)
override fun deserialize(decoder: Decoder) = WithCustomDefault(decoder.decodeInt())
diff --git a/formats/json/commonMain/src/kotlinx/serialization/json/JsonElementSerializers.kt b/formats/json/commonMain/src/kotlinx/serialization/json/JsonElementSerializers.kt
index 788ce93f..83c23660 100644
--- a/formats/json/commonMain/src/kotlinx/serialization/json/JsonElementSerializers.kt
+++ b/formats/json/commonMain/src/kotlinx/serialization/json/JsonElementSerializers.kt
@@ -13,7 +13,7 @@ import kotlinx.serialization.encoding.*
import kotlinx.serialization.json.internal.JsonDecodingException
/**
- * External [Serializer] object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonElement].
+ * Serializer object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonElement].
* It can only be used by with [Json] format an its input ([JsonDecoder] and [JsonEncoder]).
* Currently, this hierarchy has no guarantees on descriptor content.
*
@@ -24,7 +24,6 @@ import kotlinx.serialization.json.internal.JsonDecodingException
* assertEquals(JsonObject(mapOf("key" to JsonLiteral(1.0))), literal)
* ```
*/
-@Serializer(forClass = JsonElement::class)
@PublishedApi
internal object JsonElementSerializer : KSerializer<JsonElement> {
override val descriptor: SerialDescriptor =
@@ -53,10 +52,9 @@ internal object JsonElementSerializer : KSerializer<JsonElement> {
}
/**
- * External [Serializer] object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonPrimitive].
+ * Serializer object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonPrimitive].
* It can only be used by with [Json] format an its input ([JsonDecoder] and [JsonEncoder]).
*/
-@Serializer(forClass = JsonPrimitive::class)
@PublishedApi
internal object JsonPrimitiveSerializer : KSerializer<JsonPrimitive> {
override val descriptor: SerialDescriptor =
@@ -79,10 +77,9 @@ internal object JsonPrimitiveSerializer : KSerializer<JsonPrimitive> {
}
/**
- * External [Serializer] object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonNull].
+ * Serializer object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonNull].
* It can only be used by with [Json] format an its input ([JsonDecoder] and [JsonEncoder]).
*/
-@Serializer(forClass = JsonNull::class)
@PublishedApi
internal object JsonNullSerializer : KSerializer<JsonNull> {
// technically, JsonNull is an object, but it does not call beginStructure/endStructure at all
@@ -142,10 +139,9 @@ private object JsonLiteralSerializer : KSerializer<JsonLiteral> {
}
/**
- * External [Serializer] object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonObject].
+ * Serializer object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonObject].
* It can only be used by with [Json] format an its input ([JsonDecoder] and [JsonEncoder]).
*/
-@Serializer(forClass = JsonObject::class)
@PublishedApi
internal object JsonObjectSerializer : KSerializer<JsonObject> {
@@ -168,10 +164,9 @@ internal object JsonObjectSerializer : KSerializer<JsonObject> {
}
/**
- * External [Serializer] object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonArray].
+ * Serializer object providing [SerializationStrategy] and [DeserializationStrategy] for [JsonArray].
* It can only be used by with [Json] format an its input ([JsonDecoder] and [JsonEncoder]).
*/
-@Serializer(forClass = JsonArray::class)
@PublishedApi
internal object JsonArraySerializer : KSerializer<JsonArray> {
diff --git a/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/PolymorphicWithJvmClassTest.kt b/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/PolymorphicWithJvmClassTest.kt
index df1a3fd1..ae2d5931 100644
--- a/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/PolymorphicWithJvmClassTest.kt
+++ b/formats/protobuf/jvmTest/src/kotlinx/serialization/protobuf/PolymorphicWithJvmClassTest.kt
@@ -17,7 +17,6 @@ class PolymorphicWithJvmClassTest {
@Serializable
data class DateWrapper(@ProtoNumber(1) @Polymorphic val date: Date)
- @Serializer(forClass = Date::class)
object DateSerializer : KSerializer<Date> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("java.util.Date", PrimitiveKind.STRING)