blob: 20668a06a289932cafbbdff1b22350d8cc164173 [file]
// RUN_PIPELINE_TILL: FRONTEND
// WITH_NEW_INFERENCE
// SKIP_TXT
class ExcA : Exception()
class ExcB : Exception()
fun test0(x: Int?) {
val y = try {
x
} finally {
}
if (x != null) {
x.inc()
y<!UNSAFE_CALL!>.<!>inc()
}
if (y != null) {
x<!UNSAFE_CALL!>.<!>inc()
y.inc()
}
}
fun test1(x: Int?) {
val y = try {
x
}
catch (e: Exception) {
42
}
if (x != null) {
x.inc()
y<!UNSAFE_CALL!>.<!>inc()
}
if (y != null) {
x<!UNSAFE_CALL!>.<!>inc()
y.inc()
}
}
fun test2(x: Int?) {
val y = try {
x
}
catch (e: Exception) {
x
}
if (x != null) {
x.inc()
y<!UNSAFE_CALL!>.<!>inc()
}
if (y != null) {
x<!UNSAFE_CALL!>.<!>inc()
y.inc()
}
}
fun test3(x: Int?) {
val y = try {
x
} catch (e: Exception) {
return
}
if (x != null) {
x.inc()
y<!UNSAFE_CALL!>.<!>inc()
}
if (y != null) {
x<!UNSAFE_CALL!>.<!>inc()
y.inc()
}
}
fun test5(x: Int?) {
val y = try {
x
}
catch (e: ExcA) {
return
}
catch (e: ExcB) {
x
}
if (x != null) {
x.inc()
y<!UNSAFE_CALL!>.<!>inc()
}
if (y != null) {
x<!UNSAFE_CALL!>.<!>inc()
y.inc()
}
}
/* GENERATED_FIR_TAGS: classDeclaration, equalityExpression, functionDeclaration, ifExpression, integerLiteral,
localProperty, nullableType, propertyDeclaration, smartcast, tryExpression */