// !DIAGNOSTICS: -UNUSED_EXPRESSION // SKIP_TXT /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE) * * SECTIONS: dfa * NUMBER: 17 * DESCRIPTION: Raw data flow analysis test * HELPERS: objects, properties, classes, functions */ // TESTCASE NUMBER: 1 fun case_1(x: Int?) { if (x == null) throw Exception() x x.inv() } // TESTCASE NUMBER: 2 fun case_2(x: Unit?) { if (x === null) throw Exception() x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 3 fun case_3(x: Nothing?) { if (x != null) else throw Exception() x } // TESTCASE NUMBER: 4 fun case_4(x: Number?) { if (x !== null) else { throw Exception() } x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 5 fun case_5(x: Char?, y: Nothing?) { if (x != y) else throw Exception() x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 6 fun case_6(x: Object?) { if (x !== implicitNullableNothingProperty) else { throw Exception() } x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 7 fun case_7(x: Class?) { if (x === implicitNullableNothingProperty || false || false || false) { throw Exception() } x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 8 fun case_8(x: Int?) { if (false || false || false || x == nullableNothingProperty) throw Exception() x x.inv() } // TESTCASE NUMBER: 9 fun case_9(x: String?) { if (x != implicitNullableNothingProperty && true && true && true) else { throw Exception() } x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 10 fun case_10(x: Float?) { if (true && true && true && x !== null) else throw Exception() x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 11 fun case_11(x: Out<*>?) { if (x == null) throw Exception() & Out<*>?")!>x & Out<*>?")!>x.equals(null) & Out<*>?")!>x.propT & Out<*>?")!>x.propAny & Out<*>?")!>x.propNullableT & Out<*>?")!>x.propNullableAny & Out<*>?")!>x.funT() & Out<*>?")!>x.funAny() & Out<*>?")!>x.funNullableT() & Out<*>?")!>x.funNullableAny() } // TESTCASE NUMBER: 12 fun case_12(x: Map?) { if (x === null) throw Exception() & kotlin.collections.Map?")!>x & kotlin.collections.Map?"), DEBUG_INFO_SMARTCAST!>x.equals(null) & kotlin.collections.Map?"), DEBUG_INFO_SMARTCAST!>x.propT & kotlin.collections.Map?"), DEBUG_INFO_SMARTCAST!>x.propAny & kotlin.collections.Map?")!>x.propNullableT & kotlin.collections.Map?")!>x.propNullableAny & kotlin.collections.Map?"), DEBUG_INFO_SMARTCAST!>x.funT() & kotlin.collections.Map?"), DEBUG_INFO_SMARTCAST!>x.funAny() & kotlin.collections.Map?")!>x.funNullableT() & kotlin.collections.Map?")!>x.funNullableAny() } // TESTCASE NUMBER: 13 fun case_13(x: Map?) { if (x != null) else throw Exception() & kotlin.collections.Map?")!>x & kotlin.collections.Map?")!>x.equals(null) & kotlin.collections.Map?")!>x.propT & kotlin.collections.Map?")!>x.propAny & kotlin.collections.Map?")!>x.propNullableT & kotlin.collections.Map?")!>x.propNullableAny & kotlin.collections.Map?")!>x.funT() & kotlin.collections.Map?")!>x.funAny() & kotlin.collections.Map?")!>x.funNullableT() & kotlin.collections.Map?")!>x.funNullableAny() } // TESTCASE NUMBER: 14 fun case_14(x: MutableCollection?) { if (x !== null) else { throw Exception() } & kotlin.collections.MutableCollection?")!>x & kotlin.collections.MutableCollection?")!>x.equals(null) & kotlin.collections.MutableCollection?")!>x.propT & kotlin.collections.MutableCollection?")!>x.propAny & kotlin.collections.MutableCollection?")!>x.propNullableT & kotlin.collections.MutableCollection?")!>x.propNullableAny & kotlin.collections.MutableCollection?")!>x.funT() & kotlin.collections.MutableCollection?")!>x.funAny() & kotlin.collections.MutableCollection?")!>x.funNullableT() & kotlin.collections.MutableCollection?")!>x.funNullableAny() } // TESTCASE NUMBER: 15 fun case_15(x: MutableCollection?, y: Nothing?) { if (x != y) else throw Exception() & kotlin.collections.MutableCollection?")!>x & kotlin.collections.MutableCollection?")!>x.equals(null) & kotlin.collections.MutableCollection?")!>x.propT & kotlin.collections.MutableCollection?")!>x.propAny & kotlin.collections.MutableCollection?")!>x.propNullableT & kotlin.collections.MutableCollection?")!>x.propNullableAny & kotlin.collections.MutableCollection?")!>x.funT() & kotlin.collections.MutableCollection?")!>x.funAny() & kotlin.collections.MutableCollection?")!>x.funNullableT() & kotlin.collections.MutableCollection?")!>x.funNullableAny() } // TESTCASE NUMBER: 16 fun case_16(x: Collection>>>>>>?) { if (x !== implicitNullableNothingProperty) else { throw Exception() } >>>>>> & kotlin.collections.Collection>>>>>>?")!>x >>>>>> & kotlin.collections.Collection>>>>>>?"), DEBUG_INFO_SMARTCAST!>x.equals(null) >>>>>> & kotlin.collections.Collection>>>>>>?"), DEBUG_INFO_SMARTCAST!>x.propT >>>>>> & kotlin.collections.Collection>>>>>>?"), DEBUG_INFO_SMARTCAST!>x.propAny >>>>>> & kotlin.collections.Collection>>>>>>?")!>x.propNullableT >>>>>> & kotlin.collections.Collection>>>>>>?")!>x.propNullableAny >>>>>> & kotlin.collections.Collection>>>>>>?"), DEBUG_INFO_SMARTCAST!>x.funT() >>>>>> & kotlin.collections.Collection>>>>>>?"), DEBUG_INFO_SMARTCAST!>x.funAny() >>>>>> & kotlin.collections.Collection>>>>>>?")!>x.funNullableT() >>>>>> & kotlin.collections.Collection>>>>>>?")!>x.funNullableAny() } // TESTCASE NUMBER: 17 fun case_17(x: MutableMap<*, *>?) { if (x === implicitNullableNothingProperty || false) { throw Exception() } & kotlin.collections.MutableMap<*, *>?")!>x & kotlin.collections.MutableMap<*, *>?")!>x.equals(null) & kotlin.collections.MutableMap<*, *>?")!>x.propT & kotlin.collections.MutableMap<*, *>?")!>x.propAny & kotlin.collections.MutableMap<*, *>?")!>x.propNullableT & kotlin.collections.MutableMap<*, *>?")!>x.propNullableAny & kotlin.collections.MutableMap<*, *>?")!>x.funT() & kotlin.collections.MutableMap<*, *>?")!>x.funAny() & kotlin.collections.MutableMap<*, *>?")!>x.funNullableT() & kotlin.collections.MutableMap<*, *>?")!>x.funNullableAny() } // TESTCASE NUMBER: 18 fun case_18(x: MutableMap?) { if (false || false || false || x == nullableNothingProperty) throw Exception() & kotlin.collections.MutableMap?")!>x & kotlin.collections.MutableMap?")!>x.equals(null) & kotlin.collections.MutableMap?")!>x.propT & kotlin.collections.MutableMap?")!>x.propAny & kotlin.collections.MutableMap?")!>x.propNullableT & kotlin.collections.MutableMap?")!>x.propNullableAny & kotlin.collections.MutableMap?")!>x.funT() & kotlin.collections.MutableMap?")!>x.funAny() & kotlin.collections.MutableMap?")!>x.funNullableT() & kotlin.collections.MutableMap?")!>x.funNullableAny() } // TESTCASE NUMBER: 19 fun case_19(x: Inv>>>>>>?) { if (x === implicitNullableNothingProperty && true) else { throw Exception() } >>>>>>? & kotlin.Nothing?")!>x >>>>>>? & kotlin.Nothing?")!>x.hashCode() } // TESTCASE NUMBER: 20 fun case_20(x: Inv>>>>>>?) { if (true && true && true && x !== null) else throw Exception() >>>>>> & Inv>>>>>>?")!>x >>>>>> & Inv>>>>>>?")!>x.equals(null) >>>>>> & Inv>>>>>>?")!>x.propT >>>>>> & Inv>>>>>>?")!>x.propAny >>>>>> & Inv>>>>>>?")!>x.propNullableT >>>>>> & Inv>>>>>>?")!>x.propNullableAny >>>>>> & Inv>>>>>>?")!>x.funT() >>>>>> & Inv>>>>>>?")!>x.funAny() >>>>>> & Inv>>>>>>?")!>x.funNullableT() >>>>>> & Inv>>>>>>?")!>x.funNullableAny() } // TESTCASE NUMBER: 21 fun case_21(x: T) { if (x == null) throw Exception() x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 22 fun case_22(x: T?) { if (x === null) throw Exception() x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() } // TESTCASE NUMBER: 23 fun case_23(x: Inv?) { if (x !== null) else throw Exception() & Inv?")!>x & Inv?")!>x.equals(null) & Inv?")!>x.propT & Inv?")!>x.propAny & Inv?")!>x.propNullableT & Inv?")!>x.propNullableAny & Inv?")!>x.funT() & Inv?")!>x.funAny() & Inv?")!>x.funNullableT() & Inv?")!>x.funNullableAny() } // TESTCASE NUMBER: 24 fun case_24(x: Inv?, y: Nothing?) { if (x !== y && true) else throw Exception() & Inv?")!>x & Inv?")!>x.equals(null) & Inv?")!>x.propT & Inv?")!>x.propAny & Inv?")!>x.propNullableT & Inv?")!>x.propNullableAny & Inv?")!>x.funT() & Inv?")!>x.funAny() & Inv?")!>x.funNullableT() & Inv?")!>x.funNullableAny() } // TESTCASE NUMBER: 25 fun case_25(x: Inv?, y: Nothing?) { if (x !== y) else try { throw Exception() } finally { throw Exception() } & Inv?")!>x & Inv?")!>x.equals(null) & Inv?")!>x.propT & Inv?")!>x.propAny & Inv?")!>x.propNullableT & Inv?")!>x.propNullableAny & Inv?")!>x.funT() & Inv?")!>x.funAny() & Inv?")!>x.funNullableT() & Inv?")!>x.funNullableAny() }