// !DIAGNOSTICS: -UNUSED_EXPRESSION // SKIP_TXT // WITH_EXTENDED_CHECKERS /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE) * * SECTIONS: dfa * NUMBER: 20 * DESCRIPTION: Raw data flow analysis test * HELPERS: classes, objects, typealiases, enumClasses, interfaces, sealedClasses */ // TESTCASE NUMBER: 1 fun case_1(x: Any?) { if (x is Int || false) { x x.inv() } } // TESTCASE NUMBER: 2 fun case_2(x: Any) { if (x is Unit || false || false || false || false || false) { x x.toString() } } // TESTCASE NUMBER: 3 fun case_3(x: Any?) { if (true && x !is Class) else { x x.prop_1 } } /* * TESTCASE NUMBER: 4 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28329 */ fun case_4(x: Any) { if (true && true && x !is EnumClass) else { x x.fun_1() } } // TESTCASE NUMBER: 5 fun case_5(x: Any?) { if (false || !(x !is Class.NestedClass?)) { x x?.prop_4 } } /* * TESTCASE NUMBER: 6 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28329 */ fun case_6(x: Any?) { if (false || false || !(x !is Object)) { x x.prop_1 } } // TESTCASE NUMBER: 7 fun case_7(x: Any) { if (!(x is DeepObject.A.B.C.D.E.F.G.J) && true && true && true) else { x x.prop_1 } } // TESTCASE NUMBER: 8 fun case_8(x: Any?) { if (!(x is Int?) && true) else { x x?.inv() } } /* * TESTCASE NUMBER: 9 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28329 */ fun case_9(x: Any?) { if (true && true && !!(x !is TypealiasNullableStringIndirect?) && true && true && true && true) else { x x?.get(0) } } // TESTCASE NUMBER: 10 fun case_10(x: Any?) { if (true && !!(x !is Interface3) && true) else { x x.itest() x.itest3() } } // TESTCASE NUMBER: 11 fun case_11(x: Any?) { if (false || x is SealedMixedChildObject1? || false) { x x?.prop_1 x?.prop_2 } }