JVM IR: replace function accesses in multi-file parts
Any access to a function from a multi-file part needs to be replaced with the access to the corresponding public method (if it exists) from the facade class. Note that this has no immediate effect because we use KotlinTypeMapper for mapping calls, and it understands that a call to a function from the part must actually be generated into a call to the function from the facade in the bytecode. This commit merely changes the IR to better reflect what's generated in the final bytecode, and to be able to use simplified IR-based method signature mapping instead of the legacy KotlinTypeMapper in the future.
This commit is contained in:
+5
@@ -1924,6 +1924,11 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/boxInline/multifileClasses"), Pattern.compile("^(.+)\\.kt$"), TargetBackend.JVM, true);
|
||||
}
|
||||
|
||||
@TestMetadata("defaultArguments.kt")
|
||||
public void testDefaultArguments() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/multifileClasses/defaultArguments.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFromOptimizedMultifileClass.kt")
|
||||
public void testInlineFromOptimizedMultifileClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/multifileClasses/inlineFromOptimizedMultifileClass.kt");
|
||||
|
||||
Reference in New Issue
Block a user