// !DIAGNOSTICS: -UNUSED_EXPRESSION // SKIP_TXT /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE) * * SECTIONS: dfa * NUMBER: 31 * DESCRIPTION: Raw data flow analysis test * HELPERS: classes, objects, typealiases, enumClasses, properties, interfaces, sealedClasses */ /* * TESTCASE NUMBER: 1 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30376 */ fun case_1(x: Any?) { if ((x as Class).prop_8?.prop_8?.prop_8?.prop_8 != null) { x x.prop_8 x.prop_8.prop_8 x.prop_8.prop_8.prop_8 x.prop_8.prop_8.prop_8.prop_8 } } /* * TESTCASE NUMBER: 2 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30376 */ fun case_2(x: Class?) { if ((x as Class).prop_8?.prop_8?.prop_8?.prop_8 !== null) { x x.prop_8 x.prop_8.prop_8 x.prop_8.prop_8.prop_8 x.prop_8.prop_8.prop_8.prop_8 } } /* * TESTCASE NUMBER: 3 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30376 */ fun case_3(x: Any?) { if ((x as Class?)?.prop_8?.prop_8?.prop_8?.prop_8 == null) else { x x.prop_8 x.prop_8.prop_8 x.prop_8.prop_8.prop_8 x.prop_8.prop_8.prop_8.prop_8.prop_8 } } /* * TESTCASE NUMBER: 4 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30376 */ fun case_4(x: Any?) { if ((x as Class?)!!.prop_8?.prop_8?.prop_8?.prop_8 == null) else { x x.prop_8 x.prop_8.prop_8 x.prop_8.prop_8.prop_8 x.prop_8.prop_8.prop_8.prop_8.prop_8 } } /* * TESTCASE NUMBER: 5 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30376 */ fun case_5(x: Class?) { if ((x?.prop_8 as Class).prop_8?.prop_8?.prop_8 == null == true) else { x x.prop_8 x.prop_8.prop_8 x.prop_8.prop_8.prop_8 x.prop_8.prop_8.prop_8.prop_8 } } /* * TESTCASE NUMBER: 6 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30376 */ fun case_6(x: Class?) { if ((x?.prop_8?.prop_8?.prop_8 as Class?)?.prop_8 == null == true) else { x x.prop_8 x.prop_8.prop_8 x.prop_8.prop_8.prop_8 x.prop_8.prop_8.prop_8.prop_8.prop_8 } } // TESTCASE NUMBER: 5 fun case_5(x: T) { if ((x as Any).propNullableT != null) { x } } // TESTCASE NUMBER: 6 fun case_6(x: Inv?) { if (x?.prop_1?.prop_1?.prop_1?.prop_2 != null) { x.prop_1.prop_1.prop_1.prop_2 x.prop_1.prop_1.prop_1.prop_2.equals(10) } } // TESTCASE NUMBER: 7 inline fun case_7(x: Inv?) { if (x?.prop_1?.prop_1?.prop_1?.prop_2 == null) else { x.prop_1.prop_1.prop_1.prop_2 x.prop_1.prop_1.prop_1.prop_2.equals(10) } } // TESTCASE NUMBER: 8 fun case_8(x: Inv?) { if (x?.prop_1?.prop_1?.prop_1?.prop_1 == null) else { & Inv?")!>x.prop_1.prop_1.prop_1.prop_1 "), DEBUG_INFO_SMARTCAST!>x.prop_1.prop_1.prop_1.prop_1.equals(10) } } // TESTCASE NUMBER: 9 inline fun case_9(x: Out?) { if (x?.prop_1?.prop_1?.prop_1?.prop_1 != null) { & Inv?")!>x.prop_1.prop_1.prop_1.prop_1 & Inv?")!>x.prop_1.prop_1.prop_1.prop_1.equals(10) } }