Files
kotlin-fork/libraries/tools/kotlinp/testData/ValueClass.txt
T
Alexander Udalov 6807ed6642 Do not write version requirements for suspend functions
Coroutines are a stable feature since 1.3. Version requirement on
suspend functions, or functions mentioning suspend function types in the
signature, was needed to prevent older compilers from reading metadata
that they can't properly use. It's not needed anymore because a newer
metadata version prevents older compilers from reading any metadata
altogether.

Also, computing isSuspendOrHasSuspendTypesInSignature took ~0.5% of
backend time on compilation of intellij (related to KT-48233).
2021-12-15 22:27:51 +01:00

90 lines
3.0 KiB
Plaintext
Vendored

// A.class
// ------------------------------------------
// requires language version 1.3.0 (level=ERROR)
public final value class A : kotlin/Any {
// requires language version 1.3.0 (level=ERROR)
// signature: constructor-impl(Ljava/lang/Integer;)Ljava/lang/Integer;
public constructor(i: kotlin/Int?)
// signature: equals-impl(Ljava/lang/Integer;Ljava/lang/Object;)Z
public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
// signature: hashCode-impl(Ljava/lang/Integer;)I
public open /* synthesized */ fun hashCode(): kotlin/Int
// signature: toString-impl(Ljava/lang/Integer;)Ljava/lang/String;
public open /* synthesized */ fun toString(): kotlin/String
// field: i:Ljava/lang/Integer;
private final val i: kotlin/Int?
private final get
// underlying property: i
// underlying type: kotlin/Int?
// module name: test-module
}
// B.class
// ------------------------------------------
// requires language version 1.3.0 (level=ERROR)
public final value class B : kotlin/Any {
// requires language version 1.3.0 (level=ERROR)
// signature: constructor-impl(Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
public constructor(f: suspend kotlin/Function1<kotlin/coroutines/Continuation<kotlin/Unit>, kotlin/Any?>)
// signature: equals-impl(Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Z
public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
// signature: hashCode-impl(Lkotlin/jvm/functions/Function1;)I
public open /* synthesized */ fun hashCode(): kotlin/Int
// signature: toString-impl(Lkotlin/jvm/functions/Function1;)Ljava/lang/String;
public open /* synthesized */ fun toString(): kotlin/String
// field: f:Lkotlin/jvm/functions/Function1;
private final val f: suspend kotlin/Function1<kotlin/coroutines/Continuation<kotlin/Unit>, kotlin/Any?>
private final get
// underlying property: f
// underlying type: suspend kotlin/Function1<kotlin/coroutines/Continuation<kotlin/Unit>, kotlin/Any?>
// module name: test-module
}
// Z.class
// ------------------------------------------
// requires language version 1.3.0 (level=ERROR)
public final value class Z : kotlin/Any {
// requires language version 1.3.0 (level=ERROR)
// signature: constructor-impl(Ljava/lang/String;)Ljava/lang/String;
public constructor(s: kotlin/String)
// signature: equals-impl(Ljava/lang/String;Ljava/lang/Object;)Z
public open /* synthesized */ operator fun equals(other: kotlin/Any?): kotlin/Boolean
// signature: hashCode-impl(Ljava/lang/String;)I
public open /* synthesized */ fun hashCode(): kotlin/Int
// signature: toString-impl(Ljava/lang/String;)Ljava/lang/String;
public open /* synthesized */ fun toString(): kotlin/String
// field: s:Ljava/lang/String;
// getter: getS()Ljava/lang/String;
public final val s: kotlin/String
public final get
// underlying property: s
// underlying type: kotlin/String
// module name: test-module
}
// META-INF/test-module.kotlin_module
// ------------------------------------------
module {
}