// !DIAGNOSTICS: -UNUSED_EXPRESSION // SKIP_TXT /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE) * * SECTIONS: dfa * NUMBER: 11 * DESCRIPTION: Raw data flow analysis test * HELPERS: classes, objects, typealiases, functions, enumClasses, interfaces, sealedClasses * UNEXPECTED BEHAVIOUR * ISSUES: KT-28369 */ // TESTCASE NUMBER: 1 fun case_1() { var x: Boolean? = true if (x is Boolean && if (true) { x = null; true } else { false }) { x x.not() } } // TESTCASE NUMBER: 2 fun case_2() { var x: Boolean? = true if (x != null && try { x = null; true } catch (e: Exception) { false }) { x x.not() } } // TESTCASE NUMBER: 3 fun case_3() { var x: Boolean? = true if (x is Boolean) { funWithAnyArg(try { x = null; true } catch (e: Exception) { false }) x x.not() } } // TESTCASE NUMBER: 4 fun case_4() { var x: Boolean? = true if (x != null) { false || when { else -> {x = null; true} } x x.not() } } /* * TESTCASE NUMBER: 5 * ISSUES: KT-35668 */ fun case_5() { var x: Int? = null if (x == try { x = 10; null } finally {} && x != null) { x x.inv() } } // TESTCASE NUMBER: 6 fun case_6() { var x: Boolean? = true x as Boolean if (if (true) { x = null; true } else { false }) { x x.not() } } // TESTCASE NUMBER: 7 fun case_7() { var x: Boolean? = true x!! if (if (true) { x = null; true } else { false }) {} x x.not() }