| // FILE: inlineClasses.kt |
| inline class A(val x: Int) |
| inline class B(val x: String) |
| inline class C(val x: Any?) |
| |
| // FILE: a.kt |
| |
| // False |
| fun isNullVacuousLeftA(s: A) = s == null |
| fun isNullVacuousRightA(s: A) = null == s |
| // IFNONNULL |
| fun isNullLeftA(s: A?) = s == null |
| fun isNullRightA(s: A?) = null == s |
| // equals-impl0 |
| fun isEqualSameA(s: A, t: A) = s == t |
| // equals-impl |
| fun isEqualAnyLeftA(s: A, t: Any?) = s == t |
| // boxes |
| // fun isEqualAnyRightA(s: Any?, t: A) = s == t |
| // Intrinsics.areEqual |
| fun isEqualSameNullableA(s: A?, t: A?) = s == t |
| fun isEqualAnyNullableLeftA(s: A?, t: Any?) = s == t |
| fun isEqualAnyNullableRightA(s: Any?, t: A?) = s == t |
| // unbox, equals-impl0 |
| fun isEqualLeftNullableRightUnboxedA(s: A?, t: A) = s == t |
| // equals-impl |
| fun isEqualRightNullableLeftUnboxedA(s: A, t: A?) = s == t |
| |
| // FILE: b.kt |
| |
| // False |
| fun isNullVacuousLeftB(s: B) = s == null |
| fun isNullVacuousRightB(s: B) = null == s |
| // IFNONNULL |
| fun isNullLeftB(s: B?) = s == null |
| fun isNullRightB(s: B?) = null == s |
| // equals-impl0 |
| fun isEqualSameB(s: B, t: B) = s == t |
| // equals-impl |
| fun isEqualAnyLeftB(s: B, t: Any?) = s == t |
| // boxes |
| // fun isEqualAnyRightB(s: Any?, t: B) = s == t |
| // equals-impl0 |
| fun isEqualSameNullableB(s: B?, t: B?) = s == t |
| // equals-impl |
| fun isEqualAnyNullableLeftB(s: B?, t: Any?) = s == t |
| // boxes |
| // fun isEqualAnyNullableRightB(s: Any?, t: B?) = s == t |
| // equals-impl0 |
| fun isEqualLeftNullableRightUnboxedB(s: B?, t: B) = s == t |
| fun isEqualRightNullableLeftUnboxedB(s: B, t: B?) = s == t |
| |
| // FILE: c.kt |
| |
| // False |
| fun isNullVacuousLeftC(s: C) = s == null |
| fun isNullVacuousRightC(s: C) = null == s |
| // IFNONULL |
| fun isNullLeftC(s: C?) = s == null |
| fun isNullRightC(s: C?) = null == s |
| // equals-impl0 |
| fun isEqualSameC(s: C, t: C) = s == t |
| // equals-impl |
| fun isEqualAnyLeftC(s: C, t: Any?) = s == t |
| // boxes |
| // fun isEqualAnyRightC(s: Any?, t: C) = s == t |
| // Intrinsics.areEqual |
| fun isEqualSameNullableC(s: C?, t: C?) = s == t |
| fun isEqualAnyNullableLeftC(s: C?, t: Any?) = s == t |
| fun isEqualAnyNullableRightC(s: Any?, t: C?) = s == t |
| // unbox, equals-impl0 |
| fun isEqualLeftNullableRightUnboxedC(s: C?, t: C) = s == t |
| // equals-impl |
| fun isEqualRightNullableLeftUnboxedC(s: C, t: C?) = s == t |
| |
| // @AKt.class: |
| // 0 INVOKESTATIC A.box-impl |
| // 1 INVOKEVIRTUAL A.unbox-impl |
| // 2 INVOKESTATIC A.equals-impl \( |
| // 2 INVOKESTATIC A.equals-impl0 |
| // 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual |
| |
| // @BKt.class: |
| // 0 INVOKESTATIC B.box-impl |
| // 0 INVOKEVIRTUAL B.unbox-impl |
| // 2 INVOKESTATIC B.equals-impl \( |
| // 4 INVOKESTATIC B.equals-impl0 |
| // 0 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual |
| |
| // @CKt.class: |
| // 0 INVOKESTATIC C.box-impl |
| // 1 INVOKEVIRTUAL C.unbox-impl |
| // 2 INVOKESTATIC C.equals-impl \( |
| // 2 INVOKESTATIC C.equals-impl0 |
| // 3 INVOKESTATIC kotlin/jvm/internal/Intrinsics.areEqual |