Native: fix using nested expect enum entry in a default argument

^KT-51156 Fixed
This commit is contained in:
Svyatoslav Scherbina
2022-02-09 14:41:11 +00:00
committed by Space
parent 0a85f0dd34
commit 62c1bd0044
11 changed files with 99 additions and 4 deletions
@@ -28554,6 +28554,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/kt23739.kt");
}
@Test
@TestMetadata("nestedEnumEntryValue.kt")
public void testNestedEnumEntryValue() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/nestedEnumEntryValue.kt");
}
@Test
@TestMetadata("parametersInArgumentValues.kt")
public void testParametersInArgumentValues() throws Exception {
@@ -0,0 +1,32 @@
// IGNORE_BACKEND: JS_IR, WASM
// JS IR & Wasm: https://youtrack.jetbrains.com/issue/KT-51225
// IGNORE_BACKEND_FIR: JVM_IR
// FIR status: default argument mapping in MPP isn't designed yet
// !LANGUAGE: +MultiPlatformProjects
// MODULE: lib
// FILE: common.kt
// KT-51156
expect class C(e: E = E.O) {
enum class E {
O, K
}
}
// FILE: platform.kt
actual class C actual constructor(e: E) {
val result = e.name
actual enum class E {
O, K
}
}
// MODULE: main(lib)
// FILE: main.kt
fun box(): String {
return C().result + C(C.E.K).result
}
@@ -28128,6 +28128,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/kt23739.kt");
}
@Test
@TestMetadata("nestedEnumEntryValue.kt")
public void testNestedEnumEntryValue() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/nestedEnumEntryValue.kt");
}
@Test
@TestMetadata("parametersInArgumentValues.kt")
public void testParametersInArgumentValues() throws Exception {
@@ -28554,6 +28554,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/kt23739.kt");
}
@Test
@TestMetadata("nestedEnumEntryValue.kt")
public void testNestedEnumEntryValue() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/nestedEnumEntryValue.kt");
}
@Test
@TestMetadata("parametersInArgumentValues.kt")
public void testParametersInArgumentValues() throws Exception {
@@ -23957,6 +23957,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/kt23739.kt");
}
@TestMetadata("nestedEnumEntryValue.kt")
public void testNestedEnumEntryValue() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/nestedEnumEntryValue.kt");
}
@TestMetadata("parametersInArgumentValues.kt")
public void testParametersInArgumentValues() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/defaultArguments/parametersInArgumentValues.kt");