6a03f31e50
Previously unsafe call is reported as part of InapplicableWrongReceiver. This makes it difficult for the downstream checkers to report different diagnostics.
61 lines
1.8 KiB
Plaintext
Vendored
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|.<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|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
|
|
}
|
|
}
|
|
|
|
R|<local>/a|.<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|()
|
|
}
|