// 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" }