Generate classes in MultifileClassCodegen exactly the same as in PackageCodegen

Two known issues with generateNonPartClassDeclarations that was here
before were the fact that we didn't sort sealed classes and its
subclasses which led to NoSuchMethodError (KT-27097), and the fact that
we didn't skip expect classes which led to incorrect duplicate JVM class
name diagnostic (KT-30843)

 #KT-27097 Fixed
 #KT-30843 Fixed
This commit is contained in:
Alexander Udalov
2019-04-05 18:40:28 +02:00
parent c8c630cecb
commit 2f003ef545
11 changed files with 109 additions and 68 deletions
@@ -0,0 +1,25 @@
// !LANGUAGE: +MultiPlatformProjects
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FILE: common.kt
@file:JvmMultifileClass
@file:JvmName("Test")
package test
expect class Foo {
val value: String
}
// FILE: jvm.kt
@file:JvmMultifileClass
@file:JvmName("Test")
package test
actual class Foo(actual val value: String)
fun box(): String {
return Foo("OK").value
}