Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/cfg/jumps.fir.txt
T
Tianyu Geng 6a03f31e50 FIR: add UnsafeCall resolution diagnostics
Previously unsafe call is reported as part of InapplicableWrongReceiver.
This makes it difficult for the downstream checkers to report different
diagnostics.
2021-04-19 15:11:13 +03:00

63 lines
1.8 KiB
Plaintext
Vendored

FILE: jumps.kt
public final fun test_1(x: R|kotlin/Int?|): R|kotlin/Unit| {
lval y: R|kotlin/Int| = when () {
==(R|<local>/x|, Null(null)) -> {
throw R|java/lang/Exception.Exception|()
}
else -> {
R|<local>/x|
}
}
R|<local>/y|.R|kotlin/Int.inc|()
R|<local>/x|.R|kotlin/Int.inc|()
}
public final fun test_2(x: R|kotlin/Int?|): R|kotlin/Unit| {
lval y: R|kotlin/Int?| = when () {
==(R|<local>/x|, Null(null)) -> {
R|<local>/x|
}
else -> {
R|<local>/x|
}
}
R|<local>/y|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
}
public final fun test_3(x: R|kotlin/Int?|): R|kotlin/Unit| {
while(Boolean(true)) {
(R|<local>/x| as R|kotlin/Int|)
break@@@[Boolean(true)]
}
R|<local>/x|.R|kotlin/Int.inc|()
}
public final fun test_4(x: R|kotlin/Int?|): R|kotlin/Unit| {
do {
(R|<local>/x| as R|kotlin/Int|)
break@@@[Boolean(true)]
}
while(Boolean(true))
R|<local>/x|.R|kotlin/Int.inc|()
}
public final fun test_5(b: R|kotlin/Boolean|): R|kotlin/Unit| {
while(R|<local>/b|) {
when () {
R|<local>/b| -> {
continue@@@[R|<local>/b|]
}
}
}
}
public final inline fun run(block: R|() -> kotlin/Unit|): R|kotlin/Unit| {
R|<local>/block|.R|SubstitutionOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()
}
public final fun test_6(): R|kotlin/Unit| {
R|/run|(<L> = run@fun <anonymous>(): R|kotlin/Unit| <inline=Inline, kind=UNKNOWN> {
^@run Unit
}
)
}