[FIR Test] Migrate AbstractFirLoadCompiledKotlin to new test infrastructure

Also introduce two different modes for those tests:
- load metadata compiled with K1
- load metadata compiled with K2
This commit is contained in:
Dmitriy Novozhilov
2023-04-17 11:54:59 +03:00
committed by Space Team
parent 63829876b7
commit 6287968511
253 changed files with 9801 additions and 3015 deletions
@@ -1,21 +1,21 @@
@R|test/OptionGroups|(o1 = @R|test/StringOptions|(option = <implicitArrayOf>(String(abc), String(d), String(ef))) , o2 = @R|test/EnumOption|(option = R|test/E.ENTRY|()) ) public final class AnnotationInAnnotationArguments : R|kotlin/Any| {
@R|test/OptionGroups|(o1 = @R|test/StringOptions|(option = <implicitArrayOf>(String(abc), String(d), String(ef))) , o2 = @R|test/EnumOption|(option = R|test/E.ENTRY|) ) public final class AnnotationInAnnotationArguments : R|kotlin/Any| {
public constructor(): R|test/AnnotationInAnnotationArguments|
}
public final enum class E : R|kotlin/Enum<test/E>| {
public final static fun valueOf(value: R|kotlin/String|): R|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 values(): R|kotlin/Array<test/E>| {
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/E>|
public get(): R|kotlin/enums/EnumEntries<test/E>|
private constructor(): R|test/E|
public final static enum entry ENTRY: R|test/E|
}
public final annotation class EnumOption : R|kotlin/Annotation| {
@@ -44,4 +44,3 @@ public final annotation class StringOptions : R|kotlin/Annotation| {
public constructor(vararg option: R|kotlin/Array<out kotlin/String>|): R|test/StringOptions|
}
@@ -0,0 +1,10 @@
@PROPERTY:R|test/Anno|(value = String(OK)) public final const val constant: R|kotlin/String| = String(OK)
public get(): R|kotlin/String|
public final annotation class Anno : R|kotlin/Annotation| {
public final val value: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(value: R|kotlin/String|): R|test/Anno|
}
@@ -1,3 +1,6 @@
// IGNORE_FIR_METADATA_LOADING_K2
// Ignore reason: KT-58080
@file:JvmMultifileClass
@file:JvmName("Test")
package test
@@ -1,16 +1,16 @@
public final enum class E : R|kotlin/Enum<test/E>| {
public final static fun valueOf(value: R|kotlin/String|): R|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 values(): R|kotlin/Array<test/E>| {
public final static fun valueOf(value: R|kotlin/String|): R|test/E| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/E>|
public get(): R|kotlin/enums/EnumEntries<test/E>|
private constructor(): R|test/E|
public final static enum entry CAKE: R|test/E|
}
public final annotation class EnumAnno : R|kotlin/Annotation| {
@@ -22,7 +22,7 @@ public final annotation class EnumAnno : R|kotlin/Annotation| {
}
public final class EnumArgumentWithCustomToString : R|kotlin/Any| {
@R|test/EnumAnno|(value = R|test/E.CAKE|()) @R|test/EnumArrayAnno|(value = <implicitArrayOf>(R|test/E.CAKE|(), R|test/E.CAKE|())) public final fun annotated(): R|kotlin/Unit|
@R|test/EnumAnno|(value = R|test/E.CAKE|) @R|test/EnumArrayAnno|(value = <implicitArrayOf>(R|test/E.CAKE|, R|test/E.CAKE|)) public final fun annotated(): R|kotlin/Unit|
public constructor(): R|test/EnumArgumentWithCustomToString|
@@ -35,4 +35,3 @@ public final annotation class EnumArrayAnno : R|kotlin/Annotation| {
public constructor(vararg value: R|kotlin/Array<out test/E>|): R|test/EnumArrayAnno|
}
@@ -0,0 +1,13 @@
public abstract interface I : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
@FIELD:R|kotlin/jvm/JvmField|() public final val x: R|kotlin/String|
public get(): R|kotlin/String|
@FIELD:R|kotlin/jvm/JvmField|() public final val y: R|kotlin/String|
public get(): R|kotlin/String|
private constructor(): R|test/I.Companion|
}
}
@@ -0,0 +1,39 @@
public final const val ubyteConst: R|kotlin/UByte| = Byte(10)
public get(): R|kotlin/UByte|
public final const val uintConst: R|kotlin/UInt| = Int(30)
public get(): R|kotlin/UInt|
public final const val ulongConst: R|kotlin/ULong| = Long(40)
public get(): R|kotlin/ULong|
public final const val ushortConst: R|kotlin/UShort| = Short(20)
public get(): R|kotlin/UShort|
public final class A : R|kotlin/Any| {
public final fun <@R|test/Ann|(ubyte = UByte(-1), ushort = UShort(-1), uint = UInt(-1), ulong = ULong(-1)) T> typeParam(): R|kotlin/Unit|
public final fun unsigned(s: R|@R|test/Ann|(ubyte = UByte(1), ushort = UShort(2), uint = UInt(3), ulong = ULong(4)) kotlin/String|): R|kotlin/Unit|
public final fun unsignedConsts(s: R|@R|test/Ann|(ubyte = UByte(10), ushort = UShort(20), uint = UInt(30), ulong = ULong(40)) kotlin/String|): R|kotlin/Unit|
public constructor(): R|test/A|
}
@R|kotlin/annotation/Target|(allowedTargets = <implicitArrayOf>(R|kotlin/annotation/AnnotationTarget.TYPE|, R|kotlin/annotation/AnnotationTarget.TYPE_PARAMETER|)) public final annotation class Ann : R|kotlin/Annotation| {
public final val ubyte: R|kotlin/UByte|
public get(): R|kotlin/UByte|
public final val uint: R|kotlin/UInt|
public get(): R|kotlin/UInt|
public final val ulong: R|kotlin/ULong|
public get(): R|kotlin/ULong|
public final val ushort: R|kotlin/UShort|
public get(): R|kotlin/UShort|
public constructor(ubyte: R|kotlin/UByte|, ushort: R|kotlin/UShort|, uint: R|kotlin/UInt|, ulong: R|kotlin/ULong|): R|test/Ann|
}
@@ -15,20 +15,19 @@ 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>| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/Eee>|
public get(): R|kotlin/enums/EnumEntries<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| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/Eee>|
public get(): R|kotlin/enums/EnumEntries<test/Eee>|
}
@@ -9,15 +9,6 @@ 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 static val entries: R|kotlin/enums/EnumEntries<test/E>|
public get(): R|kotlin/enums/EnumEntries<test/E>|
public final val x: R|kotlin/String|
public get(): R|kotlin/String|
@@ -26,5 +17,13 @@ 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| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/E>|
public get(): R|kotlin/enums/EnumEntries<test/E>|
}
@@ -1,14 +1,13 @@
public final enum class EnumWithGenericConstructorParameter : R|kotlin/Enum<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|
public final static fun values(): R|kotlin/Array<test/EnumWithGenericConstructorParameter>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/EnumWithGenericConstructorParameter| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/EnumWithGenericConstructorParameter>|
public get(): R|kotlin/enums/EnumEntries<test/EnumWithGenericConstructorParameter>|
private constructor(list: R|kotlin/collections/List<kotlin/String>?|): R|test/EnumWithGenericConstructorParameter|
}
@@ -1,14 +1,13 @@
public final enum class EnumWithPrimitiveConstructorParameter : R|kotlin/Enum<test/EnumWithPrimitiveConstructorParameter>| {
public final static fun valueOf(value: R|kotlin/String|): R|test/EnumWithPrimitiveConstructorParameter| {
}
private constructor(b: R|kotlin/Boolean|): 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| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/EnumWithPrimitiveConstructorParameter>|
public get(): R|kotlin/enums/EnumEntries<test/EnumWithPrimitiveConstructorParameter>|
private constructor(b: R|kotlin/Boolean|): R|test/EnumWithPrimitiveConstructorParameter|
}
@@ -1,37 +0,0 @@
public final class Test : R|kotlin/Any| {
public constructor(): R|test/Test|
public final companion object Companion : R|kotlin/Any| {
public final fun incProp4(): R|kotlin/Unit|
public final const val constProp8: R|kotlin/Int| = Int(80)
public get(): R|kotlin/Int|
public final val prop1: R|kotlin/Int|
public get(): R|kotlin/Int|
public final var prop2: R|kotlin/Int|
public get(): R|kotlin/Int|
protected set(<set-?>: R|kotlin/Int|): R|kotlin/Unit|
public final val prop3: R|kotlin/Int|
public get(): R|kotlin/Int|
public final var prop4: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
public final var prop5: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
public final var prop7: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(i: R|kotlin/Int|): R|kotlin/Unit|
private constructor(): R|test/Test.Companion|
}
}
@@ -1,34 +0,0 @@
public abstract interface Test : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public final fun incProp4(): R|kotlin/Unit|
public final const val constProp8: R|kotlin/Int| = Int(80)
public get(): R|kotlin/Int|
public final val prop1: R|kotlin/Int|
public get(): R|kotlin/Int|
public final var prop2: R|kotlin/Int|
public get(): R|kotlin/Int|
protected set(<set-?>: R|kotlin/Int|): R|kotlin/Unit|
public final val prop3: R|kotlin/Int|
public get(): R|kotlin/Int|
public final var prop4: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
public final var prop5: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(value: R|kotlin/Int|): R|kotlin/Unit|
public final var prop7: R|kotlin/Int|
public get(): R|kotlin/Int|
public set(i: R|kotlin/Int|): R|kotlin/Unit|
private constructor(): R|test/Test.Companion|
}
}
@@ -0,0 +1,19 @@
public final inline fun callsEffectExplicitUnknown(x: R|kotlin/Int|, block: R|() -> kotlin/Unit|): R|kotlin/Unit|
[R|Contract description]
<
CallsInPlace(block, UNKNOWN)
>
public final inline fun callsEffectImplicitUnknown(x: R|kotlin/Int|, y: R|kotlin/Int|, block: R|() -> kotlin/Unit|): R|kotlin/Unit|
[R|Contract description]
<
CallsInPlace(block, UNKNOWN)
>
public final fun <X, Y, Z, R> callsEffectWithKind(block: R|(X, Y, Z) -> R|): R|kotlin/Unit|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
@@ -0,0 +1,12 @@
public final inline fun <reified T, reified U> cast(value: R|kotlin/Any?|, z: R|U|): R|T|
[R|Contract description]
<
Returns(WILDCARD) -> value is T
>
public final inline fun <reified T> requireIsInstance(value: R|kotlin/Any?|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> value is T
>
@@ -0,0 +1,18 @@
public final class Foo : R|kotlin/Any| {
public final fun <X, Y, Z, R> callsEffectWithKind(block: R|(X, Y, Z) -> R|): R|kotlin/Unit|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
public final fun returnsImplies(x: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> x
>
public constructor(): R|test/Foo|
}
@@ -0,0 +1,11 @@
public final fun deeplyNested(x: R|kotlin/Any?|, y: R|kotlin/Any?|, b: R|kotlin/Boolean|, s: R|kotlin/String?|): R|kotlin/Unit|
[R|Contract description]
<
Returns(TRUE) -> x is kotlin/Int && x is kotlin/String || x is kotlin/Int && y is test/A || b || (!b) && s != null && y is test/A || x is kotlin/String
>
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
}
@@ -0,0 +1,26 @@
public final fun embedInstancePredicate(x: R|kotlin/Any|, y: R|kotlin/Any?|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> x is kotlin/String && y is kotlin/String
>
public final fun embedNullCheckPredicate(x: R|kotlin/Any?|, y: R|kotlin/Int?|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> y != null && x is kotlin/String
>
public final fun R|kotlin/Boolean|.embedReceiverReference(b: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> (!this) && b
>
public final fun embedVariable(x: R|kotlin/Any|, b: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> b && x is kotlin/String
>
@@ -0,0 +1,54 @@
public final inline fun <T> R|T|.also(block: R|(T) -> kotlin/Unit|): R|T|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
public final inline fun <T> R|T|.apply(block: R|T.() -> kotlin/Unit|): R|T|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
public final inline fun <T, R> R|T|.let(block: R|(T) -> R|): R|R|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
public final inline fun repeat(times: R|kotlin/Int|, action: R|(kotlin/Int) -> kotlin/Unit|): R|kotlin/Unit|
[R|Contract description]
<
CallsInPlace(action, UNKNOWN)
>
public final inline fun <R> run(block: R|() -> R|): R|R|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
public final inline fun <T, R> R|T|.run(block: R|T.() -> R|): R|R|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
public final inline fun <T> R|T|.takeIf(predicate: R|(T) -> kotlin/Boolean|): R|T?|
[R|Contract description]
<
CallsInPlace(predicate, EXACTLY_ONCE)
>
public final inline fun <T, R> with(receiver: R|T|, block: R|T.() -> R|): R|R|
[R|Contract description]
<
CallsInPlace(block, EXACTLY_ONCE)
>
@@ -0,0 +1,18 @@
public final fun R|kotlin/Any?|.receiverIsInstance(): R|kotlin/Unit|
[R|Contract description]
<
Returns(TRUE) -> this is test/A
>
public final fun simpleIsInstace(x: R|kotlin/Any?|): R|kotlin/Unit|
[R|Contract description]
<
Returns(TRUE) -> x is test/A
>
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
}
@@ -0,0 +1,23 @@
public final fun andSequence(x: R|kotlin/Any?|, y: R|kotlin/Any?|, b: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> x is test/A && x is test/B && y is test/A && b
>
public final fun orSequence(x: R|kotlin/Any?|, y: R|kotlin/Any?|, b: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(WILDCARD) -> x is kotlin/String || y is kotlin/Int || (!b)
>
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
}
public final class B : R|kotlin/Any| {
public constructor(): R|test/B|
}
@@ -0,0 +1,41 @@
public final fun returnsAndCalls(b: R|kotlin/Boolean|, block: R|() -> kotlin/Unit|): R|kotlin/Unit|
[R|Contract description]
<
Returns(FALSE) -> !b
CallsInPlace(block, UNKNOWN)
Returns(TRUE) -> b
>
public final fun returnsAndFinished(b: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(TRUE) -> b
Returns(WILDCARD) -> b != null
Returns(FALSE) -> !b
>
public final fun severalCalls(x: R|() -> kotlin/Unit|, y: R|() -> kotlin/Unit|): R|kotlin/Unit|
[R|Contract description]
<
CallsInPlace(x, AT_MOST_ONCE)
CallsInPlace(y, AT_LEAST_ONCE)
>
public final fun threeReturnsValue(b: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(NOT_NULL) -> b != null
Returns(TRUE) -> b
Returns(FALSE) -> !b
>
public final fun twoReturnsValue(b: R|kotlin/Boolean|): R|kotlin/Unit|
[R|Contract description]
<
Returns(TRUE) -> b
Returns(FALSE) -> !b
>
@@ -0,0 +1,12 @@
public final fun bar(x: R|kotlin/Any?|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(WILDCARD) -> x is kotlin/Int
>
public final fun foo(x: R|kotlin/Any?|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(WILDCARD) -> x is kotlin/String
>
@@ -0,0 +1,5 @@
public final fun foo(n: R|kotlin/Int|, x: R|kotlin/Any?|): R|kotlin/Boolean|
[R|Contract description]
<
Returns(TRUE) -> x is kotlin/String
>
@@ -0,0 +1,5 @@
public final fun R|kotlin/Any?|.isNotNull(): R|kotlin/Boolean|
[R|Contract description]
<
Returns(TRUE) -> this != null
>
@@ -0,0 +1,9 @@
@R|test/Anno|(t = String(foo)) public final suspend fun foo(): R|kotlin/Unit|
public final annotation class Anno : R|kotlin/Annotation| {
public final val t: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(t: R|kotlin/String|): R|test/Anno|
}
@@ -0,0 +1,44 @@
internal final enum class In : R|kotlin/Enum<test/In>| {
private constructor(): R|test/In|
public final static enum entry A: R|test/In|
public final static fun values(): R|kotlin/Array<test/In>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/In| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/In>|
public get(): R|kotlin/enums/EnumEntries<test/In>|
}
private final enum class Pr : R|kotlin/Enum<test/Pr>| {
private constructor(): R|test/Pr|
public final static enum entry A: R|test/Pr|
public final static fun values(): R|kotlin/Array<test/Pr>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/Pr| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/Pr>|
public get(): R|kotlin/enums/EnumEntries<test/Pr>|
}
public final enum class Pu : R|kotlin/Enum<test/Pu>| {
private constructor(): R|test/Pu|
public final static enum entry A: R|test/Pu|
public final static fun values(): R|kotlin/Array<test/Pu>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/Pu| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/Pu>|
public get(): R|kotlin/enums/EnumEntries<test/Pu>|
}
@@ -0,0 +1,22 @@
public final enum class En : R|kotlin/Enum<test/En>| {
public final val b: R|kotlin/Boolean|
public get(): R|kotlin/Boolean|
public final val i: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(b: R|kotlin/Boolean| = STUB, i: R|kotlin/Int| = STUB): R|test/En|
public final static enum entry E1: R|test/En|
public final static enum entry E2: R|test/En|
public final static enum entry E3: R|test/En|
public final static fun values(): R|kotlin/Array<test/En>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/En| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/En>|
public get(): R|kotlin/enums/EnumEntries<test/En>|
}
@@ -0,0 +1,33 @@
public final enum class Enum : R|kotlin/Enum<test/Enum>| {
public final fun f(): R|kotlin/Int|
public final val c: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|test/Enum|
public final inner class Inner : R|kotlin/Any| {
public test/Enum.constructor(): R|test/Enum.Inner|
}
public final class Nested : R|kotlin/Any| {
public constructor(): R|test/Enum.Nested|
}
public abstract interface Trait : R|kotlin/Any| {
}
public final static enum entry ENTRY1: R|test/Enum|
public final static enum entry ENTRY2: R|test/Enum|
public final static fun values(): R|kotlin/Array<test/Enum>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/Enum| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/Enum>|
public get(): R|kotlin/enums/EnumEntries<test/Enum>|
}
@@ -0,0 +1,19 @@
public final class A : R|kotlin/Any| {
public constructor(): R|test/A|
public final enum class E : R|kotlin/Enum<test/A.E>| {
private constructor(): R|test/A.E|
public final static enum entry ENTRY: R|test/A.E|
public final static fun values(): R|kotlin/Array<test/A.E>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/A.E| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/A.E>|
public get(): R|kotlin/enums/EnumEntries<test/A.E>|
}
}
@@ -0,0 +1,24 @@
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 enum class E : R|kotlin/Enum<test/A.E>| {
private constructor(): R|test/A.E|
public final static enum entry ENTRY: R|test/A.E|
public final static fun values(): R|kotlin/Array<test/A.E>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/A.E| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/A.E>|
public get(): R|kotlin/enums/EnumEntries<test/A.E>|
}
}
@@ -0,0 +1,14 @@
public final enum class MyEnum : R|kotlin/Enum<test/MyEnum>| {
private constructor(): R|test/MyEnum|
public final static enum entry ENTRY: R|test/MyEnum|
public final static fun values(): R|kotlin/Array<test/MyEnum>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/MyEnum| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/MyEnum>|
public get(): R|kotlin/enums/EnumEntries<test/MyEnum>|
}
@@ -0,0 +1,15 @@
public final enum class Test : R|kotlin/Enum<test/Test>| {
private constructor(a: R|kotlin/Int|): R|test/Test|
public final static enum entry A: R|test/Test|
public final static enum entry B: R|test/Test|
public final static fun values(): R|kotlin/Array<test/Test>| {
}
public final static fun valueOf(value: R|kotlin/String|): R|test/Test| {
}
public final static val entries: R|kotlin/enums/EnumEntries<test/Test>|
public get(): R|kotlin/enums/EnumEntries<test/Test>|
}
@@ -1,4 +0,0 @@
public final fun f(vararg t: R|kotlin/Array<out kotlin/String>|, f: R|() -> kotlin/Unit|): R|kotlin/Unit|
public final fun f(vararg t: R|kotlin/IntArray|, f: R|() -> kotlin/Unit|): R|kotlin/Unit|
@@ -1,7 +0,0 @@
public final inline fun a(): R|kotlin/Unit|
public final inline fun b(): R|kotlin/Unit|
public final inline fun c(crossinline f: R|() -> kotlin/Unit|): R|kotlin/Unit|
public final inline fun d(): R|kotlin/Unit|
@@ -0,0 +1,21 @@
public final enum class E : R|kotlin/Enum<test/E>| {
private constructor(): R|test/E|
public final static enum entry ONE: R|test/E|
public final static enum entry TWO: R|test/E|
public final static enum entry THREE: R|test/E|
public final static enum entry FOUR: R|test/E|
public final static enum entry FIVE: R|test/E|
public final static enum entry SIX: R|test/E|
public final static enum entry SEVEN: R|test/E|
public final static enum entry EIGHT: 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 val entries: R|kotlin/enums/EnumEntries<test/E>|
public get(): R|kotlin/enums/EnumEntries<test/E>|
}
@@ -0,0 +1,10 @@
public abstract interface LoadIterable<T> : R|kotlin/Any| {
public abstract fun getIterable(): R|kotlin/collections/MutableIterable<T>?|
public abstract fun getReadOnlyIterable(): R|kotlin/collections/Iterable<T>?|
public abstract fun setIterable(p0: R|kotlin/collections/MutableIterable<T>?|): R|kotlin/Unit|
public abstract fun setReadOnlyIterable(p0: R|kotlin/collections/Iterable<T>?|): R|kotlin/Unit|
}
@@ -0,0 +1,6 @@
public abstract interface LoadIterableWithConflict<T> : R|kotlin/Any| {
public abstract fun getIterable(): R|kotlin/collections/MutableIterable<T>?|
public abstract fun setIterable(p0: R|kotlin/collections/MutableIterable<T>?|): R|kotlin/Unit|
}
@@ -0,0 +1,10 @@
public abstract interface LoadIterableWithNullability<T> : R|kotlin/Any| {
public abstract fun getIterable(): R|kotlin/collections/MutableIterable<T>|
public abstract fun getReadOnlyIterable(): R|kotlin/collections/Iterable<T>|
public abstract fun setIterable(p0: R|kotlin/collections/MutableIterable<T>|): R|kotlin/Unit|
public abstract fun setReadOnlyIterable(p0: R|kotlin/collections/Iterable<T>|): R|kotlin/Unit|
}
@@ -0,0 +1,26 @@
public abstract interface LoadIterableWithPropagation : R|kotlin/Any| {
public abstract interface LoadIterable<T> : R|kotlin/Any| {
public abstract fun getIterable(): R|kotlin/collections/MutableIterable<T>?|
public abstract fun getReadOnlyIterable(): R|kotlin/collections/Iterable<T>?|
public abstract fun setIterable(p0: R|kotlin/collections/MutableIterable<T>?|): R|kotlin/Unit|
public abstract fun setReadOnlyIterable(p0: R|kotlin/collections/Iterable<T>?|): R|kotlin/Unit|
}
public open class LoadIterableImpl<T> : R|test/LoadIterableWithPropagation.LoadIterable<T>| {
public open fun getIterable(): R|kotlin/collections/MutableIterable<T>?|
public open fun getReadOnlyIterable(): R|kotlin/collections/Iterable<T>?|
public open fun setIterable(p0: R|kotlin/collections/MutableIterable<T>?|): R|kotlin/Unit|
public open fun setReadOnlyIterable(p0: R|kotlin/collections/Iterable<T>?|): R|kotlin/Unit|
public constructor<T>(): R|test/LoadIterableWithPropagation.LoadIterableImpl<T>|
}
}
@@ -1,24 +0,0 @@
public final class A<TA> : R|kotlin/Any| {
public constructor<TA>(): R|test/A<TA>|
public final inner class B<TB, TA> : R|kotlin/Any| {
public test/A<TA>.constructor<TB>(): R|test/A.B<TB, TA>|
public final inner class C<TC, TB, TA> : R|kotlin/Any| {
public test/A.B<TB, TA>.constructor<TC>(): R|test/A.B.C<TC, TB, TA>|
public final inner class D<TD, TC, TB, TA> : R|kotlin/Any| {
public final fun bar(ta: R|TA|, tb: R|TB|, tc: R|TC|, td: R|TD|): R|test/A.B.C.D<TD, TC, TB, TA>|
public final fun <P1, P2, P3, P4> foo(p1: R|P1|, p2: R|P2|, p3: R|P3|, p4: R|P4|): R|kotlin/Nothing|
public test/A.B.C<TC, TB, TA>.constructor<TD>(): R|test/A.B.C.D<TD, TC, TB, TA>|
}
}
}
}
@@ -1,10 +0,0 @@
public final class InnerClassReferencesOuterTP<P> : R|kotlin/Any| {
public constructor<P>(): R|test/InnerClassReferencesOuterTP<P>|
public final inner class Inner<Q : R|P|, P> : R|kotlin/Any| {
public test/InnerClassReferencesOuterTP<P>.constructor<Q : R|P|>(): R|test/InnerClassReferencesOuterTP.Inner<Q, P>|
}
}
@@ -1,20 +0,0 @@
public final class MembersReferenceOuterTP<P> : R|kotlin/Any| {
public constructor<P>(): R|test/MembersReferenceOuterTP<P>|
public final inner class Inner<P> : R|kotlin/Any| {
public final fun <Q : R|P|> f(): R|kotlin/Unit|
public final fun g(p: R|P|): R|P|
public final val v: R|P|
public get(): R|P|
public final val <Q : R|P|> R|Q|.w: R|Q|
public get(): R|Q|
public test/MembersReferenceOuterTP<P>.constructor(): R|test/MembersReferenceOuterTP.Inner<P>|
}
}
@@ -0,0 +1,13 @@
@R|test/A|(s = String(1)) @R|kotlin/jvm/JvmName|(name = String(bar)) public final fun foo(): R|kotlin/String|
@FIELD:R|test/A|(s = String(2)) public final var v: R|kotlin/Int|
@R|test/A|(s = String(3)) @R|kotlin/jvm/JvmName|(name = String(vget)) public get(): R|kotlin/Int|
@R|test/A|(s = String(4)) @R|kotlin/jvm/JvmName|(name = String(vset)) public set(<set-?>: R|kotlin/Int|): R|kotlin/Unit|
public final annotation class A : R|kotlin/Annotation| {
public final val s: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(s: R|kotlin/String|): R|test/A|
}
@@ -0,0 +1,13 @@
@R|test/A|(s = String(1)) @R|kotlin/jvm/JvmName|(name = String(bar)) public final fun foo(): R|kotlin/String|
@FIELD:R|test/A|(s = String(2)) public final var v: R|kotlin/Int|
@R|test/A|(s = String(3)) @R|kotlin/jvm/JvmName|(name = String(vget)) public get(): R|kotlin/Int|
@R|test/A|(s = String(4)) @R|kotlin/jvm/JvmName|(name = String(vset)) public set(value: R|kotlin/Int|): R|kotlin/Unit|
public final annotation class A : R|kotlin/Annotation| {
public final val s: R|kotlin/String|
public get(): R|kotlin/String|
public constructor(s: R|kotlin/String|): R|test/A|
}
@@ -1,4 +0,0 @@
public final class C : R|java/util/ArrayList<kotlin/String>| {
public constructor(): R|test/C|
}
@@ -1,4 +0,0 @@
public final class C : R|java/util/ArrayList<kotlin/String?>| {
public constructor(): R|test/C|
}
@@ -1,30 +0,0 @@
public final val nonConstVal1: R|kotlin/Int| = Int(1)
public get(): R|kotlin/Int|
public final class C : R|kotlin/Any| {
public final val nonConstVal2: R|kotlin/Int| = Int(2)
public get(): R|kotlin/Int|
public constructor(): R|test/C|
public final companion object Companion : R|kotlin/Any| {
public final val nonConstVal3: R|kotlin/Int| = Int(3)
public get(): R|kotlin/Int|
private constructor(): R|test/C.Companion|
}
}
public abstract interface I : R|kotlin/Any| {
public final companion object Companion : R|kotlin/Any| {
public final val nonConstVal4: R|kotlin/Int|
public get(): R|kotlin/Int|
private constructor(): R|test/I.Companion|
}
}
@@ -1 +0,0 @@
public final fun integer(): R|java/lang/Integer|
@@ -1 +0,0 @@
public final fun integerq(): R|java/lang/Integer?|
@@ -1 +0,0 @@
public final fun number(): R|java/lang/Number|
@@ -1 +0,0 @@
public final fun obj(): R|java/lang/Object|
@@ -1 +0,0 @@
public final fun objq(): R|java/lang/Object?|
@@ -1 +0,0 @@
public final fun fff(): R|java/lang/String|
@@ -1 +0,0 @@
public final fun fff(): R|java/lang/String?|
@@ -1,6 +0,0 @@
public final fun array(a: R|kotlin/Array<kotlin/Int>|): R|ft<kotlin/Array<kotlin/Int!>, kotlin/Array<out kotlin/Int!>?>|
public final fun list(): R|ft<kotlin/collections/MutableList<kotlin/String!>, kotlin/collections/List<kotlin/String!>?>|
public final fun printStream(): R|java/io/PrintStream!|