// !DIAGNOSTICS: -UNUSED_EXPRESSION // SKIP_TXT /* * KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE) * * SECTIONS: dfa * NUMBER: 12 * DESCRIPTION: Raw data flow analysis test * HELPERS: classes, interfaces, properties, functions */ // TESTCASE NUMBER: 1 fun T.case_1() { if (this != null) { equals(this) apply { equals(null) } apply { propT } apply { propAny } apply { propNullableT } apply { propNullableAny } apply { funT() } apply { funAny() } apply { funNullableT() } apply { funNullableAny(); this.equals(null) } also { it.equals(null) } also { it.propT } also { it.propAny } also { it.propNullableT } also { it.propNullableAny } also { it.funT() } also { it.funAny() } also { it.funNullableT() } also { it.funNullableAny() } } } // TESTCASE NUMBER: 2 fun T?.case_2() { if (this != null) { equals(this) apply { equals(null) } apply { propT } apply { propAny } apply { propNullableT } apply { propNullableAny } apply { funT() } apply { funAny() } apply { funNullableT() } apply { funNullableAny(); this.equals(null) } also { it.equals(null) } also { it.propT } also { it.propAny } also { it.propNullableT } also { it.propNullableAny } also { it.funT() } also { it.funAny() } also { it.funNullableT() } also { it.funNullableAny() } } } // TESTCASE NUMBER: 3 fun T.case_3() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() } } // TESTCASE NUMBER: 4 fun T?.case_4() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() } } // TESTCASE NUMBER: 5 fun T?.case_5() { if (this is Interface1) { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() equals(this) itest1() apply { this this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() } also { it it it.itest1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } } // TESTCASE NUMBER: 6 fun T?.case_6() { if (this is Interface1?) { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() equals(this) itest1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() } also { it it.itest1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } } // TESTCASE NUMBER: 7 fun T.case_7() { val x = this if (x is Interface1?) { if (x != null) { x x.equals(null) x.propT x.propAny x.propNullableT x.propNullableAny x.funT() x.funAny() x.funNullableT() x.funNullableAny() x.itest1() x.apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() } x.also { it it.itest1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } } // TESTCASE NUMBER: 8 fun T.case_8() { if (this != null) { if (this is Interface1?) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() equals(this) itest1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() } also { it it.itest1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } } // TESTCASE NUMBER: 9 fun T.case_9() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.toByte() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() toByte() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() toByte() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.toByte() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.toByte() } } } // TESTCASE NUMBER: 10 fun T.case_10() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.toByte() equals(this) toByte() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() toByte() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.toByte() } also { it it.toByte() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } // TESTCASE NUMBER: 11 fun T?.case_11() { if (this is Interface1?) { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() equals(this) itest1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() } also { it it.itest1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } } // TESTCASE NUMBER: 12 fun T.case_12() where T : Number?, T: Interface1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() this.toByte() equals(this) itest1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() } also { it it.itest1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } /* * TESTCASE NUMBER: 13 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T.case_13() where T : Out<*>?, T: Comparable { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.compareTo(null) equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() compareTo(null) apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() compareTo(null) this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.compareTo(null) } also { it it.get() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.compareTo(null) } } } /* * TESTCASE NUMBER: 14 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun ?> T.case_14() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() equals(this) get() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() } also { it it.get() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } /* * TESTCASE NUMBER: 15 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun ?> T.case_15() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() equals(this) itest1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() } also { it it.itest1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } /* * TESTCASE NUMBER: 16 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun ?> T.case_16() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() equals(this) ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.ip1test1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } /* * TESTCASE NUMBER: 17 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun ?> T.case_17() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() equals(this) ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.ip1test1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } /* * TESTCASE NUMBER: 18 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun ?> T.case_18() { val y = this if (y != null) { y y.equals(null) y.propT y.propAny y.propNullableT y.propNullableAny y.funT() y.funAny() y.funNullableT() y.funNullableAny() y.ip1test1() equals(y) ip1test1() apply { this equals(this) ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.ip1test1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } /* * TESTCASE NUMBER: 19 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun ?> T.case_19() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() equals(this) ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.ip1test1() it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } /* * TESTCASE NUMBER: 20 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T.case_20() where T: InterfaceWithTypeParameter1?, T: InterfaceWithTypeParameter2? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() this.ip1test2() equals(this) ip1test1() ip1test2() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ip1test2() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() this.ip1test2() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.ip1test1() it.ip1test2() } } } /* * TESTCASE NUMBER: 21 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T.case_21() where T: InterfaceWithTypeParameter1?, T: InterfaceWithTypeParameter2?, T: InterfaceWithTypeParameter3? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() this.ip1test2() this.ip1test3() equals(this) ip1test1() ip1test2() ip1test3() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ip1test2() ip1test3() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() this.ip1test2() this.ip1test3() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.ip1test1() it.ip1test2() it.ip1test3() } } } /* * TESTCASE NUMBER: 22 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun >?> T.case_22() { var y = this if (y != null) { y y.equals(null) y.propT y.propAny y.propNullableT y.propNullableAny y.funT() y.funAny() y.funNullableT() y.funNullableAny() y.ip1test1() equals(y) ip1test1() apply { this equals(this) ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.ip1test1() } } } // TESTCASE NUMBER: 23 fun >?> T.case_23() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() equals(this) ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.ip1test1() } } } // TESTCASE NUMBER: 24 fun > InterfaceWithTypeParameter1?.case_24() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(this) ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 25 fun > InterfaceWithTypeParameter1?.case_25() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(this) ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 26 fun > InterfaceWithTypeParameter1?.case_26() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 27 fun > InterfaceWithTypeParameter1?.case_27() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 28 fun > InterfaceWithTypeParameter1?.case_28() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 29 fun > InterfaceWithTypeParameter1?.case_29() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 30 fun > InterfaceWithTypeParameter1?.case_30() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 31 fun > InterfaceWithTypeParameter1?.case_31() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 32 fun Map?.case_32() { if (this != null) { ? & kotlin.collections.Map")!>this ? & kotlin.collections.Map")!>this.equals(null) ? & kotlin.collections.Map")!>this.propT ? & kotlin.collections.Map")!>this.propAny ? & kotlin.collections.Map")!>this.propNullableT ? & kotlin.collections.Map")!>this.propNullableAny ? & kotlin.collections.Map")!>this.funT() ? & kotlin.collections.Map")!>this.funAny() ? & kotlin.collections.Map")!>this.funNullableT() ? & kotlin.collections.Map")!>this.funNullableAny() ? & kotlin.collections.Map")!>this.isEmpty() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.isEmpty() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.isEmpty() } } } // TESTCASE NUMBER: 33 fun InterfaceWithFiveTypeParameters1?.case_33() { if (this != null) { ? & InterfaceWithFiveTypeParameters1")!>this ? & InterfaceWithFiveTypeParameters1")!>this.equals(null) ? & InterfaceWithFiveTypeParameters1")!>this.propT ? & InterfaceWithFiveTypeParameters1")!>this.propAny ? & InterfaceWithFiveTypeParameters1")!>this.propNullableT ? & InterfaceWithFiveTypeParameters1")!>this.propNullableAny ? & InterfaceWithFiveTypeParameters1")!>this.funT() ? & InterfaceWithFiveTypeParameters1")!>this.funAny() ? & InterfaceWithFiveTypeParameters1")!>this.funNullableT() ? & InterfaceWithFiveTypeParameters1")!>this.funNullableAny() ? & InterfaceWithFiveTypeParameters1")!>this.itest() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.itest() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.itest() } } } // TESTCASE NUMBER: 34 fun InterfaceWithTypeParameter1?.case_34() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 35 fun InterfaceWithTypeParameter1?.case_35() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 36 fun InterfaceWithTypeParameter1?.case_36() { if (this != null) { ? & InterfaceWithTypeParameter1")!>this ? & InterfaceWithTypeParameter1")!>this.equals(null) ? & InterfaceWithTypeParameter1")!>this.propT ? & InterfaceWithTypeParameter1")!>this.propAny ? & InterfaceWithTypeParameter1")!>this.propNullableT ? & InterfaceWithTypeParameter1")!>this.propNullableAny ? & InterfaceWithTypeParameter1")!>this.funT() ? & InterfaceWithTypeParameter1")!>this.funAny() ? & InterfaceWithTypeParameter1")!>this.funNullableT() ? & InterfaceWithTypeParameter1")!>this.funNullableAny() ? & InterfaceWithTypeParameter1")!>this.ip1test1() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.ip1test1() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.ip1test1() } } } // TESTCASE NUMBER: 37 fun Map?.case_37() { if (this != null) { ? & kotlin.collections.Map")!>this ? & kotlin.collections.Map")!>this.equals(null) ? & kotlin.collections.Map")!>this.propT ? & kotlin.collections.Map")!>this.propAny ? & kotlin.collections.Map")!>this.propNullableT ? & kotlin.collections.Map")!>this.propNullableAny ? & kotlin.collections.Map")!>this.funT() ? & kotlin.collections.Map")!>this.funAny() ? & kotlin.collections.Map")!>this.funNullableT() ? & kotlin.collections.Map")!>this.funNullableAny() ? & kotlin.collections.Map")!>this.isEmpty() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.isEmpty() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.isEmpty() } } } // TESTCASE NUMBER: 38 fun Map<*, out T>?.case_38() { if (this != null) { ? & kotlin.collections.Map<*, out T>")!>this ? & kotlin.collections.Map<*, out T>")!>this.equals(null) ? & kotlin.collections.Map<*, out T>")!>this.propT ? & kotlin.collections.Map<*, out T>")!>this.propAny ? & kotlin.collections.Map<*, out T>")!>this.propNullableT ? & kotlin.collections.Map<*, out T>")!>this.propNullableAny ? & kotlin.collections.Map<*, out T>")!>this.funT() ? & kotlin.collections.Map<*, out T>")!>this.funAny() ? & kotlin.collections.Map<*, out T>")!>this.funNullableT() ? & kotlin.collections.Map<*, out T>")!>this.funNullableAny() ? & kotlin.collections.Map<*, out T>")!>this.isEmpty() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.isEmpty() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.isEmpty() } } } // TESTCASE NUMBER: 39 fun InterfaceWithTwoTypeParameters?.case_39() { if (this != null) { ? & InterfaceWithTwoTypeParameters")!>this ? & InterfaceWithTwoTypeParameters")!>this.equals(null) ? & InterfaceWithTwoTypeParameters")!>this.propT ? & InterfaceWithTwoTypeParameters")!>this.propAny ? & InterfaceWithTwoTypeParameters")!>this.propNullableT ? & InterfaceWithTwoTypeParameters")!>this.propNullableAny ? & InterfaceWithTwoTypeParameters")!>this.funT() ? & InterfaceWithTwoTypeParameters")!>this.funAny() ? & InterfaceWithTwoTypeParameters")!>this.funNullableT() ? & InterfaceWithTwoTypeParameters")!>this.funNullableAny() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() } } } // TESTCASE NUMBER: 40 fun InterfaceWithTwoTypeParameters?.case_40() { if (this != null) { ? & InterfaceWithTwoTypeParameters")!>this ? & InterfaceWithTwoTypeParameters")!>this.equals(null) ? & InterfaceWithTwoTypeParameters")!>this.propT ? & InterfaceWithTwoTypeParameters")!>this.propAny ? & InterfaceWithTwoTypeParameters")!>this.propNullableT ? & InterfaceWithTwoTypeParameters")!>this.propNullableAny ? & InterfaceWithTwoTypeParameters")!>this.funT() ? & InterfaceWithTwoTypeParameters")!>this.funAny() ? & InterfaceWithTwoTypeParameters")!>this.funNullableT() ? & InterfaceWithTwoTypeParameters")!>this.funNullableAny() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() } } } // TESTCASE NUMBER: 41 fun Map?.case_41() { if (this != null) { ? & kotlin.collections.Map")!>this ? & kotlin.collections.Map")!>this.equals(null) ? & kotlin.collections.Map")!>this.propT ? & kotlin.collections.Map")!>this.propAny ? & kotlin.collections.Map")!>this.propNullableT ? & kotlin.collections.Map")!>this.propNullableAny ? & kotlin.collections.Map")!>this.funT() ? & kotlin.collections.Map")!>this.funAny() ? & kotlin.collections.Map")!>this.funNullableT() ? & kotlin.collections.Map")!>this.funNullableAny() ? & kotlin.collections.Map")!>this.isEmpty() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.isEmpty() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.isEmpty() } } } // TESTCASE NUMBER: 42 fun Map?.case_42() { if (this != null) { ? & kotlin.collections.Map")!>this ? & kotlin.collections.Map")!>this.equals(null) ? & kotlin.collections.Map")!>this.propT ? & kotlin.collections.Map")!>this.propAny ? & kotlin.collections.Map")!>this.propNullableT ? & kotlin.collections.Map")!>this.propNullableAny ? & kotlin.collections.Map")!>this.funT() ? & kotlin.collections.Map")!>this.funAny() ? & kotlin.collections.Map")!>this.funNullableT() ? & kotlin.collections.Map")!>this.funNullableAny() ? & kotlin.collections.Map")!>this.isEmpty() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.isEmpty() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.isEmpty() } } } // TESTCASE NUMBER: 43 fun Map?.case_43() { if (this != null) { ? & kotlin.collections.Map")!>this ? & kotlin.collections.Map")!>this.equals(null) ? & kotlin.collections.Map")!>this.propT ? & kotlin.collections.Map")!>this.propAny ? & kotlin.collections.Map")!>this.propNullableT ? & kotlin.collections.Map")!>this.propNullableAny ? & kotlin.collections.Map")!>this.funT() ? & kotlin.collections.Map")!>this.funAny() ? & kotlin.collections.Map")!>this.funNullableT() ? & kotlin.collections.Map")!>this.funNullableAny() ? & kotlin.collections.Map")!>this.isEmpty() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() isEmpty() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.isEmpty() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.isEmpty() } } } // TESTCASE NUMBER: 44 fun InterfaceWithFiveTypeParameters1?.case_44() { if (this != null) { ? & InterfaceWithFiveTypeParameters1")!>this ? & InterfaceWithFiveTypeParameters1")!>this.equals(null) ? & InterfaceWithFiveTypeParameters1")!>this.propT ? & InterfaceWithFiveTypeParameters1")!>this.propAny ? & InterfaceWithFiveTypeParameters1")!>this.propNullableT ? & InterfaceWithFiveTypeParameters1")!>this.propNullableAny ? & InterfaceWithFiveTypeParameters1")!>this.funT() ? & InterfaceWithFiveTypeParameters1")!>this.funAny() ? & InterfaceWithFiveTypeParameters1")!>this.funNullableT() ? & InterfaceWithFiveTypeParameters1")!>this.funNullableAny() ? & InterfaceWithFiveTypeParameters1")!>this.itest() equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest() apply { ")!>this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest() ")!>this.equals(null) ")!>this.propT ")!>this.propAny ")!>this.propNullableT ")!>this.propNullableAny ")!>this.funT() ")!>this.funAny() ")!>this.funNullableT() ")!>this.funNullableAny() ")!>this.itest() } also { ")!>it ")!>it.equals(null) ")!>it.propT ")!>it.propAny ")!>it.propNullableT ")!>it.propNullableAny ")!>it.funT() ")!>it.funAny() ")!>it.funNullableT() ")!>it.funNullableAny() ")!>it.itest() } } } // TESTCASE NUMBER: 45 fun T.case_45() where T : Number?, T: Comparable? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.toByte() this.compareTo(this) equals(this) toByte() compareTo(this) apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() compareTo(this) toByte() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.compareTo(this) this.toByte() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.compareTo(it) it.toByte() } } } // TESTCASE NUMBER: 46 fun T.case_46() where T : CharSequence?, T: Comparable?, T: Iterable<*>? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.compareTo(this) this.get(0) this.iterator() equals(this) compareTo(this) get(0) iterator() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() compareTo(this) get(0) iterator() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.compareTo(this) this.get(0) this.iterator() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.compareTo(it) it.get(0) it.iterator() } } } /* * TESTCASE NUMBER: 47 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T?.case_47() where T : Inv, T: Comparable<*>?, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } this.compareTo(return) compareTo(return) apply { compareTo(return) this.compareTo(return) } also { it.compareTo(return) } } } /* * TESTCASE NUMBER: 48 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T?.case_48() where T : Inv, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } /* * TESTCASE NUMBER: 49 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T?.case_49() where T : Inv, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } /* * TESTCASE NUMBER: 50 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T?.case_50() where T : Inv, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } /* * TESTCASE NUMBER: 51 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T?.case_51() where T : Inv, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } // TESTCASE NUMBER: 52 fun T?.case_52() where T : Inv, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } /* * TESTCASE NUMBER: 53 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T?.case_53() where T : Inv, T: InterfaceWithTypeParameter1<*>? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } /* * TESTCASE NUMBER: 54 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T?.case_54() where T : Inv<*>, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } // TESTCASE NUMBER: 55 fun T?.case_55() where T : Inv<*>, T: InterfaceWithTypeParameter1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() equals(this) get() ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.ip1test1() } } } // TESTCASE NUMBER: 56 fun T.case_56() where T : Number?, T: Interface1? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest() this.toByte() equals(this) itest() toByte() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest() toByte() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest() this.toByte() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.itest() it.toByte() } } } /* * TESTCASE NUMBER: 57 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T.case_57() where T : Out<*>?, T: Comparable { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.compareTo(null) equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() compareTo(null) apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() get() compareTo(null) this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.get() this.compareTo(null) } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.get() it.compareTo(null) } } } // TESTCASE NUMBER: 58 fun >>>>>>>>>?> T.case_59() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() equals(this) ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.ip1test1() } } } /* * TESTCASE NUMBER: 59 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T.case_59() where T: InterfaceWithFiveTypeParameters1?, T: InterfaceWithFiveTypeParameters2?, T: InterfaceWithFiveTypeParameters3? { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() this.itest2() this.itest3() equals(this) itest1() itest2() itest3() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() itest1() itest2() itest3() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.itest1() this.itest2() this.itest3() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.itest1() it.itest2() it.itest3() } } } /* * TESTCASE NUMBER: 60 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun ?> T.case_60() { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() equals(this) ip1test1() apply { this equals(null) propT propAny propNullableT propNullableAny funT() funAny() funNullableT() funNullableAny() ip1test1() this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() this.ip1test1() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() it.ip1test1() } } } // TESTCASE NUMBER: 61 interface Case61_1: InterfaceWithTypeParameter1, Case61_2 { fun test1() } interface Case61_2: InterfaceWithTypeParameter1 { fun test2() } class Case61_3: InterfaceWithTypeParameter1, Case61_1, Case61_2 { override fun test1() {} override fun test2() {} fun test4() {} } fun T.case_61() where T : InterfaceWithTypeParameter1?, T: Case61_3?, T: Case61_1?, T: Case61_2? { if (this != null) { this.test1() this.test2() this.ip1test1() this.test4() test1() test2() ip1test1() test4() apply { this test1() test2() ip1test1() test4() this.test1() this.test2() this.ip1test1() this.test4() } also { it it.test1() it.test2() it.ip1test1() it.test4() } } } // TESTCASE NUMBER: 62 fun Nothing?.case_62() { if (this != null) { this this.hashCode() hashCode() apply { this hashCode() this.hashCode() } also { it it.hashCode() } } } // TESTCASE NUMBER: 63 fun Nothing.case_63() { if (this != null) { this this.hashCode() hashCode() apply { this hashCode() this.hashCode() } also { it it.hashCode() } } } /* * TESTCASE NUMBER: 64 * UNEXPECTED BEHAVIOUR */ fun T.case_64() { if (this != null) { this this.hashCode() hashCode() apply { this hashCode() this.hashCode() } also { it it.hashCode() } } } /* * TESTCASE NUMBER: 65 * UNEXPECTED BEHAVIOUR * ISSUES: KT-28785 */ fun T.case_65() { if (this is Interface1?) { if (this is Interface2?) { if (this != null) { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() apply { this this.equals(null) this.propT this.propAny this.propNullableT this.propNullableAny this.funT() this.funAny() this.funNullableT() this.funNullableAny() } also { it it.equals(null) it.propT it.propAny it.propNullableT it.propNullableAny it.funT() it.funAny() it.funNullableT() it.funNullableAny() } } } } }