JVM: partially reify typeOf and signatures as soon as possible
E.g. when substituting T -> Array<T>, write the bytecode for the Array<...> part for typeOf. This fixes various issues where either Array nesting levels, nullability information (for typeOf), or entire reification markers were missing, causing incorrect outputs ranging from missing `?`s to missing `[]`s to just reified types not really being reified. ^KT-53761 Fixed
This commit is contained in:
+18
@@ -43104,6 +43104,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/annotatedType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("arrayOfNullableReified.kt")
|
||||
public void testArrayOfNullableReified() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/arrayOfNullableReified.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("classes.kt")
|
||||
public void testClasses() throws Exception {
|
||||
@@ -43188,6 +43194,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/rawTypes_before.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedAsNestedArgument.kt")
|
||||
public void testReifiedAsNestedArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/reifiedAsNestedArgument.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeOfCapturedStar.kt")
|
||||
public void testTypeOfCapturedStar() throws Exception {
|
||||
@@ -44501,6 +44513,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
runTest("compiler/testData/codegen/box/reified/spreads.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeTokenWrapper.kt")
|
||||
public void testTypeTokenWrapper() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/reified/typeTokenWrapper.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("varargs.kt")
|
||||
public void testVarargs() throws Exception {
|
||||
|
||||
+18
@@ -44586,6 +44586,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/annotatedType.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("arrayOfNullableReified.kt")
|
||||
public void testArrayOfNullableReified() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/arrayOfNullableReified.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("caching.kt")
|
||||
public void testCaching() throws Exception {
|
||||
@@ -44676,6 +44682,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/rawTypes_before.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("reifiedAsNestedArgument.kt")
|
||||
public void testReifiedAsNestedArgument() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/reflection/typeOf/reifiedAsNestedArgument.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeOfCapturedStar.kt")
|
||||
public void testTypeOfCapturedStar() throws Exception {
|
||||
@@ -45989,6 +46001,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
|
||||
runTest("compiler/testData/codegen/box/reified/spreads.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeTokenWrapper.kt")
|
||||
public void testTypeTokenWrapper() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/reified/typeTokenWrapper.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("varargs.kt")
|
||||
public void testVarargs() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user