K1: fix IIOBE in expect-actual checker with different type parameter number

#KT-54827 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-11-14 16:27:54 +01:00
committed by Space Team
parent c5e5140c08
commit 82f1535007
8 changed files with 71 additions and 3 deletions
@@ -0,0 +1,11 @@
// MODULE: m1-common
// FILE: common.kt
expect class SomeClass<T> {
fun foo()
}
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
<!ACTUAL_WITHOUT_EXPECT!>actual class SomeClass {
actual fun foo() {}
}<!>
@@ -0,0 +1,11 @@
// MODULE: m1-common
// FILE: common.kt
expect class SomeClass<!NO_ACTUAL_FOR_EXPECT{JVM}!><T><!> {
fun foo()
}
// MODULE: m1-jvm()()(m1-common)
// FILE: jvm.kt
actual class <!ACTUAL_WITHOUT_EXPECT!>SomeClass<!> {
actual fun foo() {}
}
@@ -0,0 +1,21 @@
// -- Module: <m1-common> --
package
public final expect class SomeClass</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final expect fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
// -- Module: <m1-jvm> --
package
public final actual class SomeClass {
public constructor SomeClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final actual fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}