KT-30419 Box inline classes in return types of covariant overrides
Use boxed version of an inline class in return type position for covariant and generic-specialized overrides. Also fixes KT-35234 and KT-31585.
This commit is contained in:
+98
@@ -13889,6 +13889,104 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/whenWithSubject.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class BoxReturnValueOnOverride extends AbstractBlackBoxCodegenTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInBoxReturnValueOnOverride() throws Exception {
|
||||
KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true);
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideErasedToAny.kt")
|
||||
public void testCovariantOverrideErasedToAny() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToAny.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideErasedToInterface.kt")
|
||||
public void testCovariantOverrideErasedToInterface() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToInterface.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideErasedToPrimitive.kt")
|
||||
public void testCovariantOverrideErasedToPrimitive() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideErasedToPrimitive.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideListVsMutableList.kt")
|
||||
public void testCovariantOverrideListVsMutableList() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideListVsMutableList.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("covariantOverrideUnrelatedInterfaces.kt")
|
||||
public void testCovariantOverrideUnrelatedInterfaces() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/covariantOverrideUnrelatedInterfaces.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverride.kt")
|
||||
public void testGenericOverride() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/genericOverride.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("genericOverrideSpecialized.kt")
|
||||
public void testGenericOverrideSpecialized() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/genericOverrideSpecialized.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("inlineClassInOverriddenReturnTypes.kt")
|
||||
public void testInlineClassInOverriddenReturnTypes() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/inlineClassInOverriddenReturnTypes.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt28483.kt")
|
||||
public void testKt28483() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt28483.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt31585.kt")
|
||||
public void testKt31585() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt31585.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt35234.kt")
|
||||
public void testKt35234() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("kt35234a.kt")
|
||||
public void testKt35234a() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/kt35234a.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("relatedReturnTypes1a.kt")
|
||||
public void testRelatedReturnTypes1a() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1a.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("relatedReturnTypes1b.kt")
|
||||
public void testRelatedReturnTypes1b() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes1b.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("relatedReturnTypes2a.kt")
|
||||
public void testRelatedReturnTypes2a() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes2a.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("relatedReturnTypes2b.kt")
|
||||
public void testRelatedReturnTypes2b() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/relatedReturnTypes2b.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("unrelatedGenerics.kt")
|
||||
public void testUnrelatedGenerics() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/inlineClasses/boxReturnValueOnOverride/unrelatedGenerics.kt");
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/box/inlineClasses/callableReferences")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
|
||||
Reference in New Issue
Block a user