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
@@ -1,9 +1,9 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public final inner class Inner : R|kotlin/Any| {
public constructor(): R|test/Outer.Inner|
}
public constructor(): R|test/Outer|
}
@@ -1,9 +1,4 @@
public final class ConstructorTypeParamClassObjectConflict<test> : R|kotlin/Any| {
public final val some: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor<test>(): R|test/ConstructorTypeParamClassObjectConflict<test>|
public final companion object Companion : R|kotlin/Any| {
public final val test: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -12,33 +7,30 @@ public final class ConstructorTypeParamClassObjectConflict<test> : R|kotlin/Any|
}
public final val some: R|kotlin/Int|
public get(): R|kotlin/Int|
public constructor<test>(): R|test/ConstructorTypeParamClassObjectConflict<test>|
}
public final class ConstructorTypeParamClassObjectTypeConflict<test> : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public abstract interface test : R|kotlin/Any| {
}
private constructor(): R|test/ConstructorTypeParamClassObjectTypeConflict.Companion|
}
public final val some: R|test?|
public get(): R|test?|
public constructor<test>(): R|test/ConstructorTypeParamClassObjectTypeConflict<test>|
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/ConstructorTypeParamClassObjectTypeConflict.Companion|
public abstract interface test : R|kotlin/Any| {
}
}
}
public final class TestClassObjectAndClassConflict : R|kotlin/Any| {
public final val bla: R|kotlin/String|
public get(): R|kotlin/String|
public final val some: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(): R|test/TestClassObjectAndClassConflict|
public final companion object Companion : R|kotlin/Any| {
public final val bla: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -47,14 +39,17 @@ public final class TestClassObjectAndClassConflict : R|kotlin/Any| {
}
}
public final val bla: R|kotlin/String|
public get(): R|kotlin/String|
public final class TestConstructorParamClassObjectConflict : R|kotlin/Any| {
public final val some: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(test: R|kotlin/String|): R|test/TestConstructorParamClassObjectConflict|
public constructor(): R|test/TestClassObjectAndClassConflict|
}
public final class TestConstructorParamClassObjectConflict : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public final val test: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -63,17 +58,14 @@ public final class TestConstructorParamClassObjectConflict : R|kotlin/Any| {
}
}
public final class TestConstructorValClassObjectConflict : R|kotlin/Any| {
public final val some: R|kotlin/String|
public get(): R|kotlin/String|
public final val test: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(test: R|kotlin/String|): R|test/TestConstructorParamClassObjectConflict|
public constructor(test: R|kotlin/String|): R|test/TestConstructorValClassObjectConflict|
}
public final class TestConstructorValClassObjectConflict : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public final val test: R|kotlin/Int|
public get(): R|kotlin/Int|
@@ -82,4 +74,13 @@ public final class TestConstructorValClassObjectConflict : R|kotlin/Any| {
}
public final val some: R|kotlin/String|
public get(): R|kotlin/String|
public final val test: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(test: R|kotlin/String|): R|test/TestConstructorValClassObjectConflict|
}
@@ -1,11 +1,11 @@
public final enum class EnumWithGenericConstructorParameter : R|kotlin/Enum<test/EnumWithGenericConstructorParameter>| {
private constructor(list: R|kotlin/collections/List<kotlin/String>?|): R|test/EnumWithGenericConstructorParameter|
public final static fun valueOf(value: R|kotlin/String|): R|test/EnumWithGenericConstructorParameter| {
}
public final static fun values(): R|kotlin/Array<test/EnumWithGenericConstructorParameter>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/EnumWithGenericConstructorParameter| {
}
private constructor(list: R|kotlin/collections/List<kotlin/String>?|): R|test/EnumWithGenericConstructorParameter|
}
@@ -1,11 +1,11 @@
public final enum class EnumWithPrimitiveConstructorParameter : R|kotlin/Enum<test/EnumWithPrimitiveConstructorParameter>| {
private constructor(b: R|kotlin/Boolean|): R|test/EnumWithPrimitiveConstructorParameter|
public final static fun valueOf(value: R|kotlin/String|): R|test/EnumWithPrimitiveConstructorParameter| {
}
public final static fun values(): R|kotlin/Array<test/EnumWithPrimitiveConstructorParameter>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/EnumWithPrimitiveConstructorParameter| {
}
private constructor(b: R|kotlin/Boolean|): R|test/EnumWithPrimitiveConstructorParameter|
}
@@ -1,6 +1,4 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public open inner class Inner1 : R|kotlin/Any| {
public constructor(): R|test/Outer.Inner1|
@@ -11,4 +9,6 @@ public final class Outer : R|kotlin/Any| {
}
public constructor(): R|test/Outer|
}
@@ -1,9 +1,9 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public final inner class Inner<T> : R|kotlin/Any| {
public constructor<T>(): R|test/Outer.Inner<T>|
}
public constructor(): R|test/Outer|
}
@@ -1,11 +1,5 @@
public final class Outer<E, F> : R|kotlin/Any| {
public final fun bar(x: R|test/Outer.Inner2<kotlin/String, kotlin/Double>|, y: R|test/Outer.Inner2<E, F>|): R|kotlin/Unit|
public constructor<E, F>(): R|test/Outer<E, F>|
public final inner class Inner<G, H, E, F> : R|kotlin/Any| {
public constructor<G, H>(): R|test/Outer.Inner<G, H, E, F>|
public final inner class Inner3<I, G, H, E, F> : R|kotlin/Any| {
public final fun foo(x: R|test/Outer.Inner<G, kotlin/Int, kotlin/String, F>|, y: R|test/Outer.Inner<E, kotlin/Double, E, F>|, z: R|test/Outer.Inner.Inner3<kotlin/Double, G, kotlin/Int, kotlin/String, F>|, w: R|test/Outer.Inner.Inner3<*, G, H, E, F>|): R|kotlin/Unit|
@@ -13,6 +7,8 @@ public final class Outer<E, F> : R|kotlin/Any| {
}
public constructor<G, H>(): R|test/Outer.Inner<G, H, E, F>|
}
public final inner class Inner2<E, F> : R|kotlin/Any| {
@@ -20,5 +16,9 @@ public final class Outer<E, F> : R|kotlin/Any| {
}
public final fun bar(x: R|test/Outer.Inner2<kotlin/String, kotlin/Double>|, y: R|test/Outer.Inner2<E, F>|): R|kotlin/Unit|
public constructor<E, F>(): R|test/Outer<E, F>|
}
@@ -1,6 +1,4 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public final object Obj : R|kotlin/Any| {
public final fun f(): R|kotlin/String|
@@ -11,4 +9,6 @@ public final class Outer : R|kotlin/Any| {
}
public constructor(): R|test/Outer|
}
@@ -1,9 +1,5 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public final companion object Companion : R|kotlin/Any| {
private constructor(): R|test/Outer.Companion|
public final object Obj : R|kotlin/Any| {
public final fun f(): R|kotlin/String|
@@ -14,6 +10,10 @@ public final class Outer : R|kotlin/Any| {
}
private constructor(): R|test/Outer.Companion|
}
public constructor(): R|test/Outer|
}
@@ -1,6 +1,4 @@
public final object Outer : R|kotlin/Any| {
private constructor(): R|test/Outer|
public final object Obj : R|kotlin/Any| {
public final fun f(): R|kotlin/String|
@@ -11,4 +9,6 @@ public final object Outer : R|kotlin/Any| {
}
private constructor(): R|test/Outer|
}
@@ -1,9 +1,9 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public final class Nested : R|kotlin/Any| {
public constructor(): R|test/Outer.Nested|
}
public constructor(): R|test/Outer|
}
@@ -1,6 +1,4 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public open class Nested1 : R|kotlin/Any| {
public constructor(): R|test/Outer.Nested1|
@@ -11,4 +9,6 @@ public final class Outer : R|kotlin/Any| {
}
public constructor(): R|test/Outer|
}
@@ -1,9 +1,9 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
public final class Nested<T> : R|kotlin/Any| {
public constructor<T>(): R|test/Outer.Nested<T>|
}
public constructor(): R|test/Outer|
}
@@ -9,12 +9,12 @@ public final class Inheritor3 : R|test/SealedClass| {
}
public sealed class SealedClass : R|kotlin/Any| {
private constructor(): R|test/SealedClass|
public final class Inheritor1 : R|test/SealedClass| {
public constructor(): R|test/SealedClass.Inheritor1|
}
private constructor(): R|test/SealedClass|
}