Serialize/deserialize annotations on enum entries
#KT-10338 Fixed
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -74,6 +74,10 @@ public class BuiltInsSerializerTest : TestCaseWithTmpdir() {
|
||||
doTest("annotationTargets.kt")
|
||||
}
|
||||
|
||||
fun testAnnotatedEnumEntry() {
|
||||
doTest("annotatedEnumEntry.kt")
|
||||
}
|
||||
|
||||
fun testPrimitives() {
|
||||
doTest("annotationArguments/primitives.kt")
|
||||
}
|
||||
|
||||
+30
-14
@@ -14,6 +14,7 @@ public final class DebugBuiltInsProtoBuf {
|
||||
registry.add(org.jetbrains.kotlin.serialization.builtins.DebugBuiltInsProtoBuf.functionAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.builtins.DebugBuiltInsProtoBuf.propertyAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.builtins.DebugBuiltInsProtoBuf.compileTimeValue);
|
||||
registry.add(org.jetbrains.kotlin.serialization.builtins.DebugBuiltInsProtoBuf.enumEntryAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.builtins.DebugBuiltInsProtoBuf.parameterAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.builtins.DebugBuiltInsProtoBuf.typeAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.builtins.DebugBuiltInsProtoBuf.typeParameterAnnotation);
|
||||
@@ -95,6 +96,17 @@ public final class DebugBuiltInsProtoBuf {
|
||||
.newFileScopedGeneratedExtension(
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.Argument.Value.class,
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.Argument.Value.getDefaultInstance());
|
||||
public static final int ENUM_ENTRY_ANNOTATION_FIELD_NUMBER = 150;
|
||||
/**
|
||||
* <code>extend .org.jetbrains.kotlin.serialization.EnumEntry { ... }</code>
|
||||
*/
|
||||
public static final
|
||||
com.google.protobuf.GeneratedMessage.GeneratedExtension<
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.EnumEntry,
|
||||
java.util.List<org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation>> enumEntryAnnotation = com.google.protobuf.GeneratedMessage
|
||||
.newFileScopedGeneratedExtension(
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.class,
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.getDefaultInstance());
|
||||
public static final int PARAMETER_ANNOTATION_FIELD_NUMBER = 150;
|
||||
/**
|
||||
* <code>extend .org.jetbrains.kotlin.serialization.ValueParameter { ... }</code>
|
||||
@@ -160,17 +172,20 @@ public final class DebugBuiltInsProtoBuf {
|
||||
"lue\022,.org.jetbrains.kotlin.serialization" +
|
||||
".Property\030\227\001 \001(\0132=.org.jetbrains.kotlin." +
|
||||
"serialization.Annotation.Argument.Value:" +
|
||||
"\201\001\n\024parameter_annotation\0222.org.jetbrains" +
|
||||
".kotlin.serialization.ValueParameter\030\226\001 " +
|
||||
"\003(\0132..org.jetbrains.kotlin.serialization" +
|
||||
".Annotation:r\n\017type_annotation\022(.org.jet" +
|
||||
"brains.kotlin.serialization.Type\030\226\001 \003(\0132" +
|
||||
"..org.jetbrains.kotlin.serialization.Ann" +
|
||||
"otation:\205\001\n\031type_parameter_annotation\0221.",
|
||||
"org.jetbrains.kotlin.serialization.TypeP" +
|
||||
"arameter\030\226\001 \003(\0132..org.jetbrains.kotlin.s" +
|
||||
"erialization.AnnotationB\027B\025DebugBuiltIns" +
|
||||
"ProtoBuf"
|
||||
"}\n\025enum_entry_annotation\022-.org.jetbrains" +
|
||||
".kotlin.serialization.EnumEntry\030\226\001 \003(\0132." +
|
||||
".org.jetbrains.kotlin.serialization.Anno" +
|
||||
"tation:\201\001\n\024parameter_annotation\0222.org.je" +
|
||||
"tbrains.kotlin.serialization.ValueParame" +
|
||||
"ter\030\226\001 \003(\0132..org.jetbrains.kotlin.serial" +
|
||||
"ization.Annotation:r\n\017type_annotation\022(.",
|
||||
"org.jetbrains.kotlin.serialization.Type\030" +
|
||||
"\226\001 \003(\0132..org.jetbrains.kotlin.serializat" +
|
||||
"ion.Annotation:\205\001\n\031type_parameter_annota" +
|
||||
"tion\0221.org.jetbrains.kotlin.serializatio" +
|
||||
"n.TypeParameter\030\226\001 \003(\0132..org.jetbrains.k" +
|
||||
"otlin.serialization.AnnotationB\027B\025DebugB" +
|
||||
"uiltInsProtoBuf"
|
||||
};
|
||||
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||||
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
|
||||
@@ -184,9 +199,10 @@ public final class DebugBuiltInsProtoBuf {
|
||||
functionAnnotation.internalInit(descriptor.getExtensions().get(4));
|
||||
propertyAnnotation.internalInit(descriptor.getExtensions().get(5));
|
||||
compileTimeValue.internalInit(descriptor.getExtensions().get(6));
|
||||
parameterAnnotation.internalInit(descriptor.getExtensions().get(7));
|
||||
typeAnnotation.internalInit(descriptor.getExtensions().get(8));
|
||||
typeParameterAnnotation.internalInit(descriptor.getExtensions().get(9));
|
||||
enumEntryAnnotation.internalInit(descriptor.getExtensions().get(7));
|
||||
parameterAnnotation.internalInit(descriptor.getExtensions().get(8));
|
||||
typeAnnotation.internalInit(descriptor.getExtensions().get(9));
|
||||
typeParameterAnnotation.internalInit(descriptor.getExtensions().get(10));
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@ public final class DebugJsProtoBuf {
|
||||
registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.functionAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.propertyAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.compileTimeValue);
|
||||
registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.enumEntryAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.parameterAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.typeAnnotation);
|
||||
registry.add(org.jetbrains.kotlin.serialization.js.DebugJsProtoBuf.typeParameterAnnotation);
|
||||
@@ -1859,6 +1860,17 @@ public final class DebugJsProtoBuf {
|
||||
.newFileScopedGeneratedExtension(
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.Argument.Value.class,
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.Argument.Value.getDefaultInstance());
|
||||
public static final int ENUM_ENTRY_ANNOTATION_FIELD_NUMBER = 130;
|
||||
/**
|
||||
* <code>extend .org.jetbrains.kotlin.serialization.EnumEntry { ... }</code>
|
||||
*/
|
||||
public static final
|
||||
com.google.protobuf.GeneratedMessage.GeneratedExtension<
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.EnumEntry,
|
||||
java.util.List<org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation>> enumEntryAnnotation = com.google.protobuf.GeneratedMessage
|
||||
.newFileScopedGeneratedExtension(
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.class,
|
||||
org.jetbrains.kotlin.serialization.DebugProtoBuf.Annotation.getDefaultInstance());
|
||||
public static final int PARAMETER_ANNOTATION_FIELD_NUMBER = 130;
|
||||
/**
|
||||
* <code>extend .org.jetbrains.kotlin.serialization.ValueParameter { ... }</code>
|
||||
@@ -1939,17 +1951,20 @@ public final class DebugJsProtoBuf {
|
||||
"ime_value\022,.org.jetbrains.kotlin.seriali" +
|
||||
"zation.Property\030\203\001 \001(\0132=.org.jetbrains.k" +
|
||||
"otlin.serialization.Annotation.Argument." +
|
||||
"Value:\201\001\n\024parameter_annotation\0222.org.jet" +
|
||||
"brains.kotlin.serialization.ValueParamet" +
|
||||
"er\030\202\001 \003(\0132..org.jetbrains.kotlin.seriali" +
|
||||
"zation.Annotation:r\n\017type_annotation\022(.o" +
|
||||
"rg.jetbrains.kotlin.serialization.Type\030\202" +
|
||||
"\001 \003(\0132..org.jetbrains.kotlin.serializati" +
|
||||
"on.Annotation:\205\001\n\031type_parameter_annotat",
|
||||
"ion\0221.org.jetbrains.kotlin.serialization" +
|
||||
".TypeParameter\030\202\001 \003(\0132..org.jetbrains.ko" +
|
||||
"tlin.serialization.AnnotationB\021B\017DebugJs" +
|
||||
"ProtoBuf"
|
||||
"Value:}\n\025enum_entry_annotation\022-.org.jet" +
|
||||
"brains.kotlin.serialization.EnumEntry\030\202\001" +
|
||||
" \003(\0132..org.jetbrains.kotlin.serializatio" +
|
||||
"n.Annotation:\201\001\n\024parameter_annotation\0222." +
|
||||
"org.jetbrains.kotlin.serialization.Value" +
|
||||
"Parameter\030\202\001 \003(\0132..org.jetbrains.kotlin." +
|
||||
"serialization.Annotation:r\n\017type_annotat",
|
||||
"ion\022(.org.jetbrains.kotlin.serialization" +
|
||||
".Type\030\202\001 \003(\0132..org.jetbrains.kotlin.seri" +
|
||||
"alization.Annotation:\205\001\n\031type_parameter_" +
|
||||
"annotation\0221.org.jetbrains.kotlin.serial" +
|
||||
"ization.TypeParameter\030\202\001 \003(\0132..org.jetbr" +
|
||||
"ains.kotlin.serialization.AnnotationB\021B\017" +
|
||||
"DebugJsProtoBuf"
|
||||
};
|
||||
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||||
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
|
||||
@@ -1979,9 +1994,10 @@ public final class DebugJsProtoBuf {
|
||||
functionAnnotation.internalInit(descriptor.getExtensions().get(2));
|
||||
propertyAnnotation.internalInit(descriptor.getExtensions().get(3));
|
||||
compileTimeValue.internalInit(descriptor.getExtensions().get(4));
|
||||
parameterAnnotation.internalInit(descriptor.getExtensions().get(5));
|
||||
typeAnnotation.internalInit(descriptor.getExtensions().get(6));
|
||||
typeParameterAnnotation.internalInit(descriptor.getExtensions().get(7));
|
||||
enumEntryAnnotation.internalInit(descriptor.getExtensions().get(5));
|
||||
parameterAnnotation.internalInit(descriptor.getExtensions().get(6));
|
||||
typeAnnotation.internalInit(descriptor.getExtensions().get(7));
|
||||
typeParameterAnnotation.internalInit(descriptor.getExtensions().get(8));
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -111,6 +111,10 @@ public class KotlinJavascriptSerializerTest : TestCaseWithTmpdir() {
|
||||
doTest("builtinsSerializer/annotationTargets.kt")
|
||||
}
|
||||
|
||||
fun testAnnotatedEnumEntry() {
|
||||
doTest("builtinsSerializer/annotatedEnumEntry.kt")
|
||||
}
|
||||
|
||||
fun testPrimitives() {
|
||||
doTest("builtinsSerializer/annotationArguments/primitives.kt")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user