JVM IR: Fix handling of anonymous initializers in inline classes (#4372)

Fixes KT-46554
This commit is contained in:
Steven Schäfer
2021-05-11 11:42:11 +02:00
committed by Alexander Udalov
parent cc4c61d2b3
commit b2378620c3
14 changed files with 320 additions and 51 deletions
@@ -25,6 +25,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
}
@Test
@TestMetadata("boxImplDoesNotExecuteInSecondaryConstructor.kt")
public void testBoxImplDoesNotExecuteInSecondaryConstructor() throws Exception {
runTest("compiler/testData/codegen/box/boxImplDoesNotExecuteInSecondaryConstructor.kt");
}
@Nested
@TestMetadata("compiler/testData/codegen/box/annotations")
@TestDataPath("$PROJECT_ROOT")
@@ -17744,6 +17750,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/inlineClasses/checkUnboxingResultFromTypeVariable.kt");
}
@Test
@TestMetadata("classInInlineClassInit.kt")
public void testClassInInlineClassInit() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/classInInlineClassInit.kt");
}
@Test
@TestMetadata("classLiteralOnInlineClass.kt")
public void testClassLiteralOnInlineClass() throws Exception {
@@ -17972,6 +17984,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassEqualityShouldUseTotalOrderForFloatingPointData.kt");
}
@Test
@TestMetadata("inlineClassFieldHandling.kt")
public void testInlineClassFieldHandling() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassFieldHandling.kt");
}
@Test
@TestMetadata("inlineClassFunctionInvoke.kt")
public void testInlineClassFunctionInvoke() throws Exception {
@@ -17984,6 +18002,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassImplementsCollection.kt");
}
@Test
@TestMetadata("inlineClassInInitBlock.kt")
public void testInlineClassInInitBlock() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/inlineClassInInitBlock.kt");
}
@Test
@TestMetadata("inlineClassInStringTemplate.kt")
public void testInlineClassInStringTemplate() throws Exception {
@@ -18374,6 +18398,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT
runTest("compiler/testData/codegen/box/inlineClasses/kt45991.kt");
}
@Test
@TestMetadata("kt46554.kt")
public void testKt46554() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt46554.kt");
}
@Test
@TestMetadata("mangledDefaultParameterFunction.kt")
public void testMangledDefaultParameterFunction() throws Exception {