Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/smartcasts/smartcastOnImplicitReceiverOfCallableReference.fir.txt
T
Dmitriy Novozhilov 2796d21ec6 [FIR] Create snapshot of tower data context for postponed callable referneces
This fixes an issue if type of some implicit receiver was changed because
  of changed smartcast in outer scope

^KT-51228 Fixed
2022-05-12 12:15:31 +03:00

40 lines
1.1 KiB
Plaintext
Vendored

FILE: smartcastOnImplicitReceiverOfCallableReference.kt
public abstract interface A : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Unit|
}
public final fun R|kotlin/Any|.test_1(): R|kotlin/Unit| {
when (this@R|/test_1|) {
($subj$ is R|A|) -> {
this@R|/test_1|.R|/A.foo|()
::R|/A.foo|
}
else -> {
throw R|java/lang/Exception.Exception|()
}
}
}
public final fun R|kotlin/Any|.test_2(): R|kotlin/Unit| {
when (this@R|/test_2|) {
($subj$ is R|A|) -> {
this@R|/test_2|.R|/A.foo|()
fun <anonymous>(): R|kotlin/Unit| <inline=Unknown> {
this@R|/test_2|.R|/A.foo|()
}
}
else -> {
}
}
}
public final fun R|kotlin/Any|.test_3(): R|kotlin/Unit| {
when () {
(this@R|/test_3| is R|A|) -> {
lval f: R|kotlin/reflect/KFunction0<kotlin/Unit>| = ::R|/A.foo|
}
}
}