Support generic underlying type of inline class

Use upper bound in JVM representation.
 #KT-32162
This commit is contained in:
Ilmir Usmanov
2021-12-09 03:37:17 +01:00
parent 732b8d4067
commit 9060168542
22 changed files with 326 additions and 12 deletions
@@ -18484,6 +18484,29 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/inlineClasses/genericUnderlyingValue")
@TestDataPath("$PROJECT_ROOT")
@NativeBlackBoxTestCaseGroupProvider(ExtTestCaseGroupProvider.class)
public class GenericUnderlyingValue {
@Test
public void testAllFilesPresentInGenericUnderlyingValue() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/genericUnderlyingValue"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true);
}
@Test
@TestMetadata("simple.kt")
public void testSimple() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/genericUnderlyingValue/simple.kt");
}
@Test
@TestMetadata("upperBound.kt")
public void testUpperBound() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/genericUnderlyingValue/upperBound.kt");
}
}
@Nested
@TestMetadata("compiler/testData/codegen/box/inlineClasses/hiddenConstructor")
@TestDataPath("$PROJECT_ROOT")