diff --git a/compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt b/compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt new file mode 100644 index 00000000000..9c8b20ce1d2 --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt @@ -0,0 +1,19 @@ +// WITH_RUNTIME +// FILE: part1.kt + +@file:JvmName("Facade") +@file:JvmMultifileClass + +package test + +private fun privateFun() {} + +private var privateVar = 42 + get() = field + set(value) { field = value } + +// We mangle names of private declarations in multi-file parts because in the -Xmultifile-parts-inherit mode, they can clash accidentally. +// Below, one usage of each declaration is at the declaration site, another in the Metadata.d2 array. +// 2 privateFun\$Facade__Part1Kt +// 2 getPrivateVar\$Facade__Part1Kt +// 2 setPrivateVar\$Facade__Part1Kt diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java index 6b0f7d36190..579dfc33c35 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BytecodeTextTestGenerated.java @@ -3154,6 +3154,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest { public void testOptimizedMultifileClassFacadeMethods() throws Exception { runTest("compiler/testData/codegen/bytecodeText/multifileClasses/optimizedMultifileClassFacadeMethods.kt"); } + + @TestMetadata("privateFunctionName.kt") + public void testPrivateFunctionName() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt"); + } } @TestMetadata("compiler/testData/codegen/bytecodeText/notNullAssertions") diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBytecodeTextTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBytecodeTextTestGenerated.java index 663fb8968a0..dd512f6a895 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBytecodeTextTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBytecodeTextTestGenerated.java @@ -3124,6 +3124,11 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest { public void testOptimizedMultifileClassFacadeMethods() throws Exception { runTest("compiler/testData/codegen/bytecodeText/multifileClasses/optimizedMultifileClassFacadeMethods.kt"); } + + @TestMetadata("privateFunctionName.kt") + public void testPrivateFunctionName() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt"); + } } @TestMetadata("compiler/testData/codegen/bytecodeText/notNullAssertions")