Support annotations on property accessors in JS/common metadata

#KT-14529 Fixed
This commit is contained in:
Alexander Udalov
2018-10-01 18:34:04 +02:00
parent d1e1e274d9
commit 1ee1d15b91
27 changed files with 443 additions and 106 deletions
+2
View File
@@ -34,6 +34,8 @@ extend Function {
extend Property {
repeated Annotation property_annotation = 170;
repeated Annotation property_getter_annotation = 176;
repeated Annotation property_setter_annotation = 177;
optional bool has_backing_field = 171;
optional bool used_as_variable = 172;
optional Annotation.Argument.Value compile_time_value = 173;
@@ -14,6 +14,8 @@ public final class KonanProtoBuf {
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.functionAnnotation);
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.inlineIrBody);
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.propertyAnnotation);
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.propertyGetterAnnotation);
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.propertySetterAnnotation);
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.hasBackingField);
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.usedAsVariable);
registry.add(org.jetbrains.kotlin.metadata.konan.KonanProtoBuf.compileTimeValue);
@@ -3315,6 +3317,38 @@ public final class KonanProtoBuf {
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE,
false,
org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.class);
public static final int PROPERTY_GETTER_ANNOTATION_FIELD_NUMBER = 176;
/**
* <code>extend .org.jetbrains.kotlin.metadata.Property { ... }</code>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension<
org.jetbrains.kotlin.metadata.ProtoBuf.Property,
java.util.List<org.jetbrains.kotlin.metadata.ProtoBuf.Annotation>> propertyGetterAnnotation = org.jetbrains.kotlin.protobuf.GeneratedMessageLite
.newRepeatedGeneratedExtension(
org.jetbrains.kotlin.metadata.ProtoBuf.Property.getDefaultInstance(),
org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.getDefaultInstance(),
null,
176,
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE,
false,
org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.class);
public static final int PROPERTY_SETTER_ANNOTATION_FIELD_NUMBER = 177;
/**
* <code>extend .org.jetbrains.kotlin.metadata.Property { ... }</code>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension<
org.jetbrains.kotlin.metadata.ProtoBuf.Property,
java.util.List<org.jetbrains.kotlin.metadata.ProtoBuf.Annotation>> propertySetterAnnotation = org.jetbrains.kotlin.protobuf.GeneratedMessageLite
.newRepeatedGeneratedExtension(
org.jetbrains.kotlin.metadata.ProtoBuf.Property.getDefaultInstance(),
org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.getDefaultInstance(),
null,
177,
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE,
false,
org.jetbrains.kotlin.metadata.ProtoBuf.Annotation.class);
public static final int HAS_BACKING_FIELD_FIELD_NUMBER = 171;
/**
* <code>extend .org.jetbrains.kotlin.metadata.Property { ... }</code>
@@ -10,12 +10,14 @@ import org.jetbrains.kotlin.protobuf.ExtensionRegistryLite
import org.jetbrains.kotlin.serialization.SerializerExtensionProtocol
object KonanSerializerProtocol : SerializerExtensionProtocol(
ExtensionRegistryLite.newInstance().apply { KonanProtoBuf.registerAllExtensions(this) },
ExtensionRegistryLite.newInstance().apply(KonanProtoBuf::registerAllExtensions),
KonanProtoBuf.packageFqName,
KonanProtoBuf.constructorAnnotation,
KonanProtoBuf.classAnnotation,
KonanProtoBuf.functionAnnotation,
KonanProtoBuf.propertyAnnotation,
KonanProtoBuf.propertyGetterAnnotation,
KonanProtoBuf.propertySetterAnnotation,
KonanProtoBuf.enumEntryAnnotation,
KonanProtoBuf.compileTimeValue,
KonanProtoBuf.parameterAnnotation,