Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/smartcasts/bangbang.fir.txt
T

61 lines
1.8 KiB
Plaintext
Vendored

FILE: bangbang.kt
public abstract interface A : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Boolean|
}
public final fun test_0(a: R|A?|): R|kotlin/Unit| {
R|<local>/a|!!.R|/A.foo|()
R|<local>/a|.R|/A.foo|()
}
public final fun test_1(a: R|A?|): R|kotlin/Unit| {
when () {
R|<local>/a|!!.R|/A.foo|() -> {
R|<local>/a|.R|/A.foo|()
}
}
R|<local>/a|.R|/A.foo|()
}
public final fun test_2(a: R|A?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when () {
R|<local>/a|!!.R|/A.foo|() && R|<local>/b| -> {
R|<local>/a|.R|/A.foo|()
}
}
R|<local>/a|.R|/A.foo|()
}
public final fun test_3(a: R|A?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when () {
R|<local>/b| && R|<local>/a|!!.R|/A.foo|() -> {
R|<local>/a|.R|/A.foo|()
}
}
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun test_4(a: R|A?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when () {
R|<local>/a|!!.R|/A.foo|() || R|<local>/b| -> {
R|<local>/a|.R|/A.foo|()
}
}
R|<local>/a|.R|/A.foo|()
}
public final fun test_5(a: R|A?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when () {
R|<local>/b| || R|<local>/a|!!.R|/A.foo|() -> {
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun <X : R|A?|> test_6(x: R|X|): R|kotlin/Unit| {
R|<local>/x|!!.R|/A.foo|()
}
public final fun <X : R|A|> test_7(x: R|X?|): R|kotlin/Unit| {
R|<local>/x|!!.R|/A.foo|()
}