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

104 lines
1.7 KiB
Kotlin
Vendored

open class BaseClass {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
val <T : Any?> T.fromClass: T
get(): T {
return <this>
}
}
interface I<G : Any?> {
fun <T : Any?> T.fromInterface(): T {
return <this>
}
fun genericFromSuper(g: G): G {
return g
}
}
object C : BaseClass, I<String> {
var p: Int
field = 4
get
set
private constructor() /* primary */ {
super/*BaseClass*/()
/* <init>() */
}
fun Boolean.f(): Int {
return 3
}
fun f(s: Int): Int {
return 1
}
fun f(s: String): Int {
return 2
}
fun <T : Any?> g1(t: T): T {
return t
}
val Int.ext: Int
get(): Int {
return 6
}
val <T : Any?> T.g2: T
get(): T {
return <this>
}
}
fun box(): String {
when {
EQEQ(arg0 = C.f(s = 1), arg1 = 1).not() -> return "1"
}
when {
EQEQ(arg0 = C.f(s = "s"), arg1 = 2).not() -> return "2"
}
when {
EQEQ(arg0 = (C, true).f(), arg1 = 3).not() -> return "3"
}
when {
EQEQ(arg0 = C.<get-p>(), arg1 = 4).not() -> return "4"
}
C.<set-p>(<set-?> = 5)
when {
EQEQ(arg0 = C.<get-p>(), arg1 = 5).not() -> return "5"
}
when {
EQEQ(arg0 = (C, 5).<get-ext>(), arg1 = 6).not() -> return "6"
}
when {
EQEQ(arg0 = C.g1<String>(t = "7"), arg1 = "7").not() -> return "7"
}
when {
EQEQ(arg0 = (C, "8").<get-g2><String>(), arg1 = "8").not() -> return "8"
}
when {
EQEQ(arg0 = (C, 9).fromInterface<Int>(), arg1 = 9).not() -> return "9"
}
when {
EQEQ(arg0 = (C, "10").<get-fromClass><String>(), arg1 = "10").not() -> return "10"
}
when {
EQEQ(arg0 = C.genericFromSuper(g = "11"), arg1 = "11").not() -> return "11"
}
return "OK"
}