diff --git a/build-common/src/org/jetbrains/kotlin/incremental/ProtoCompareGenerated.kt b/build-common/src/org/jetbrains/kotlin/incremental/ProtoCompareGenerated.kt index 836ecc5ebba..e9c220f8765 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/ProtoCompareGenerated.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/ProtoCompareGenerated.kt @@ -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 (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)) { return false } @@ -1729,6 +1734,10 @@ fun ProtoBuf.Property.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) 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) { hashCode = 31 * hashCode + getExtension(JsProtoBuf.propertyAnnotation, i).hashCode(stringIndexes, fqNameIndexes) } diff --git a/build-common/test/org/jetbrains/kotlin/metadata/jvm/DebugJvmProtoBuf.java b/build-common/test/org/jetbrains/kotlin/metadata/jvm/DebugJvmProtoBuf.java index 8fbe195331e..94ec6b916e6 100644 --- a/build-common/test/org/jetbrains/kotlin/metadata/jvm/DebugJvmProtoBuf.java +++ b/build-common/test/org/jetbrains/kotlin/metadata/jvm/DebugJvmProtoBuf.java @@ -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.lambdaClassOriginName); 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.isRaw); registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.typeParameterAnnotation); @@ -4558,6 +4559,17 @@ public final class DebugJvmProtoBuf { .newFileScopedGeneratedExtension( org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.JvmPropertySignature.class, org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.JvmPropertySignature.getDefaultInstance()); + public static final int IS_MOVED_FROM_INTERFACE_COMPANION_FIELD_NUMBER = 101; + /** + * extend .org.jetbrains.kotlin.metadata.Property { ... } + */ + 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; /** * extend .org.jetbrains.kotlin.metadata.Type { ... } @@ -4726,25 +4738,27 @@ public final class DebugJvmProtoBuf { "perty_signature\022\'.org.jetbrains.kotlin.m" + "etadata.Property\030d \001(\01327.org.jetbrains.k" + "otlin.metadata.jvm.JvmPropertySignature:" + - "g\n\017type_annotation\022#.org.jetbrains.kotli" + - "n.metadata.Type\030d \003(\0132).org.jetbrains.ko" + - "tlin.metadata.Annotation:3\n\006is_raw\022#.org", - ".jetbrains.kotlin.metadata.Type\030e \001(\010:z\n" + - "\031type_parameter_annotation\022,.org.jetbrai" + - "ns.kotlin.metadata.TypeParameter\030d \003(\0132)" + - ".org.jetbrains.kotlin.metadata.Annotatio" + - "n:E\n\021class_module_name\022$.org.jetbrains.k" + - "otlin.metadata.Class\030e \001(\005B\004\230\265\030\001:k\n\024clas" + - "s_local_variable\022$.org.jetbrains.kotlin." + - "metadata.Class\030f \003(\0132\'.org.jetbrains.kot" + - "lin.metadata.Property:P\n\034anonymous_objec" + - "t_origin_name\022$.org.jetbrains.kotlin.met", - "adata.Class\030g \001(\005B\004\230\265\030\001:I\n\023package_modul" + - "e_name\022&.org.jetbrains.kotlin.metadata.P" + - "ackage\030e \001(\005B\004\230\265\030\001:o\n\026package_local_vari" + - "able\022&.org.jetbrains.kotlin.metadata.Pac" + - "kage\030f \003(\0132\'.org.jetbrains.kotlin.metada" + - "ta.PropertyB\022B\020DebugJvmProtoBuf" + "R\n!is_moved_from_interface_companion\022\'.o" + + "rg.jetbrains.kotlin.metadata.Property\030e " + + "\001(\005:g\n\017type_annotation\022#.org.jetbrains.k", + "otlin.metadata.Type\030d \003(\0132).org.jetbrain" + + "s.kotlin.metadata.Annotation:3\n\006is_raw\022#" + + ".org.jetbrains.kotlin.metadata.Type\030e \001(" + + "\010:z\n\031type_parameter_annotation\022,.org.jet" + + "brains.kotlin.metadata.TypeParameter\030d \003" + + "(\0132).org.jetbrains.kotlin.metadata.Annot" + + "ation:E\n\021class_module_name\022$.org.jetbrai" + + "ns.kotlin.metadata.Class\030e \001(\005B\004\230\265\030\001:k\n\024" + + "class_local_variable\022$.org.jetbrains.kot" + + "lin.metadata.Class\030f \003(\0132\'.org.jetbrains", + ".kotlin.metadata.Property:P\n\034anonymous_o" + + "bject_origin_name\022$.org.jetbrains.kotlin" + + ".metadata.Class\030g \001(\005B\004\230\265\030\001:I\n\023package_m" + + "odule_name\022&.org.jetbrains.kotlin.metada" + + "ta.Package\030e \001(\005B\004\230\265\030\001:o\n\026package_local_" + + "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 = new org.jetbrains.kotlin.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -4794,14 +4808,15 @@ public final class DebugJvmProtoBuf { methodSignature.internalInit(descriptor.getExtensions().get(1)); lambdaClassOriginName.internalInit(descriptor.getExtensions().get(2)); propertySignature.internalInit(descriptor.getExtensions().get(3)); - typeAnnotation.internalInit(descriptor.getExtensions().get(4)); - isRaw.internalInit(descriptor.getExtensions().get(5)); - typeParameterAnnotation.internalInit(descriptor.getExtensions().get(6)); - classModuleName.internalInit(descriptor.getExtensions().get(7)); - classLocalVariable.internalInit(descriptor.getExtensions().get(8)); - anonymousObjectOriginName.internalInit(descriptor.getExtensions().get(9)); - packageModuleName.internalInit(descriptor.getExtensions().get(10)); - packageLocalVariable.internalInit(descriptor.getExtensions().get(11)); + isMovedFromInterfaceCompanion.internalInit(descriptor.getExtensions().get(4)); + typeAnnotation.internalInit(descriptor.getExtensions().get(5)); + isRaw.internalInit(descriptor.getExtensions().get(6)); + typeParameterAnnotation.internalInit(descriptor.getExtensions().get(7)); + classModuleName.internalInit(descriptor.getExtensions().get(8)); + classLocalVariable.internalInit(descriptor.getExtensions().get(9)); + anonymousObjectOriginName.internalInit(descriptor.getExtensions().get(10)); + packageModuleName.internalInit(descriptor.getExtensions().get(11)); + packageLocalVariable.internalInit(descriptor.getExtensions().get(12)); org.jetbrains.kotlin.protobuf.ExtensionRegistry registry = org.jetbrains.kotlin.protobuf.ExtensionRegistry.newInstance(); registry.add(org.jetbrains.kotlin.metadata.DebugExtOptionsProtoBuf.stringIdInTable); diff --git a/core/metadata.jvm/src/jvm_metadata.proto b/core/metadata.jvm/src/jvm_metadata.proto index 59833c9ddbd..4d52ade9ab9 100644 --- a/core/metadata.jvm/src/jvm_metadata.proto +++ b/core/metadata.jvm/src/jvm_metadata.proto @@ -102,6 +102,7 @@ extend Function { extend Property { optional JvmPropertySignature property_signature = 100; + optional int32 is_moved_from_interface_companion = 101; } extend Type { diff --git a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/JvmProtoBuf.java b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/JvmProtoBuf.java index 1f06176aae0..33feb8b2b34 100644 --- a/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/JvmProtoBuf.java +++ b/core/metadata.jvm/src/org/jetbrains/kotlin/metadata/jvm/JvmProtoBuf.java @@ -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.lambdaClassOriginName); 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.isRaw); registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.typeParameterAnnotation); @@ -3858,6 +3859,22 @@ public final class JvmProtoBuf { 100, org.jetbrains.kotlin.protobuf.WireFormat.FieldType.MESSAGE, org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.JvmPropertySignature.class); + public static final int IS_MOVED_FROM_INTERFACE_COMPANION_FIELD_NUMBER = 101; + /** + * extend .org.jetbrains.kotlin.metadata.Property { ... } + */ + 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; /** * extend .org.jetbrains.kotlin.metadata.Type { ... }