From cc49cee405e4c91ad2fa9a0391d3a8a97496a31b Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@gmail.com> Date: Tue, 11 Aug 2026 23:30:18 +0100 Subject: [PATCH 1/3] [kotlin][client] Fix Parcelable oneOf/anyOf sealed interfaces with kotlinx_serialization --- .../resources/kotlin-client/anyof_class.mustache | 7 +++++-- .../resources/kotlin-client/oneof_class.mustache | 12 ++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/anyof_class.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/anyof_class.mustache index a8fe1d77cae2..b37ceb585a7a 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/anyof_class.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/anyof_class.mustache @@ -85,7 +85,9 @@ import java.io.IOException * */ {{#parcelizeModels}} +{{^kotlinx_serialization}} @Parcelize +{{/kotlinx_serialization}} {{/parcelizeModels}} {{^generateOneOfAnyOfWrappers}} {{#multiplatform}}{{^discriminator}}@Serializable{{/discriminator}}{{/multiplatform}}{{#kotlinx_serialization}}{{#serializableModel}}@KSerializable{{/serializableModel}}{{^serializableModel}}@Serializable{{/serializableModel}}{{/kotlinx_serialization}}{{#moshi}}{{#moshiCodeGen}}@JsonClass(generateAdapter = true){{/moshiCodeGen}}{{/moshi}}{{#jackson}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{/jackson}} @@ -102,11 +104,12 @@ import java.io.IOException {{#kotlinx_serialization}} {{#generateOneOfAnyOfWrappers}} -{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}sealed interface {{classname}} { +{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}sealed interface {{classname}}{{#parcelizeModels}} : Parcelable{{/parcelizeModels}} { {{#composedSchemas}} {{#anyOf}} {{^vendorExtensions.x-duplicated-data-type}} - @JvmInline +{{#parcelizeModels}} @Parcelize +{{/parcelizeModels}} @JvmInline {{#explicitApi}}public {{/explicitApi}}value class {{#fnToValueClassName}}{{{dataType}}}{{/fnToValueClassName}}({{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}val value: {{{dataType}}}) : {{classname}} {{/vendorExtensions.x-duplicated-data-type}} diff --git a/modules/openapi-generator/src/main/resources/kotlin-client/oneof_class.mustache b/modules/openapi-generator/src/main/resources/kotlin-client/oneof_class.mustache index 73ee7570ec86..a920aea2e00c 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-client/oneof_class.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-client/oneof_class.mustache @@ -96,7 +96,9 @@ import java.io.IOException * */ {{#parcelizeModels}} +{{^kotlinx_serialization}} @Parcelize +{{/kotlinx_serialization}} {{/parcelizeModels}} {{^generateOneOfAnyOfWrappers}} {{^discriminator}} @@ -119,9 +121,10 @@ import java.io.IOException {{>additionalModelTypeAnnotations}} {{#kotlinx_serialization}} {{#discriminator}} -{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}sealed interface {{classname}} { +{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}sealed interface {{classname}}{{#parcelizeModels}} : Parcelable{{/parcelizeModels}} { {{#discriminator.mappedModels}} - @JvmInline +{{#parcelizeModels}} @Parcelize +{{/parcelizeModels}} @JvmInline {{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}} value class {{#fnToOneOfWrapperName}}{{mappingName}}{{/fnToOneOfWrapperName}}(val value: {{modelName}}) : {{classname}} {{/discriminator.mappedModels}} @@ -164,11 +167,12 @@ import java.io.IOException } {{/discriminator}} {{^discriminator}} -{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}sealed interface {{classname}} { +{{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}sealed interface {{classname}}{{#parcelizeModels}} : Parcelable{{/parcelizeModels}} { {{#composedSchemas}} {{#oneOf}} {{^vendorExtensions.x-duplicated-data-type}} - @JvmInline +{{#parcelizeModels}} @Parcelize +{{/parcelizeModels}} @JvmInline {{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}value class {{#fnToValueClassName}}{{{dataType}}}{{/fnToValueClassName}}({{#nonPublicApi}}internal {{/nonPublicApi}}{{^nonPublicApi}}{{#explicitApi}}public {{/explicitApi}}{{/nonPublicApi}}val value: {{{dataType}}}) : {{classname}} {{/vendorExtensions.x-duplicated-data-type}} From 6276a0580abdc11ff3393fabcf874d34858af3e9 Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@gmail.com> Date: Tue, 11 Aug 2026 23:31:09 +0100 Subject: [PATCH 2/3] [kotlin][client] Fix Parcelable oneOf/anyOf sealed interfaces with kotlinx_serialization --- bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml | 1 + .../kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle | 1 + .../org/openapitools/client/models/AnyOfUserOrPet.kt | 6 +++++- .../client/models/AnyOfUserOrPetOrArrayString.kt | 7 ++++++- .../kotlin/org/openapitools/client/models/BooleanOrLong.kt | 6 +++++- .../src/main/kotlin/org/openapitools/client/models/Pet.kt | 5 ++++- .../kotlin/org/openapitools/client/models/StringOrLong.kt | 6 +++++- .../src/main/kotlin/org/openapitools/client/models/User.kt | 5 ++++- .../kotlin/org/openapitools/client/models/UserOrPet.kt | 6 +++++- .../openapitools/client/models/UserOrPetOrArrayString.kt | 7 ++++++- 10 files changed, 42 insertions(+), 8 deletions(-) diff --git a/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml b/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml index 9b1d1c2d5614..0dfcf772b1d0 100644 --- a/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml +++ b/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml @@ -10,3 +10,4 @@ additionalProperties: enumUnknownDefaultCase: true serializationLibrary: kotlinx_serialization generateOneOfAnyOfWrappers: true + parcelizeModels: true diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle index 2c3581506a31..3cc74b9e627a 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle @@ -22,6 +22,7 @@ buildscript { } apply plugin: 'kotlin' +apply plugin: 'kotlin-parcelize' apply plugin: 'kotlinx-serialization' apply plugin: 'maven-publish' apply plugin: 'com.diffplug.spotless' diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt index cefd94ed1ce5..ef2bcc42b42c 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt @@ -44,6 +44,8 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * @@ -51,10 +53,12 @@ import kotlinx.serialization.json.encodeToJsonElement */ @Serializable(with = AnyOfUserOrPetSerializer::class) -sealed interface AnyOfUserOrPet { +sealed interface AnyOfUserOrPet : Parcelable { + @Parcelize @JvmInline value class UserValue(val value: User) : AnyOfUserOrPet + @Parcelize @JvmInline value class PetValue(val value: Pet) : AnyOfUserOrPet diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt index f97bf19b2d53..be2b8f873ab5 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt @@ -44,6 +44,8 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * @@ -51,13 +53,16 @@ import kotlinx.serialization.json.encodeToJsonElement */ @Serializable(with = AnyOfUserOrPetOrArrayStringSerializer::class) -sealed interface AnyOfUserOrPetOrArrayString { +sealed interface AnyOfUserOrPetOrArrayString : Parcelable { + @Parcelize @JvmInline value class UserValue(val value: User) : AnyOfUserOrPetOrArrayString + @Parcelize @JvmInline value class PetValue(val value: Pet) : AnyOfUserOrPetOrArrayString + @Parcelize @JvmInline value class ListStringValue(val value: kotlin.collections.List) : AnyOfUserOrPetOrArrayString diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt index 67d3f15e2429..8f64ef939119 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt @@ -42,16 +42,20 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = BooleanOrLongSerializer::class) -sealed interface BooleanOrLong { +sealed interface BooleanOrLong : Parcelable { + @Parcelize @JvmInline value class BooleanValue(val value: kotlin.Boolean) : BooleanOrLong + @Parcelize @JvmInline value class LongValue(val value: kotlin.Long) : BooleanOrLong diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt index 6e4c1052eb3b..9f377cf65ca7 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt @@ -32,6 +32,8 @@ import kotlinx.serialization.Serializer import kotlinx.serialization.builtins.serializer import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * @@ -39,6 +41,7 @@ import kotlinx.serialization.encoding.Encoder * @param id * @param name */ +@Parcelize @Serializable data class Pet ( @@ -49,7 +52,7 @@ data class Pet ( @SerialName(value = "name") val name: kotlin.String -) { +) : Parcelable { } diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt index 6f2494398d4a..e44b6ea41094 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt @@ -42,16 +42,20 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = StringOrLongSerializer::class) -sealed interface StringOrLong { +sealed interface StringOrLong : Parcelable { + @Parcelize @JvmInline value class StringValue(val value: kotlin.String) : StringOrLong + @Parcelize @JvmInline value class LongValue(val value: kotlin.Long) : StringOrLong diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt index 25816ae4b975..5ea1bdde9bba 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt @@ -32,6 +32,8 @@ import kotlinx.serialization.Serializer import kotlinx.serialization.builtins.serializer import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * @@ -39,6 +41,7 @@ import kotlinx.serialization.encoding.Encoder * @param id * @param username */ +@Parcelize @Serializable data class User ( @@ -49,7 +52,7 @@ data class User ( @SerialName(value = "username") val username: kotlin.String -) { +) : Parcelable { } diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt index d15d980777dd..cc888fa6ae27 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt @@ -44,16 +44,20 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = UserOrPetSerializer::class) -sealed interface UserOrPet { +sealed interface UserOrPet : Parcelable { + @Parcelize @JvmInline value class UserValue(val value: User) : UserOrPet + @Parcelize @JvmInline value class PetValue(val value: Pet) : UserOrPet diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt index b478c7d7ac67..8c7cc6b190d1 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt @@ -44,19 +44,24 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement +import android.os.Parcelable +import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = UserOrPetOrArrayStringSerializer::class) -sealed interface UserOrPetOrArrayString { +sealed interface UserOrPetOrArrayString : Parcelable { + @Parcelize @JvmInline value class UserValue(val value: User) : UserOrPetOrArrayString + @Parcelize @JvmInline value class PetValue(val value: Pet) : UserOrPetOrArrayString + @Parcelize @JvmInline value class ListStringValue(val value: kotlin.collections.List) : UserOrPetOrArrayString From 036b6531c6e836c0c4a9728694def635f45e026b Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@gmail.com> Date: Wed, 12 Aug 2026 11:10:39 +0100 Subject: [PATCH 3/3] Revert "[kotlin][client] Fix Parcelable oneOf/anyOf sealed interfaces with kotlinx_serialization" This reverts commit 6276a0580abdc11ff3393fabcf874d34858af3e9. --- bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml | 1 - .../kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle | 1 - .../org/openapitools/client/models/AnyOfUserOrPet.kt | 6 +----- .../client/models/AnyOfUserOrPetOrArrayString.kt | 7 +------ .../kotlin/org/openapitools/client/models/BooleanOrLong.kt | 6 +----- .../src/main/kotlin/org/openapitools/client/models/Pet.kt | 5 +---- .../kotlin/org/openapitools/client/models/StringOrLong.kt | 6 +----- .../src/main/kotlin/org/openapitools/client/models/User.kt | 5 +---- .../kotlin/org/openapitools/client/models/UserOrPet.kt | 6 +----- .../openapitools/client/models/UserOrPetOrArrayString.kt | 7 +------ 10 files changed, 8 insertions(+), 42 deletions(-) diff --git a/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml b/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml index 0dfcf772b1d0..9b1d1c2d5614 100644 --- a/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml +++ b/bin/configs/kotlin-oneOf-anyOf-kotlinx-serialization.yaml @@ -10,4 +10,3 @@ additionalProperties: enumUnknownDefaultCase: true serializationLibrary: kotlinx_serialization generateOneOfAnyOfWrappers: true - parcelizeModels: true diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle index 3cc74b9e627a..2c3581506a31 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/build.gradle @@ -22,7 +22,6 @@ buildscript { } apply plugin: 'kotlin' -apply plugin: 'kotlin-parcelize' apply plugin: 'kotlinx-serialization' apply plugin: 'maven-publish' apply plugin: 'com.diffplug.spotless' diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt index ef2bcc42b42c..cefd94ed1ce5 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPet.kt @@ -44,8 +44,6 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * @@ -53,12 +51,10 @@ import kotlinx.parcelize.Parcelize */ @Serializable(with = AnyOfUserOrPetSerializer::class) -sealed interface AnyOfUserOrPet : Parcelable { - @Parcelize +sealed interface AnyOfUserOrPet { @JvmInline value class UserValue(val value: User) : AnyOfUserOrPet - @Parcelize @JvmInline value class PetValue(val value: Pet) : AnyOfUserOrPet diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt index be2b8f873ab5..f97bf19b2d53 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/AnyOfUserOrPetOrArrayString.kt @@ -44,8 +44,6 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * @@ -53,16 +51,13 @@ import kotlinx.parcelize.Parcelize */ @Serializable(with = AnyOfUserOrPetOrArrayStringSerializer::class) -sealed interface AnyOfUserOrPetOrArrayString : Parcelable { - @Parcelize +sealed interface AnyOfUserOrPetOrArrayString { @JvmInline value class UserValue(val value: User) : AnyOfUserOrPetOrArrayString - @Parcelize @JvmInline value class PetValue(val value: Pet) : AnyOfUserOrPetOrArrayString - @Parcelize @JvmInline value class ListStringValue(val value: kotlin.collections.List) : AnyOfUserOrPetOrArrayString diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt index 8f64ef939119..67d3f15e2429 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/BooleanOrLong.kt @@ -42,20 +42,16 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = BooleanOrLongSerializer::class) -sealed interface BooleanOrLong : Parcelable { - @Parcelize +sealed interface BooleanOrLong { @JvmInline value class BooleanValue(val value: kotlin.Boolean) : BooleanOrLong - @Parcelize @JvmInline value class LongValue(val value: kotlin.Long) : BooleanOrLong diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt index 9f377cf65ca7..6e4c1052eb3b 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/Pet.kt @@ -32,8 +32,6 @@ import kotlinx.serialization.Serializer import kotlinx.serialization.builtins.serializer import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * @@ -41,7 +39,6 @@ import kotlinx.parcelize.Parcelize * @param id * @param name */ -@Parcelize @Serializable data class Pet ( @@ -52,7 +49,7 @@ data class Pet ( @SerialName(value = "name") val name: kotlin.String -) : Parcelable { +) { } diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt index e44b6ea41094..6f2494398d4a 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/StringOrLong.kt @@ -42,20 +42,16 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = StringOrLongSerializer::class) -sealed interface StringOrLong : Parcelable { - @Parcelize +sealed interface StringOrLong { @JvmInline value class StringValue(val value: kotlin.String) : StringOrLong - @Parcelize @JvmInline value class LongValue(val value: kotlin.Long) : StringOrLong diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt index 5ea1bdde9bba..25816ae4b975 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/User.kt @@ -32,8 +32,6 @@ import kotlinx.serialization.Serializer import kotlinx.serialization.builtins.serializer import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * @@ -41,7 +39,6 @@ import kotlinx.parcelize.Parcelize * @param id * @param username */ -@Parcelize @Serializable data class User ( @@ -52,7 +49,7 @@ data class User ( @SerialName(value = "username") val username: kotlin.String -) : Parcelable { +) { } diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt index cc888fa6ae27..d15d980777dd 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPet.kt @@ -44,20 +44,16 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = UserOrPetSerializer::class) -sealed interface UserOrPet : Parcelable { - @Parcelize +sealed interface UserOrPet { @JvmInline value class UserValue(val value: User) : UserOrPet - @Parcelize @JvmInline value class PetValue(val value: Pet) : UserOrPet diff --git a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt index 8c7cc6b190d1..b478c7d7ac67 100644 --- a/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt +++ b/samples/client/others/kotlin-oneOf-anyOf-kotlinx-serialization/src/main/kotlin/org/openapitools/client/models/UserOrPetOrArrayString.kt @@ -44,24 +44,19 @@ import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement -import android.os.Parcelable -import kotlinx.parcelize.Parcelize /** * * */ @Serializable(with = UserOrPetOrArrayStringSerializer::class) -sealed interface UserOrPetOrArrayString : Parcelable { - @Parcelize +sealed interface UserOrPetOrArrayString { @JvmInline value class UserValue(val value: User) : UserOrPetOrArrayString - @Parcelize @JvmInline value class PetValue(val value: Pet) : UserOrPetOrArrayString - @Parcelize @JvmInline value class ListStringValue(val value: kotlin.collections.List) : UserOrPetOrArrayString