[KxSerialization] Added inspection on abstract custom serializer
Serialization requires an instance of the serializer, which cannot be obtained with the passed interface, abstract or sealed class. Therefore, the specifying of such classes in `Serializable` annotation must be prohibited. Fixes https://github.com/Kotlin/kotlinx.serialization/issues/2173 Relates #KT-58036 Merge-request: KT-MR-10753 Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
8602ed2d21
commit
3629a9db30
+6
@@ -21,6 +21,12 @@ public class SerializationFirPsiDiagnosticTestGenerated extends AbstractSerializ
|
||||
@TestMetadata("plugins/kotlinx-serialization/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Diagnostics {
|
||||
@Test
|
||||
@TestMetadata("abstractCustomSerializer.kt")
|
||||
public void testAbstractCustomSerializer() throws Exception {
|
||||
runTest("plugins/kotlinx-serialization/testData/diagnostics/abstractCustomSerializer.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/kotlinx-serialization/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
|
||||
+6
@@ -19,6 +19,12 @@ import java.util.regex.Pattern;
|
||||
@TestMetadata("plugins/kotlinx-serialization/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class SerializationPluginDiagnosticTestGenerated extends AbstractSerializationPluginDiagnosticTest {
|
||||
@Test
|
||||
@TestMetadata("abstractCustomSerializer.kt")
|
||||
public void testAbstractCustomSerializer() throws Exception {
|
||||
runTest("plugins/kotlinx-serialization/testData/diagnostics/abstractCustomSerializer.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/kotlinx-serialization/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
|
||||
Reference in New Issue
Block a user