// !DIAGNOSTICS: -UNUSED_EXPRESSION // SKIP_TXT /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE) * * SECTIONS: dfa * NUMBER: 28 * DESCRIPTION: Raw data flow analysis test * HELPERS: classes, objects, typealiases, enumClasses, interfaces, sealedClasses */ // TESTCASE NUMBER: 1 fun case_1(x: Int?) { if (x?.inv() != null) { x x.inv() } } // TESTCASE NUMBER: 2 fun case_2(x: Int?) { if (x?.inv() == null) else if (true) {} else { x x.inv() } } // TESTCASE NUMBER: 3 fun case_3(x: Boolean?) { if (x?.not() == null) else { x x.not() } } // TESTCASE NUMBER: 4 fun case_4(x: EnumClass?) { if (x?.fun_1() !== null) { x x.fun_1() } } // TESTCASE NUMBER: 5 fun case_5(x: Class.NestedClass?) { if (x?.prop_4 != null) { x x.prop_4 } } // TESTCASE NUMBER: 6 fun case_6(x: Class.NestedClass?) { if (!(x?.prop_4 == null)) { x x.prop_4 } } // TESTCASE NUMBER: 7 fun case_7(x: DeepObject.A.B.C.D.E.F.G.J?) { if (!!(x?.prop_1 != null)) { x x.prop_1 } } // TESTCASE NUMBER: 8 fun case_8(x: Any?) { if (x?.equals(10) === null) else { x x.equals(10) } } // TESTCASE NUMBER: 9 fun case_9(x: Any?) { if (x?.equals(10) !== null) { x x.equals(10) } } /* * TESTCASE NUMBER: 10 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ fun case_10(x: Interface3?) { if (x?.itest() == null == true) else { x x.itest() x.itest3() } } /* * TESTCASE NUMBER: 11 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ fun case_11(x: SealedMixedChildObject1?) { if (x?.prop_1 != null == true) { x x.prop_1 x.prop_2 } } // TESTCASE NUMBER: 12 inline fun case_12(x: Any?) { if (x?.equals(10) != null) { x x.equals(10) } } // TESTCASE NUMBER: 13 inline fun case_13(x: Any?) { if (x?.equals(10) == null) {} else { x x.equals(10) } } // TESTCASE NUMBER: 14 inline fun case_14(x: Any?) { if (x?.equals(10) === null) else { x x.equals(10) } } // TESTCASE NUMBER: 15 inline fun case_15(x: Any?) { if (x?.equals(10) !== null) { x x.equals(10) } } /* * TESTCASE NUMBER: 16 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262 */ inline fun case_16(x: Any?) { if (x?.equals(10) === null == true) else { x x.equals(10) } } /* * TESTCASE NUMBER: 17 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262 */ inline fun case_17(x: Any?) { if (x?.equals(10) !== null == true) { x x.equals(10) } } /* * TESTCASE NUMBER: 18 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262, KT-29878 */ inline fun case_18(x: Any?) { if (x?.equals(10) === null === true) else { x x.equals(10) } } /* * TESTCASE NUMBER: 19 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262, KT-29878 */ inline fun case_19(x: Any?) { if (x?.equals(10) !== null === true) { x x.equals(10) } } /* * TESTCASE NUMBER: 20 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262, KT-29878 */ inline fun case_20(x: Any?) { if (x?.equals(10) === null !== false) else { x x.equals(10) } } /* * TESTCASE NUMBER: 21 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262, KT-29878 */ inline fun case_21(x: Any?) { if (x?.equals(10) !== null !== false) { x x.equals(10) } } /* * TESTCASE NUMBER: 22 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262, KT-29878 */ inline fun case_22(x: Any?) { if (x?.equals(10) !== null !== true) else { x x.equals(10) } } /* * TESTCASE NUMBER: 23 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262, KT-29878 */ inline fun case_23(x: Any?) { if (x?.equals(10) === null === false) { x x.equals(10) } } /* * TESTCASE NUMBER: 24 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262 */ inline fun case_24(x: Any?) { if (x?.equals(10) !== null != true) else { x x.equals(10) } } /* * TESTCASE NUMBER: 25 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-28262 */ inline fun case_25(x: Any?) { if (x?.equals(10) === null == false) { x x.equals(10) } } /* * TESTCASE NUMBER: 26 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-29878 */ inline fun case_26(x: Any?) { if (x?.equals(10) != null === false) else { x x.equals(10) } } /* * TESTCASE NUMBER: 27 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369, KT-29878 */ inline fun case_27(x: Any?) { if (x?.equals(10) == null === false) { x x.equals(10) } } /* * TESTCASE NUMBER: 28 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ inline fun case_28(x: Any?) { if (x?.equals(10) != null == false) else { x x.equals(10) } } /* * TESTCASE NUMBER: 29 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ inline fun case_29(x: Any?) { if (x?.equals(10) == null == false) { x x.equals(10) } } /* * TESTCASE NUMBER: 30 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ fun case_30(x: Class.NestedClass?) { if (x?.prop_4 != null == true) { x x.prop_4 } } /* * TESTCASE NUMBER: 31 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ fun case_31(x: Class.NestedClass?) { if (!(x?.prop_4 == null) != false) { x x.prop_4 } } /* * TESTCASE NUMBER: 32 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ fun case_32(x: Class.NestedClass?) { if (x?.prop_4 == null == false) { x x.prop_4 } } /* * TESTCASE NUMBER: 33 * UNEXPECTED BEHAVIOUR * ISSUES: KT-30369 */ fun case_33(x: Class.NestedClass?) { if (!(x?.prop_4 != null) != true) { x x.prop_4 } }