Correctly handle star projections according to logic of the old FE.

#KT-54297 Fixed

Properly substitute surrogate UnitSerializer in the Companion.serializer()
function generated on classes that use polymorphic or sealed serializer
by default. (Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1692)
This commit is contained in:
Leonid Startsev
2022-10-03 19:06:48 +02:00
committed by Space Team
parent 2a626b27d3
commit 596949a501
6 changed files with 120 additions and 27 deletions
@@ -93,11 +93,23 @@ public class SerializationFirBlackBoxTestGenerated extends AbstractSerialization
runTest("plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritance.kt");
}
@Test
@TestMetadata("multipleGenericsPolymorphic.kt")
public void testMultipleGenericsPolymorphic() throws Exception {
runTest("plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt");
}
@Test
@TestMetadata("sealedInterfaces.kt")
public void testSealedInterfaces() throws Exception {
runTest("plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt");
}
@Test
@TestMetadata("starProjections.kt")
public void testStarProjections() throws Exception {
runTest("plugins/kotlinx-serialization/testData/boxIr/starProjections.kt");
}
}
@Nested
@@ -91,9 +91,21 @@ public class SerializationIrBoxTestGenerated extends AbstractSerializationIrBoxT
runTest("plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritance.kt");
}
@Test
@TestMetadata("multipleGenericsPolymorphic.kt")
public void testMultipleGenericsPolymorphic() throws Exception {
runTest("plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt");
}
@Test
@TestMetadata("sealedInterfaces.kt")
public void testSealedInterfaces() throws Exception {
runTest("plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt");
}
@Test
@TestMetadata("starProjections.kt")
public void testStarProjections() throws Exception {
runTest("plugins/kotlinx-serialization/testData/boxIr/starProjections.kt");
}
}