Files
kotlin-fork/compiler/testData/ir/irText/declarations/kt52677.kt.txt
T
2024-02-16 10:19:38 +00:00

88 lines
1.8 KiB
Kotlin
Vendored

@Target(allowedTargets = [AnnotationTarget.TYPE])
open annotation class MySerializable : Annotation {
val c: KClass<*>
field = c
get
constructor(c: KClass<*>) /* primary */ {
super/*Any*/()
/* <init>() */
}
}
data class LoginSuccessPacket {
val id: @MySerializable(c = UuidSerializer::class) Uuid1
field = id
get
constructor(id: @MySerializable(c = UuidSerializer::class) Uuid1) /* primary */ {
super/*Any*/()
/* <init>() */
}
operator fun component1(): @MySerializable(c = UuidSerializer::class) Uuid1 {
return <this>.#id
}
fun copy(id: @MySerializable(c = UuidSerializer::class) Uuid1 = <this>.#id): LoginSuccessPacket {
return LoginSuccessPacket(id = id)
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is LoginSuccessPacket -> return false
}
val tmp_0: LoginSuccessPacket = other as LoginSuccessPacket
when {
EQEQ(arg0 = <this>.#id, arg1 = tmp_0.#id).not() -> return false
}
return true
}
override fun hashCode(): Int {
return <this>.#id.hashCode()
}
override fun toString(): String {
return "LoginSuccessPacket(" + "id=" + <this>.#id + ")"
}
}
class Uuid1 {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
interface MySerializer<T : Any?> {
}
object UuidSerializer : MySerializer<@MySerializable(c = UuidSerializer::class) Uuid1> {
private constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
fun bar(): @MySerializable(c = UuidSerializer::class) Uuid1 {
return foo()
}
fun foo(): @MySerializable(c = UuidSerializer::class) Uuid1 {
throw RuntimeException()
}
typealias Uuid = @MySerializable(c = UuidSerializer::class) Uuid1