Add new flag to proto for field moved out from interface companion

This commit is contained in:
Mikhael Bogdanov
2018-03-16 11:24:35 +01:00
parent f3b419377b
commit 719c1882e0
4 changed files with 69 additions and 27 deletions
@@ -520,6 +520,11 @@ open class ProtoCompareGenerated(val oldNameResolver: NameResolver, val newNameR
if (!checkEquals(old.getExtension(JvmProtoBuf.propertySignature), new.getExtension(JvmProtoBuf.propertySignature))) return false if (!checkEquals(old.getExtension(JvmProtoBuf.propertySignature), new.getExtension(JvmProtoBuf.propertySignature))) return false
} }
if (old.hasExtension(JvmProtoBuf.isMovedFromInterfaceCompanion) != new.hasExtension(JvmProtoBuf.isMovedFromInterfaceCompanion)) return false
if (old.hasExtension(JvmProtoBuf.isMovedFromInterfaceCompanion)) {
if (old.getExtension(JvmProtoBuf.isMovedFromInterfaceCompanion) != new.getExtension(JvmProtoBuf.isMovedFromInterfaceCompanion)) return false
}
if (old.getExtensionCount(JsProtoBuf.propertyAnnotation) != new.getExtensionCount(JsProtoBuf.propertyAnnotation)) { if (old.getExtensionCount(JsProtoBuf.propertyAnnotation) != new.getExtensionCount(JsProtoBuf.propertyAnnotation)) {
return false return false
} }
@@ -1729,6 +1734,10 @@ fun ProtoBuf.Property.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int)
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.propertySignature).hashCode(stringIndexes, fqNameIndexes) hashCode = 31 * hashCode + getExtension(JvmProtoBuf.propertySignature).hashCode(stringIndexes, fqNameIndexes)
} }
if (hasExtension(JvmProtoBuf.isMovedFromInterfaceCompanion)) {
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.isMovedFromInterfaceCompanion)
}
for(i in 0..getExtensionCount(JsProtoBuf.propertyAnnotation) - 1) { for(i in 0..getExtensionCount(JsProtoBuf.propertyAnnotation) - 1) {
hashCode = 31 * hashCode + getExtension(JsProtoBuf.propertyAnnotation, i).hashCode(stringIndexes, fqNameIndexes) hashCode = 31 * hashCode + getExtension(JsProtoBuf.propertyAnnotation, i).hashCode(stringIndexes, fqNameIndexes)
} }
@@ -11,6 +11,7 @@ public final class DebugJvmProtoBuf {
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.methodSignature); registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.methodSignature);
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.lambdaClassOriginName); registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.lambdaClassOriginName);
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.propertySignature); registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.propertySignature);
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.isMovedFromInterfaceCompanion);
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.typeAnnotation); registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.typeAnnotation);
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.isRaw); registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.isRaw);
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.typeParameterAnnotation); registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.typeParameterAnnotation);
@@ -4558,6 +4559,17 @@ public final class DebugJvmProtoBuf {
.newFileScopedGeneratedExtension( .newFileScopedGeneratedExtension(
org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.JvmPropertySignature.class, org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.JvmPropertySignature.class,
org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.JvmPropertySignature.getDefaultInstance()); org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.JvmPropertySignature.getDefaultInstance());
public static final int IS_MOVED_FROM_INTERFACE_COMPANION_FIELD_NUMBER = 101;
/**
* <code>extend .org.jetbrains.kotlin.metadata.Property { ... }</code>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessage.GeneratedExtension<
org.jetbrains.kotlin.metadata.DebugProtoBuf.Property,
java.lang.Integer> isMovedFromInterfaceCompanion = org.jetbrains.kotlin.protobuf.GeneratedMessage
.newFileScopedGeneratedExtension(
java.lang.Integer.class,
null);
public static final int TYPE_ANNOTATION_FIELD_NUMBER = 100; public static final int TYPE_ANNOTATION_FIELD_NUMBER = 100;
/** /**
* <code>extend .org.jetbrains.kotlin.metadata.Type { ... }</code> * <code>extend .org.jetbrains.kotlin.metadata.Type { ... }</code>
@@ -4726,25 +4738,27 @@ public final class DebugJvmProtoBuf {
"perty_signature\022\'.org.jetbrains.kotlin.m" + "perty_signature\022\'.org.jetbrains.kotlin.m" +
"etadata.Property\030d \001(\01327.org.jetbrains.k" + "etadata.Property\030d \001(\01327.org.jetbrains.k" +
"otlin.metadata.jvm.JvmPropertySignature:" + "otlin.metadata.jvm.JvmPropertySignature:" +
"g\n\017type_annotation\022#.org.jetbrains.kotli" + "R\n!is_moved_from_interface_companion\022\'.o" +
"n.metadata.Type\030d \003(\0132).org.jetbrains.ko" + "rg.jetbrains.kotlin.metadata.Property\030e " +
"tlin.metadata.Annotation:3\n\006is_raw\022#.org", "\001(\005:g\n\017type_annotation\022#.org.jetbrains.k",
".jetbrains.kotlin.metadata.Type\030e \001(\010:z\n" + "otlin.metadata.Type\030d \003(\0132).org.jetbrain" +
"\031type_parameter_annotation\022,.org.jetbrai" + "s.kotlin.metadata.Annotation:3\n\006is_raw\022#" +
"ns.kotlin.metadata.TypeParameter\030d \003(\0132)" + ".org.jetbrains.kotlin.metadata.Type\030e \001(" +
".org.jetbrains.kotlin.metadata.Annotatio" + "\010:z\n\031type_parameter_annotation\022,.org.jet" +
"n:E\n\021class_module_name\022$.org.jetbrains.k" + "brains.kotlin.metadata.TypeParameter\030d \003" +
"otlin.metadata.Class\030e \001(\005B\004\230\265\030\001:k\n\024clas" + "(\0132).org.jetbrains.kotlin.metadata.Annot" +
"s_local_variable\022$.org.jetbrains.kotlin." + "ation:E\n\021class_module_name\022$.org.jetbrai" +
"metadata.Class\030f \003(\0132\'.org.jetbrains.kot" + "ns.kotlin.metadata.Class\030e \001(\005B\004\230\265\030\001:k\n\024" +
"lin.metadata.Property:P\n\034anonymous_objec" + "class_local_variable\022$.org.jetbrains.kot" +
"t_origin_name\022$.org.jetbrains.kotlin.met", "lin.metadata.Class\030f \003(\0132\'.org.jetbrains",
"adata.Class\030g \001(\005B\004\230\265\030\001:I\n\023package_modul" + ".kotlin.metadata.Property:P\n\034anonymous_o" +
"e_name\022&.org.jetbrains.kotlin.metadata.P" + "bject_origin_name\022$.org.jetbrains.kotlin" +
"ackage\030e \001(\005B\004\230\265\030\001:o\n\026package_local_vari" + ".metadata.Class\030g \001(\005B\004\230\265\030\001:I\n\023package_m" +
"able\022&.org.jetbrains.kotlin.metadata.Pac" + "odule_name\022&.org.jetbrains.kotlin.metada" +
"kage\030f \003(\0132\'.org.jetbrains.kotlin.metada" + "ta.Package\030e \001(\005B\004\230\265\030\001:o\n\026package_local_" +
"ta.PropertyB\022B\020DebugJvmProtoBuf" "variable\022&.org.jetbrains.kotlin.metadata" +
".Package\030f \003(\0132\'.org.jetbrains.kotlin.me" +
"tadata.PropertyB\022B\020DebugJvmProtoBuf"
}; };
org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
@@ -4794,14 +4808,15 @@ public final class DebugJvmProtoBuf {
methodSignature.internalInit(descriptor.getExtensions().get(1)); methodSignature.internalInit(descriptor.getExtensions().get(1));
lambdaClassOriginName.internalInit(descriptor.getExtensions().get(2)); lambdaClassOriginName.internalInit(descriptor.getExtensions().get(2));
propertySignature.internalInit(descriptor.getExtensions().get(3)); propertySignature.internalInit(descriptor.getExtensions().get(3));
typeAnnotation.internalInit(descriptor.getExtensions().get(4)); isMovedFromInterfaceCompanion.internalInit(descriptor.getExtensions().get(4));
isRaw.internalInit(descriptor.getExtensions().get(5)); typeAnnotation.internalInit(descriptor.getExtensions().get(5));
typeParameterAnnotation.internalInit(descriptor.getExtensions().get(6)); isRaw.internalInit(descriptor.getExtensions().get(6));
classModuleName.internalInit(descriptor.getExtensions().get(7)); typeParameterAnnotation.internalInit(descriptor.getExtensions().get(7));
classLocalVariable.internalInit(descriptor.getExtensions().get(8)); classModuleName.internalInit(descriptor.getExtensions().get(8));
anonymousObjectOriginName.internalInit(descriptor.getExtensions().get(9)); classLocalVariable.internalInit(descriptor.getExtensions().get(9));
packageModuleName.internalInit(descriptor.getExtensions().get(10)); anonymousObjectOriginName.internalInit(descriptor.getExtensions().get(10));
packageLocalVariable.internalInit(descriptor.getExtensions().get(11)); packageModuleName.internalInit(descriptor.getExtensions().get(11));
packageLocalVariable.internalInit(descriptor.getExtensions().get(12));
org.jetbrains.kotlin.protobuf.ExtensionRegistry registry = org.jetbrains.kotlin.protobuf.ExtensionRegistry registry =
org.jetbrains.kotlin.protobuf.ExtensionRegistry.newInstance(); org.jetbrains.kotlin.protobuf.ExtensionRegistry.newInstance();
registry.add(org.jetbrains.kotlin.metadata.DebugExtOptionsProtoBuf.stringIdInTable); registry.add(org.jetbrains.kotlin.metadata.DebugExtOptionsProtoBuf.stringIdInTable);
+1
View File
@@ -102,6 +102,7 @@ extend Function {
extend Property { extend Property {
optional JvmPropertySignature property_signature = 100; optional JvmPropertySignature property_signature = 100;
optional int32 is_moved_from_interface_companion = 101;
} }
extend Type { extend Type {
@@ -11,6 +11,7 @@ public final class JvmProtoBuf {
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.methodSignature); registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.methodSignature);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.lambdaClassOriginName); registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.lambdaClassOriginName);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.propertySignature); registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.propertySignature);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.isMovedFromInterfaceCompanion);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.typeAnnotation); registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.typeAnnotation);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.isRaw); registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.isRaw);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.typeParameterAnnotation); registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.typeParameterAnnotation);
@@ -3858,6 +3859,22 @@ public final class JvmProtoBuf {
100, 100,
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE, org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE,
org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.JvmPropertySignature.class); org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.JvmPropertySignature.class);
public static final int IS_MOVED_FROM_INTERFACE_COMPANION_FIELD_NUMBER = 101;
/**
* <code>extend .org.jetbrains.kotlin.metadata.Property { ... }</code>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension<
org.jetbrains.kotlin.metadata.ProtoBuf.Property,
java.lang.Integer> isMovedFromInterfaceCompanion = org.jetbrains.kotlin.protobuf.GeneratedMessageLite
.newSingularGeneratedExtension(
org.jetbrains.kotlin.metadata.ProtoBuf.Property.getDefaultInstance(),
0,
null,
null,
101,
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.INT32,
java.lang.Integer.class);
public static final int TYPE_ANNOTATION_FIELD_NUMBER = 100; public static final int TYPE_ANNOTATION_FIELD_NUMBER = 100;
/** /**
* <code>extend .org.jetbrains.kotlin.metadata.Type { ... }</code> * <code>extend .org.jetbrains.kotlin.metadata.Type { ... }</code>