Fix mapping of platform inline class types

For the inline class:
 ```
 inline class IC(val x: Int)
 ```

 Type (IC..IC?) should be mapped to the wrapper `IC`
 because it can hold object and also because it does so for primitives

 #KT-28983 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2018-12-23 20:24:22 +03:00
parent 7c9ca99388
commit e509649132
6 changed files with 85 additions and 1 deletions
@@ -12145,11 +12145,21 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/kt28585.kt");
}
@TestMetadata("kt28879.kt")
public void testKt28879() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/kt28879.kt");
}
@TestMetadata("mapInlineClassesWithSuppressWildcardsMode.kt")
public void testMapInlineClassesWithSuppressWildcardsMode() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mapInlineClassesWithSuppressWildcardsMode.kt");
}
@TestMetadata("mappingOfBoxedFlexibleInlineClassType.kt")
public void testMappingOfBoxedFlexibleInlineClassType() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mappingOfBoxedFlexibleInlineClassType.kt");
}
@TestMetadata("noAssertionsOnInlineClassBasedOnNullableType.kt")
public void testNoAssertionsOnInlineClassBasedOnNullableType() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/noAssertionsOnInlineClassBasedOnNullableType.kt");