FIR: introduce & use various comparators to sort members while de/serialization

#KT-41018 fixed
This commit is contained in:
Jinseong Jeon
2020-08-13 23:17:30 -07:00
committed by Mikhail Zarechenskiy
parent 91c021c699
commit e8157a5488
81 changed files with 1106 additions and 554 deletions
@@ -4,15 +4,15 @@
}
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public final static enum entry ENTRY: R|test/E|
public final static fun values(): R|kotlin/Array<test/E>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
public final static fun values(): R|kotlin/Array<test/E>| {
}
private constructor(): R|test/E|
public final static enum entry ENTRY: R|test/E|
}
public final annotation class EnumOption : R|kotlin/Annotation| {
@@ -1,13 +1,13 @@
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public final static enum entry CAKE: R|test/E|
public final static fun values(): R|kotlin/Array<test/E>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
public final static fun values(): R|kotlin/Array<test/E>| {
}
private constructor(): R|test/E|
public final static enum entry CAKE: R|test/E|
}
public final annotation class EnumAnno : R|kotlin/Annotation| {
@@ -4,8 +4,6 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
public final companion object Companion : R|kotlin/Any| {
@FIELD:R|test/Anno|() public final var property: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -15,4 +13,6 @@ public final class Class : R|kotlin/Any| {
}
public constructor(): R|test/Class|
}
@@ -15,17 +15,17 @@ public final annotation class Bnno : R|kotlin/Annotation| {
}
public final enum class Eee : R|kotlin/Enum<test/Eee>| {
public final static fun valueOf(value: R|kotlin/String|): R|test/Eee| {
}
public final static fun values(): R|kotlin/Array<test/Eee>| {
}
private constructor(): R|test/Eee|
public final static enum entry Entry1: R|test/Eee|
public final static enum entry Entry2: R|test/Eee|
public final static enum entry Entry3: R|test/Eee|
public final static enum entry Entry4: R|test/Eee|
public final static fun values(): R|kotlin/Array<test/Eee>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/Eee| {
}
}
@@ -4,16 +4,16 @@ public final annotation class Ann : R|kotlin/Annotation| {
}
public sealed class Sealed : R|kotlin/Any| {
public final val z: R|test/Z|
public get(): R|test/Z|
@R|test/Ann|() private constructor(@R|test/Ann|() z: R|test/Z|): R|test/Sealed|
public final class Derived : R|test/Sealed| {
@R|test/Ann|() public constructor(z: R|test/Z|): R|test/Sealed.Derived|
}
public final val z: R|test/Z|
public get(): R|test/Z|
@R|test/Ann|() private constructor(@R|test/Ann|() z: R|test/Z|): R|test/Sealed|
}
public final class Test : R|kotlin/Any| {
@@ -1,26 +1,26 @@
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/A.Companion|
public final annotation class Anno1 : R|kotlin/Annotation| {
public constructor(): R|test/A.Companion.Anno1|
}
public final class B : R|kotlin/Any| {
public constructor(): R|test/A.Companion.B|
public final annotation class Anno2 : R|kotlin/Annotation| {
public constructor(): R|test/A.Companion.B.Anno2|
}
public constructor(): R|test/A.Companion.B|
}
private constructor(): R|test/A.Companion|
}
public constructor(): R|test/A|
}
@R|test/A.Companion.Anno1|() @R|test/A.Companion.B.Anno2|() public final class C : R|kotlin/Any| {
@@ -4,16 +4,16 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
@R|test/Anno|() public final class Nested : R|kotlin/Any| {
public constructor(): R|test/Class.Companion.Nested|
}
private constructor(): R|test/Class.Companion|
}
public constructor(): R|test/Class|
}
@@ -4,11 +4,11 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|test/Anno|() public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
}
public constructor(): R|test/Class|
}
@@ -1,9 +1,5 @@
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
public final class B : R|kotlin/Any| {
public constructor(): R|test/A.B|
public final companion object Companion : R|kotlin/Any| {
public final val TEST: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -12,6 +8,10 @@ public final class A : R|kotlin/Any| {
}
public constructor(): R|test/A.B|
}
public constructor(): R|test/A|
}
@@ -1,6 +1,4 @@
@R|kotlin/Deprecated|(message = String(Class)) public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|kotlin/Deprecated|(message = String(companion object)) public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
@@ -16,4 +14,6 @@
}
public constructor(): R|test/Class|
}
@@ -7,8 +7,6 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
@R|test/Anno|(t = R|java/lang/annotation/ElementType.METHOD|()) public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|test/Anno|(t = R|java/lang/annotation/ElementType.ANNOTATION_TYPE|()) public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Class.Companion|
@@ -24,4 +22,6 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
public constructor(): R|test/Class|
}
@@ -1,11 +1,11 @@
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
public final annotation class Anno : R|kotlin/Annotation| {
public constructor(): R|test/A.Anno|
}
public constructor(): R|test/A|
}
@R|test/A.Anno|() public final class B : R|kotlin/Any| {
@@ -4,8 +4,6 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
@R|test/Anno|() public final inner class Inner : R|kotlin/Any| {
public constructor(): R|test/Class.Inner|
@@ -16,4 +14,6 @@ public final class Class : R|kotlin/Any| {
}
public constructor(): R|test/Class|
}
@@ -9,6 +9,12 @@ public final annotation class B : R|kotlin/Annotation| {
}
public final enum class E : R|kotlin/Enum<test/E>| {
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
public final static fun values(): R|kotlin/Array<test/E>| {
}
public final val x: R|kotlin/String|
public get(): R|kotlin/String|
@@ -17,11 +23,5 @@ public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(@R|test/A|() x: R|kotlin/String|, @R|test/B|() y: R|kotlin/Int|): R|test/E|
public final static fun values(): R|kotlin/Array<test/E>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
}
@@ -7,8 +7,6 @@ public final annotation class A : R|kotlin/Annotation| {
}
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public final inner class Inner : R|kotlin/Any| {
public final val y: R|kotlin/String|
public get(): R|kotlin/String|
@@ -25,4 +23,6 @@ public final class Outer : R|kotlin/Any| {
}
public constructor(): R|test/Outer|
}
@@ -4,8 +4,6 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
public final companion object Companion : R|kotlin/Any| {
@PROPERTY:R|test/Anno|() public final val property: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -14,4 +12,6 @@ public final class Class : R|kotlin/Any| {
}
public constructor(): R|test/Class|
}
@@ -4,12 +4,12 @@ public final annotation class Anno : R|kotlin/Annotation| {
}
public final class Class : R|kotlin/Any| {
public constructor(): R|test/Class|
public abstract interface Trait : R|kotlin/Any| {
public abstract val property: R|kotlin/Int|
public get(): R|kotlin/Int|
}
public constructor(): R|test/Class|
}
@@ -25,13 +25,13 @@ public final class Generic<T> : R|kotlin/Any| {
}
public final class InnerGeneric<A, B> : R|kotlin/Any| {
public constructor<A, B>(): R|test/InnerGeneric<A, B>|
public final inner class Inner<in C, D : R|A|, A, B> : R|kotlin/Any| {
public constructor<in C, D : R|A|>(): R|test/InnerGeneric.Inner<C, D, A, B>|
}
public constructor<A, B>(): R|test/InnerGeneric<A, B>|
}
public final class Simple : R|kotlin/Any| {