Support situation when argument for serializer<T>() function has SerialInfo annotations.
Because SerializationJvmIrIntrinsicSupport does not instantiate annotations yet, this info could be lost. As a workaround, it is possible to call Companion.serializer() functions instead of direct serializer instantiation, as they are plugin-generated and correctly handle annotations. Note that for some cases (enums & interfaces) this WA is not enough, so additional work is needed later. Fixes https://github.com/Kotlin/kotlinx.serialization/issues/2179
This commit is contained in:
committed by
Space Team
parent
363330f904
commit
e0dce31cde
+6
@@ -111,6 +111,12 @@ public class SerializationFirBlackBoxTestGenerated extends AbstractSerialization
|
||||
runTest("plugins/kotlinx-serialization/testData/boxIr/inlineClasses.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intrinsicAnnotations.kt")
|
||||
public void testIntrinsicAnnotations() throws Exception {
|
||||
runTest("plugins/kotlinx-serialization/testData/boxIr/intrinsicAnnotations.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intrinsicsBox.kt")
|
||||
public void testIntrinsicsBox() throws Exception {
|
||||
|
||||
+6
@@ -109,6 +109,12 @@ public class SerializationIrBoxTestGenerated extends AbstractSerializationIrBoxT
|
||||
runTest("plugins/kotlinx-serialization/testData/boxIr/inlineClasses.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intrinsicAnnotations.kt")
|
||||
public void testIntrinsicAnnotations() throws Exception {
|
||||
runTest("plugins/kotlinx-serialization/testData/boxIr/intrinsicAnnotations.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("intrinsicsBox.kt")
|
||||
public void testIntrinsicsBox() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user