JVM KT-41150: Fix backward compatibility for inline vals in inline class
In 1.3.x, for inline class member inline vals 'getFoo-impl' method was generated in corresponding inline class. Since 1.4.0, getters for properties returning inline class values are mangled (so corresponding getters are named 'getFoo-<mangling_hash>'. However, to maintain backward compatibility with libraries compiled with 1.3.x, inliner should be able to find 'getFoo-impl' method in the bytecode.
This commit is contained in:
Generated
+5
@@ -1691,6 +1691,11 @@ public class IrJsCodegenInlineES6TestGenerated extends AbstractIrJsCodegenInline
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
|
||||
}
|
||||
|
||||
@TestMetadata("inlineClassWithInlineValReturningInlineClass.kt")
|
||||
public void testInlineClassWithInlineValReturningInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/inlineClasses/inlineClassWithInlineValReturningInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionInsideInlineClassesBox.kt")
|
||||
public void testInlineFunctionInsideInlineClassesBox() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/inlineClasses/inlineFunctionInsideInlineClassesBox.kt");
|
||||
|
||||
Generated
+5
@@ -1691,6 +1691,11 @@ public class IrJsCodegenInlineTestGenerated extends AbstractIrJsCodegenInlineTes
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
|
||||
}
|
||||
|
||||
@TestMetadata("inlineClassWithInlineValReturningInlineClass.kt")
|
||||
public void testInlineClassWithInlineValReturningInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/inlineClasses/inlineClassWithInlineValReturningInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionInsideInlineClassesBox.kt")
|
||||
public void testInlineFunctionInsideInlineClassesBox() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/inlineClasses/inlineFunctionInsideInlineClassesBox.kt");
|
||||
|
||||
+5
@@ -1691,6 +1691,11 @@ public class JsCodegenInlineTestGenerated extends AbstractJsCodegenInlineTest {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true);
|
||||
}
|
||||
|
||||
@TestMetadata("inlineClassWithInlineValReturningInlineClass.kt")
|
||||
public void testInlineClassWithInlineValReturningInlineClass() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/inlineClasses/inlineClassWithInlineValReturningInlineClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineFunctionInsideInlineClassesBox.kt")
|
||||
public void testInlineFunctionInsideInlineClassesBox() throws Exception {
|
||||
runTest("compiler/testData/codegen/boxInline/inlineClasses/inlineFunctionInsideInlineClassesBox.kt");
|
||||
|
||||
Reference in New Issue
Block a user