diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/SealedClassInheritors.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/SealedClassInheritors.kt index 163cc27b45e..d437dc49f9f 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/SealedClassInheritors.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/SealedClassInheritors.kt @@ -36,7 +36,7 @@ fun FirRegularClass.getSealedClassInheritors(session: FirSession): List @OptIn(SealedClassInheritorsProviderInternals::class) fun FirRegularClass.setSealedClassInheritors(inheritors: List) { require(this.isSealed) - sealedInheritorsAttr = inheritors + sealedInheritorsAttr = inheritors.sortedBy { it.asFqNameString() } } private object SealedClassInheritorsKey : FirDeclarationDataKey() diff --git a/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt b/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt index 0f00a913d19..f2900e80376 100644 --- a/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt +++ b/compiler/testData/codegen/box/smartCasts/kt44814.fir.ir.txt @@ -20,8 +20,8 @@ FILE fqName: fileName:/kt44814.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:FirSourceElement modality:SEALED visibility:public superTypes:[kotlin.Any] sealedSubclasses: - CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[.FirSourceElement] CLASS CLASS name:FirLightSourceElement modality:FINAL visibility:public superTypes:[.FirSourceElement] + CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[.FirSourceElement] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirSourceElement CONSTRUCTOR visibility:protected <> () returnType:.FirSourceElement [primary] BLOCK_BODY @@ -372,8 +372,8 @@ FILE fqName: fileName:/kt44814.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:FirModifier modality:SEALED visibility:internal superTypes:[kotlin.Any] sealedSubclasses: - CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[.FirModifier<.ASTNode>] CLASS CLASS name:FirLightModifier modality:FINAL visibility:public superTypes:[.FirModifier<.LighterASTNode>] + CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[.FirModifier<.ASTNode>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirModifier.FirModifier> TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> (node:Node of .FirModifier, token:.KtModifierKeywordToken) returnType:.FirModifier.FirModifier> [primary] @@ -511,8 +511,8 @@ FILE fqName: fileName:/kt44814.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:FirModifierList modality:SEALED visibility:internal superTypes:[kotlin.Any] sealedSubclasses: - CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[.FirModifierList] CLASS CLASS name:FirLightModifierList modality:FINAL visibility:public superTypes:[.FirModifierList] + CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[.FirModifierList] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirModifierList CONSTRUCTOR visibility:protected <> () returnType:.FirModifierList [primary] BLOCK_BODY diff --git a/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt b/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt index 349ebd9ffe7..311a8752f66 100644 --- a/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt +++ b/compiler/testData/codegen/box/smartCasts/kt44814.ir.txt @@ -20,8 +20,8 @@ FILE fqName: fileName:/kt44814.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:FirSourceElement modality:SEALED visibility:public superTypes:[kotlin.Any] sealedSubclasses: - CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[.FirSourceElement] CLASS CLASS name:FirLightSourceElement modality:FINAL visibility:public superTypes:[.FirSourceElement] + CLASS CLASS name:FirPsiSourceElement modality:FINAL visibility:public superTypes:[.FirSourceElement] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirSourceElement CONSTRUCTOR visibility:protected <> () returnType:.FirSourceElement [primary] BLOCK_BODY @@ -372,8 +372,8 @@ FILE fqName: fileName:/kt44814.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:FirModifier modality:SEALED visibility:internal superTypes:[kotlin.Any] sealedSubclasses: - CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[.FirModifier<.ASTNode>] CLASS CLASS name:FirLightModifier modality:FINAL visibility:public superTypes:[.FirModifier<.LighterASTNode>] + CLASS CLASS name:FirPsiModifier modality:FINAL visibility:public superTypes:[.FirModifier<.ASTNode>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirModifier.FirModifier> TYPE_PARAMETER name:Node index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> (node:Node of .FirModifier, token:.KtModifierKeywordToken) returnType:.FirModifier.FirModifier> [primary] @@ -511,8 +511,8 @@ FILE fqName: fileName:/kt44814.kt $this: VALUE_PARAMETER name: type:kotlin.Any CLASS CLASS name:FirModifierList modality:SEALED visibility:internal superTypes:[kotlin.Any] sealedSubclasses: - CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[.FirModifierList] CLASS CLASS name:FirLightModifierList modality:FINAL visibility:public superTypes:[.FirModifierList] + CLASS CLASS name:FirPsiModifierList modality:FINAL visibility:public superTypes:[.FirModifierList] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.FirModifierList CONSTRUCTOR visibility:protected <> () returnType:.FirModifierList [primary] BLOCK_BODY diff --git a/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaClassViaKotlinReflection.kt b/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaClassViaKotlinReflection.kt index 9c4dd79674d..3b2565d7d2a 100644 --- a/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaClassViaKotlinReflection.kt +++ b/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaClassViaKotlinReflection.kt @@ -14,7 +14,7 @@ fun box(): String { val klass = Base::class if (!klass.isSealed) return "Error: Base is not sealed" if (klass.isAbstract) return "Error: Base is not abstract" - return klass.sealedSubclasses + return klass.sealedSubclasses.asReversed() .joinToString("") { it.simpleName ?: "_No name provided_" } .takeIf { it.isNotBlank() } ?: "_No sealed subclasses found_" diff --git a/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaInterfaceViaKotlinReflection.kt b/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaInterfaceViaKotlinReflection.kt index a8e92e00acc..435c72a6129 100644 --- a/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaInterfaceViaKotlinReflection.kt +++ b/compiler/testData/codegen/boxModernJdk/testsWithJava17/sealed/sealedJavaInterfaceViaKotlinReflection.kt @@ -14,7 +14,7 @@ fun box(): String { val klass = Base::class if (!klass.isSealed) return "Error: Base is not sealed" if (klass.isAbstract) return "Error: Base is abstract" - return klass.sealedSubclasses + return klass.sealedSubclasses.asReversed() .joinToString("") { it.simpleName ?: "_No name provided_" } .takeIf { it.isNotBlank() } ?: "_No sealed subclasses found_" diff --git a/compiler/testData/ir/irText/classes/sealedClasses.ir.txt b/compiler/testData/ir/irText/classes/sealedClasses.ir.txt index 3a2b290b94f..3cea776d108 100644 --- a/compiler/testData/ir/irText/classes/sealedClasses.ir.txt +++ b/compiler/testData/ir/irText/classes/sealedClasses.ir.txt @@ -2,8 +2,8 @@ FILE fqName: fileName:/sealedClasses.kt CLASS CLASS name:Expr modality:SEALED visibility:public superTypes:[kotlin.Any] sealedSubclasses: CLASS CLASS name:Const modality:FINAL visibility:public superTypes:[.Expr] - CLASS CLASS name:Sum modality:FINAL visibility:public superTypes:[.Expr] CLASS OBJECT name:NotANumber modality:FINAL visibility:public superTypes:[.Expr] + CLASS CLASS name:Sum modality:FINAL visibility:public superTypes:[.Expr] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Expr CONSTRUCTOR visibility:protected <> () returnType:.Expr [primary] BLOCK_BODY diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt index 26241b8cdd1..71669f2df05 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.fir.ir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/ArrayMap.kt CLASS CLASS name:ArrayMap modality:SEALED visibility:public superTypes:[kotlin.collections.Iterable.ArrayMap>] sealedSubclasses: + CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] CLASS OBJECT name:EmptyArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap] CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] - CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMap.ArrayMap> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> () returnType:.ArrayMap.ArrayMap> [primary] diff --git a/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt b/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt index 86e7d4f654b..25e9ef74934 100644 --- a/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt +++ b/compiler/testData/ir/irText/firProblems/ArrayMap.ir.txt @@ -1,9 +1,9 @@ FILE fqName: fileName:/ArrayMap.kt CLASS CLASS name:ArrayMap modality:SEALED visibility:public superTypes:[kotlin.collections.Iterable.ArrayMap>] sealedSubclasses: + CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] CLASS OBJECT name:EmptyArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap] CLASS CLASS name:OneElementArrayMap modality:FINAL visibility:internal superTypes:[.ArrayMap.OneElementArrayMap>] - CLASS CLASS name:ArrayMapImpl modality:FINAL visibility:internal superTypes:[.ArrayMap.ArrayMapImpl>] $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.ArrayMap.ArrayMap> TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any] reified:false CONSTRUCTOR visibility:protected <> () returnType:.ArrayMap.ArrayMap> [primary] diff --git a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt index 71cf9ff72f7..57fe4f315d4 100644 --- a/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt +++ b/core/descriptors.jvm/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt @@ -191,7 +191,7 @@ class LazyJavaClassDescriptor( val attributes = TypeUsage.COMMON.toAttributes() jClass.permittedTypes.mapNotNull { c.typeResolver.transformJavaType(it, attributes).constructor.declarationDescriptor as? ClassDescriptor - } + }.sortedBy { it.fqNameSafe.asString() } } else { emptyList() } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/SealedClassInheritorsProvider.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/SealedClassInheritorsProvider.kt index 9cb3afccadc..5e5f0087b03 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/SealedClassInheritorsProvider.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/SealedClassInheritorsProvider.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor import org.jetbrains.kotlin.incremental.components.NoLookupLocation +import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.descriptorUtil.parents import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.MemberScope @@ -78,7 +79,7 @@ object CliSealedClassInheritorsProvider : SealedClassInheritorsProvider() { ) } collectSubclasses(sealedClass.unsubstitutedInnerClassesScope, collectNested = true) - return result + return result.sortedBy { it.fqNameSafe.asString() } } } diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.ir.txt b/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.ir.txt index a3e59ec592a..077967a028e 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.ir.txt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.ir.txt @@ -308,12 +308,12 @@ final class Result$Companion$$cachedSerializer$delegate$1 : kotlin/jvm/internal/ ASTORE (1) ALOAD (1) ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ALOAD (1) ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ALOAD (1) @@ -322,11 +322,6 @@ final class Result$Companion$$cachedSerializer$delegate$1 : kotlin/jvm/internal/ ASTORE (1) ALOAD (1) ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - ALOAD (1) - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) @@ -335,6 +330,11 @@ final class Result$Companion$$cachedSerializer$delegate$1 : kotlin/jvm/internal/ CHECKCAST (kotlinx/serialization/KSerializer) AASTORE ALOAD (1) + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE + ALOAD (1) INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) CHECKCAST (kotlinx/serialization/KSerializer) ARETURN @@ -841,12 +841,12 @@ public final class X$Companion : java/lang/Object { ASTORE (1) ALOAD (1) ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ALOAD (1) ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ALOAD (1) @@ -855,11 +855,6 @@ public final class X$Companion : java/lang/Object { ASTORE (1) ALOAD (1) ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - ALOAD (1) - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) @@ -868,6 +863,11 @@ public final class X$Companion : java/lang/Object { CHECKCAST (kotlinx/serialization/KSerializer) AASTORE ALOAD (1) + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE + ALOAD (1) INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) CHECKCAST (kotlinx/serialization/KSerializer) ARETURN diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.txt b/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.txt index c9304a4a143..feabd89814c 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.txt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/testData/codegen/Sealed.txt @@ -53,29 +53,29 @@ public final class Container$$serializer : java/lang/Object, kotlinx/serializati ANEWARRAY (kotlin/reflect/KClass) DUP ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE DUP ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ICONST_2 ANEWARRAY (kotlinx/serialization/KSerializer) DUP ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - DUP - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) GETSTATIC (Result$Err, INSTANCE, LResult$Err;) INVOKESPECIAL (kotlinx/serialization/internal/ObjectSerializer, , (Ljava/lang/String;Ljava/lang/Object;)V) AASTORE + DUP + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) AASTORE ARETURN @@ -112,29 +112,29 @@ public final class Container$$serializer : java/lang/Object, kotlinx/serializati ANEWARRAY (kotlin/reflect/KClass) DUP ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE DUP ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ICONST_2 ANEWARRAY (kotlinx/serialization/KSerializer) DUP ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - DUP - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) GETSTATIC (Result$Err, INSTANCE, LResult$Err;) INVOKESPECIAL (kotlinx/serialization/internal/ObjectSerializer, , (Ljava/lang/String;Ljava/lang/Object;)V) AASTORE + DUP + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) ALOAD (5) INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;) @@ -166,29 +166,29 @@ public final class Container$$serializer : java/lang/Object, kotlinx/serializati ANEWARRAY (kotlin/reflect/KClass) DUP ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE DUP ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ICONST_2 ANEWARRAY (kotlinx/serialization/KSerializer) DUP ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - DUP - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) GETSTATIC (Result$Err, INSTANCE, LResult$Err;) INVOKESPECIAL (kotlinx/serialization/internal/ObjectSerializer, , (Ljava/lang/String;Ljava/lang/Object;)V) AASTORE + DUP + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) ALOAD (5) INVOKEINTERFACE (kotlinx/serialization/encoding/CompositeDecoder, decodeSerializableElement, (Lkotlinx/serialization/descriptors/SerialDescriptor;ILkotlinx/serialization/DeserializationStrategy;Ljava/lang/Object;)Ljava/lang/Object;) @@ -344,29 +344,29 @@ public final class Container : java/lang/Object { ANEWARRAY (kotlin/reflect/KClass) DUP ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE DUP ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ICONST_2 ANEWARRAY (kotlinx/serialization/KSerializer) DUP ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - DUP - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) GETSTATIC (Result$Err, INSTANCE, LResult$Err;) INVOKESPECIAL (kotlinx/serialization/internal/ObjectSerializer, , (Ljava/lang/String;Ljava/lang/Object;)V) AASTORE + DUP + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) ALOAD (0) GETFIELD (Container, r, LResult;) @@ -407,29 +407,29 @@ final class Result$Companion$serializer$1 : kotlin/jvm/internal/Lambda, kotlin/j ANEWARRAY (kotlin/reflect/KClass) DUP ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE DUP ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ICONST_2 ANEWARRAY (kotlinx/serialization/KSerializer) DUP ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - DUP - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) GETSTATIC (Result$Err, INSTANCE, LResult$Err;) INVOKESPECIAL (kotlinx/serialization/internal/ObjectSerializer, , (Ljava/lang/String;Ljava/lang/Object;)V) AASTORE + DUP + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) ARETURN LABEL (L1) @@ -910,29 +910,29 @@ public final class X$Companion : java/lang/Object { ANEWARRAY (kotlin/reflect/KClass) DUP ICONST_0 - LDC (LResult$OK;) + LDC (LResult$Err;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE DUP ICONST_1 - LDC (LResult$Err;) + LDC (LResult$OK;) INVOKESTATIC (kotlin/jvm/internal/Reflection, getOrCreateKotlinClass, (Ljava/lang/Class;)Lkotlin/reflect/KClass;) AASTORE ICONST_2 ANEWARRAY (kotlinx/serialization/KSerializer) DUP ICONST_0 - GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) - CHECKCAST (kotlinx/serialization/KSerializer) - AASTORE - DUP - ICONST_1 NEW (kotlinx/serialization/internal/ObjectSerializer) DUP LDC (Result.Err) GETSTATIC (Result$Err, INSTANCE, LResult$Err;) INVOKESPECIAL (kotlinx/serialization/internal/ObjectSerializer, , (Ljava/lang/String;Ljava/lang/Object;)V) AASTORE + DUP + ICONST_1 + GETSTATIC (Result$OK$$serializer, INSTANCE, LResult$OK$$serializer;) + CHECKCAST (kotlinx/serialization/KSerializer) + AASTORE INVOKESPECIAL (kotlinx/serialization/SealedClassSerializer, , (Ljava/lang/String;Lkotlin/reflect/KClass;[Lkotlin/reflect/KClass;[Lkotlinx/serialization/KSerializer;)V) ARETURN LABEL (L1)