// !LANGUAGE: +NewInference // !DIAGNOSTICS: -UNUSED_EXPRESSION // SKIP_TXT /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE) * * SECTIONS: dfa * NUMBER: 35 * DESCRIPTION: Raw data flow analysis test * HELPERS: classes, objects, typealiases, enumClasses, interfaces, sealedClasses */ /* * TESTCASE NUMBER: 1 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30756 */ fun case_1(x: Any?) { while (true) { x ?: return } x x.equals(10) } // TESTCASE NUMBER: 2 fun case_2(x: Any?) { while (true) { x ?: return x } x x.equals(10) } /* * TESTCASE NUMBER: 3 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30756, KT-35668 */ fun case_3(x: Any?) { while (true) { x ?: return ?: x } x x.equals(10) } // TESTCASE NUMBER: 4 fun case_4(x: Any?) { while (true) { x ?: break x x.equals(10) } x } // TESTCASE NUMBER: 5 fun case_5(x: Any?) { while (true) { x ?: continue x x.equals(10) } x } // TESTCASE NUMBER: 6 fun case_6(x: Any?) { do { x ?: continue x x.equals(10) } while (false) x } // TESTCASE NUMBER: 7 fun case_7(x: Any?) { do { x ?: break x x.equals(10) } while (false) x }