Minor, add test on name mangling of private multi-file part members
This commit is contained in:
+19
@@ -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
|
||||||
@@ -3154,6 +3154,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
|
|||||||
public void testOptimizedMultifileClassFacadeMethods() throws Exception {
|
public void testOptimizedMultifileClassFacadeMethods() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeText/multifileClasses/optimizedMultifileClassFacadeMethods.kt");
|
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")
|
@TestMetadata("compiler/testData/codegen/bytecodeText/notNullAssertions")
|
||||||
|
|||||||
+5
@@ -3124,6 +3124,11 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest {
|
|||||||
public void testOptimizedMultifileClassFacadeMethods() throws Exception {
|
public void testOptimizedMultifileClassFacadeMethods() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeText/multifileClasses/optimizedMultifileClassFacadeMethods.kt");
|
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")
|
@TestMetadata("compiler/testData/codegen/bytecodeText/notNullAssertions")
|
||||||
|
|||||||
Reference in New Issue
Block a user