48 lines
1.3 KiB
Kotlin
Vendored
48 lines
1.3 KiB
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// WITH_RUNTIME
|
|
|
|
// MODULE: optimized
|
|
// !INHERIT_MULTIFILE_PARTS
|
|
// FILE: optimized.kt
|
|
|
|
@file:JvmMultifileClass
|
|
@file:JvmName("Optimized")
|
|
package optimized
|
|
|
|
fun test() {}
|
|
|
|
class RandomClass
|
|
|
|
// MODULE: main(optimized)
|
|
// FILE: default.kt
|
|
|
|
@file:JvmMultifileClass
|
|
@file:JvmName("Default")
|
|
package default
|
|
|
|
fun test() {}
|
|
|
|
// FILE: box.kt
|
|
|
|
fun isFlagSet(className: String): Boolean {
|
|
val extraInt = Class.forName(className).getAnnotation(Metadata::class.java).extraInt
|
|
return (extraInt and (1 shl 0)) != 0
|
|
}
|
|
|
|
fun box(): String {
|
|
if (isFlagSet("default.Default"))
|
|
return "Fail: inherited multifile parts flag should NOT be set by default for the facade"
|
|
if (isFlagSet("default.Default__DefaultKt"))
|
|
return "Fail: inherited multifile parts flag should NOT be set by default for the part"
|
|
|
|
if (!isFlagSet("optimized.Optimized"))
|
|
return "Fail: inherited multifile parts flag SHOULD be set by default for the facade"
|
|
if (!isFlagSet("optimized.Optimized__OptimizedKt"))
|
|
return "Fail: inherited multifile parts flag SHOULD be set by default for the part"
|
|
|
|
if (isFlagSet("optimized.RandomClass"))
|
|
return "Fail: inherited multifile parts flag should NOT be set by default for some random class if -Xmultifile-part-inherit is enabled"
|
|
|
|
return "OK"
|
|
}
|