| // IGNORE_BACKEND_K2: JVM_IR |
| // TARGET_BACKEND: JVM_IR |
| // !LANGUAGE: +MultiPlatformProjects |
| // WITH_STDLIB |
| |
| // FILE: common.kt |
| |
| package foo |
| |
| import kotlinx.serialization.* |
| |
| @Serializable |
| expect class Expected { |
| companion object { fun factoryMethod(): Expected } |
| } |
| |
| // FILE: jvm.kt |
| |
| package foo |
| |
| import kotlinx.serialization.* |
| |
| @Serializable |
| actual class Expected { |
| actual companion object { actual fun factoryMethod(): Expected = Expected() } |
| } |
| |
| |
| fun box(): String { |
| val b = Expected.factoryMethod() |
| if (b !is Expected) return "Incorrect factory method" |
| val desc = Expected.serializer().descriptor |
| if (desc.toString() != "foo.Expected()") return "Incorrect descriptor $desc" |
| return "OK" |
| } |