Enable delegation by interface for inline classes in old FE

#KT-27435
This commit is contained in:
Ilmir Usmanov
2021-11-29 14:50:16 +01:00
parent 3002829acf
commit bb53ba4a2e
20 changed files with 371 additions and 5 deletions
@@ -16450,6 +16450,34 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType")
@TestDataPath("$PROJECT_ROOT")
public class DelegationByUnderlyingType {
@Test
public void testAllFilesPresentInDelegationByUnderlyingType() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true);
}
@Test
@TestMetadata("default.kt")
public void testDefault() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/default.kt");
}
@Test
@TestMetadata("defaultArgument.kt")
public void testDefaultArgument() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/defaultArgument.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/simple.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/inlineClasses/funInterface")
@TestDataPath("$PROJECT_ROOT")
@@ -16414,6 +16414,34 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType")
@TestDataPath("$PROJECT_ROOT")
public class DelegationByUnderlyingType {
@Test
public void testAllFilesPresentInDelegationByUnderlyingType() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
}
@Test
@TestMetadata("default.kt")
public void testDefault() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/default.kt");
}
@Test
@TestMetadata("defaultArgument.kt")
public void testDefaultArgument() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/defaultArgument.kt");
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/simple.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/inlineClasses/funInterface")
@TestDataPath("$PROJECT_ROOT")
@@ -13847,6 +13847,34 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
}
}
@TestMetadata("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class DelegationByUnderlyingType extends AbstractIrCodegenBoxWasmTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest0(this::doTest, TargetBackend.WASM, testDataFilePath);
}
public void testAllFilesPresentInDelegationByUnderlyingType() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true);
}
@TestMetadata("default.kt")
public void testDefault() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/default.kt");
}
@TestMetadata("defaultArgument.kt")
public void testDefaultArgument() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/defaultArgument.kt");
}
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/delegationByUnderlyingType/simple.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/inlineClasses/funInterface")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)