[IR] add testdata for dumpKotlinLike
This commit is contained in:
committed by
teamcityserver
parent
d2022ab115
commit
8d5facb15f
@@ -0,0 +1,114 @@
|
||||
interface I<G : Any?> {
|
||||
fun <T : Any?> T.fromInterface(): T {
|
||||
return <this>
|
||||
}
|
||||
|
||||
fun genericFromSuper(g: G): G {
|
||||
return g
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
open class BaseClass {
|
||||
constructor() /* primary */ {
|
||||
TODO("IrDelegatingConstructorCall")
|
||||
/* InstanceInitializerCall */
|
||||
|
||||
}
|
||||
|
||||
val <T : Any?> T.fromClass: T
|
||||
get(): T {
|
||||
return <this>
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
object C : BaseClass, I<String> {
|
||||
private constructor() /* primary */ {
|
||||
TODO("IrDelegatingConstructorCall")
|
||||
/* InstanceInitializerCall */
|
||||
|
||||
}
|
||||
|
||||
fun f(s: Int): Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
fun f(s: String): Int {
|
||||
return 2
|
||||
}
|
||||
|
||||
fun Boolean.f(): Int {
|
||||
return 3
|
||||
}
|
||||
|
||||
var p: Int
|
||||
field = 4
|
||||
get
|
||||
set
|
||||
|
||||
val Int.ext: Int
|
||||
get(): Int {
|
||||
return 6
|
||||
}
|
||||
|
||||
fun <T : Any?> g1(t: T): T {
|
||||
return t
|
||||
}
|
||||
|
||||
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.f($receiver = true), 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.<get-ext>($receiver = 5), arg1 = 6).not() -> return "6"
|
||||
}
|
||||
when {
|
||||
EQEQ(arg0 = C.g1<String>(t = "7"), arg1 = "7").not() -> return "7"
|
||||
}
|
||||
when {
|
||||
EQEQ(arg0 = C.<get-g2><String>($receiver = "8"), arg1 = "8").not() -> return "8"
|
||||
}
|
||||
when {
|
||||
EQEQ(arg0 = C.fromInterface<Int>($receiver = 9), arg1 = 9).not() -> return "9"
|
||||
}
|
||||
when {
|
||||
EQEQ(arg0 = C.<get-fromClass><String>($receiver = "10"), arg1 = "10").not() -> return "10"
|
||||
}
|
||||
when {
|
||||
EQEQ(arg0 = C.genericFromSuper(g = "11"), arg1 = "11").not() -> return "11"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user