FIR: Support DEBUG_INFO_CALL calls in tests

This commit is contained in:
Denis Zharkov
2020-04-08 17:03:06 +03:00
parent 22dc837e26
commit b62400124a
10 changed files with 201 additions and 11 deletions
@@ -0,0 +1,17 @@
interface B {
operator fun invoke(x: Int): String
}
class A {
fun foo(x: Int) {}
val bar: B = TODO()
}
fun A.foo(x: String) {}
fun main() {
val a = A()
a.<!DEBUG_INFO_CALL("fqName: A.foo; typeCall: function")!>foo(1)<!>
a.<!DEBUG_INFO_CALL("fqName: foo; typeCall: extension function")!>foo("")<!>
a.<!DEBUG_INFO_CALL("fqName: B.invoke; typeCall: variable&invoke")!>bar(1)<!>
}
@@ -0,0 +1,25 @@
FILE: debugInfoCall.kt
public abstract interface B : R|kotlin/Any| {
public abstract operator fun invoke(x: R|kotlin/Int|): R|kotlin/String|
}
public final class A : R|kotlin/Any| {
public constructor(): R|A| {
super<R|kotlin/Any|>()
}
public final fun foo(x: R|kotlin/Int|): R|kotlin/Unit| {
}
public final val bar: R|B| = R|kotlin/TODO|()
public get(): R|B|
}
public final fun R|A|.foo(x: R|kotlin/String|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
lval a: R|A| = R|/A.A|()
R|<local>/a|.R|/A.foo|(Int(1))
R|<local>/a|.R|/foo|(String())
R|<local>/a|.R|/A.bar|.R|/B.invoke|(Int(1))
}