02604060ae
1. Local declarations don't participate in IR-linkage, because they can be referenced only inside the same body -> can be dropped from IR text tests. 2. Mangled names for private declarations computed by descriptors/fir are actually not used anywhere (they are recomputed by IR immediately before serialization of IR). But sometimes such mangled names diverge between K1 and K2 -> don't check them, but always check mangled names computed by IR even for private declarations. 3. Also: Drop DUMP_LOCAL_DECLARATION_SIGNATURES test directive. ^KT-57428 Obsolete ^KT-57430 Obsolete ^KT-57434 Obsolete ^KT-57778 Obsolete ^KT-57775 Obsolete
50 lines
699 B
Kotlin
Vendored
50 lines
699 B
Kotlin
Vendored
// IGNORE_BACKEND: JS_IR JS_IR_ES6 NATIVE
|
|
// ^ KT-61141: absent enum fake_overrides: finalize (K1), getDeclaringClass (K1), clone (K2)
|
|
|
|
enum class TestFinalEnum1 {
|
|
X1
|
|
}
|
|
|
|
enum class TestFinalEnum2(val x: Int) {
|
|
X1(1)
|
|
}
|
|
|
|
enum class TestFinalEnum3 {
|
|
X1
|
|
;
|
|
|
|
fun doStuff() {}
|
|
}
|
|
|
|
enum class TestOpenEnum1 {
|
|
X1 {
|
|
override fun toString() = "X1"
|
|
}
|
|
}
|
|
|
|
enum class TestOpenEnum2 {
|
|
X1 {
|
|
override fun foo() {}
|
|
};
|
|
|
|
open fun foo() {}
|
|
}
|
|
|
|
enum class TestAbstractEnum1 {
|
|
X1 {
|
|
override fun foo() {}
|
|
};
|
|
|
|
abstract fun foo()
|
|
}
|
|
|
|
interface IFoo {
|
|
fun foo()
|
|
}
|
|
|
|
enum class TestAbstractEnum2 : IFoo {
|
|
X1 {
|
|
override fun foo() {}
|
|
}
|
|
}
|