fix KT-8648 Exception from incremental compilation
#KT-8648 Fixed
This commit is contained in:
@@ -10,6 +10,7 @@ public final class DebugExtOptionsProtoBuf {
|
|||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.skipInComparison);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.skipInComparison);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
||||||
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
|
||||||
}
|
}
|
||||||
public static final int SKIP_IN_COMPARISON_FIELD_NUMBER = 50000;
|
public static final int SKIP_IN_COMPARISON_FIELD_NUMBER = 50000;
|
||||||
/**
|
/**
|
||||||
@@ -44,6 +45,17 @@ public final class DebugExtOptionsProtoBuf {
|
|||||||
.newFileScopedGeneratedExtension(
|
.newFileScopedGeneratedExtension(
|
||||||
java.lang.Boolean.class,
|
java.lang.Boolean.class,
|
||||||
null);
|
null);
|
||||||
|
public static final int STRING_ID_IN_TABLE_FIELD_NUMBER = 50003;
|
||||||
|
/**
|
||||||
|
* <code>extend .google.protobuf.FieldOptions { ... }</code>
|
||||||
|
*/
|
||||||
|
public static final
|
||||||
|
com.google.protobuf.GeneratedMessage.GeneratedExtension<
|
||||||
|
com.google.protobuf.DescriptorProtos.FieldOptions,
|
||||||
|
java.lang.Boolean> stringIdInTable = com.google.protobuf.GeneratedMessage
|
||||||
|
.newFileScopedGeneratedExtension(
|
||||||
|
java.lang.Boolean.class,
|
||||||
|
null);
|
||||||
|
|
||||||
public static com.google.protobuf.Descriptors.FileDescriptor
|
public static com.google.protobuf.Descriptors.FileDescriptor
|
||||||
getDescriptor() {
|
getDescriptor() {
|
||||||
@@ -60,8 +72,9 @@ public final class DebugExtOptionsProtoBuf {
|
|||||||
".FieldOptions\030\320\206\003 \001(\010:9\n\020name_id_in_tabl" +
|
".FieldOptions\030\320\206\003 \001(\010:9\n\020name_id_in_tabl" +
|
||||||
"e\022\035.google.protobuf.FieldOptions\030\321\206\003 \001(\010" +
|
"e\022\035.google.protobuf.FieldOptions\030\321\206\003 \001(\010" +
|
||||||
":<\n\023fq_name_id_in_table\022\035.google.protobu" +
|
":<\n\023fq_name_id_in_table\022\035.google.protobu" +
|
||||||
"f.FieldOptions\030\322\206\003 \001(\010B\034B\027DebugExtOption" +
|
"f.FieldOptions\030\322\206\003 \001(\010:;\n\022string_id_in_t" +
|
||||||
"sProtoBuf\210\001\000"
|
"able\022\035.google.protobuf.FieldOptions\030\323\206\003 " +
|
||||||
|
"\001(\010B\034B\027DebugExtOptionsProtoBuf\210\001\000"
|
||||||
};
|
};
|
||||||
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
|
||||||
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
|
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
|
||||||
@@ -71,6 +84,7 @@ public final class DebugExtOptionsProtoBuf {
|
|||||||
skipInComparison.internalInit(descriptor.getExtensions().get(0));
|
skipInComparison.internalInit(descriptor.getExtensions().get(0));
|
||||||
nameIdInTable.internalInit(descriptor.getExtensions().get(1));
|
nameIdInTable.internalInit(descriptor.getExtensions().get(1));
|
||||||
fqNameIdInTable.internalInit(descriptor.getExtensions().get(2));
|
fqNameIdInTable.internalInit(descriptor.getExtensions().get(2));
|
||||||
|
stringIdInTable.internalInit(descriptor.getExtensions().get(3));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17280,7 +17280,7 @@ public final class DebugProtoBuf {
|
|||||||
".kotlin.serialization.Annotation.Argumen",
|
".kotlin.serialization.Annotation.Argumen",
|
||||||
"t.Value.Type\022\021\n\tint_value\030\002 \001(\022\022\023\n\013float" +
|
"t.Value.Type\022\021\n\tint_value\030\002 \001(\022\022\023\n\013float" +
|
||||||
"_value\030\003 \001(\002\022\024\n\014double_value\030\004 \001(\001\022\032\n\014st" +
|
"_value\030\003 \001(\002\022\024\n\014double_value\030\004 \001(\001\022\032\n\014st" +
|
||||||
"ring_value\030\005 \001(\005B\004\210\265\030\001\022\026\n\010class_id\030\006 \001(\005" +
|
"ring_value\030\005 \001(\005B\004\230\265\030\001\022\026\n\010class_id\030\006 \001(\005" +
|
||||||
"B\004\220\265\030\001\022\033\n\renum_value_id\030\007 \001(\005B\004\210\265\030\001\022B\n\na" +
|
"B\004\220\265\030\001\022\033\n\renum_value_id\030\007 \001(\005B\004\210\265\030\001\022B\n\na" +
|
||||||
"nnotation\030\010 \001(\0132..org.jetbrains.kotlin.s" +
|
"nnotation\030\010 \001(\0132..org.jetbrains.kotlin.s" +
|
||||||
"erialization.Annotation\022T\n\rarray_element" +
|
"erialization.Annotation\022T\n\rarray_element" +
|
||||||
@@ -17295,7 +17295,7 @@ public final class DebugProtoBuf {
|
|||||||
"\030\002 \003(\01321.org.jetbrains.kotlin.serializat" +
|
"\030\002 \003(\01321.org.jetbrains.kotlin.serializat" +
|
||||||
"ion.Type.Argument\022\027\n\010nullable\030\003 \001(\010:\005fal" +
|
"ion.Type.Argument\022\027\n\010nullable\030\003 \001(\010:\005fal" +
|
||||||
"se\022+\n\035flexible_type_capabilities_id\030\004 \001(" +
|
"se\022+\n\035flexible_type_capabilities_id\030\004 \001(" +
|
||||||
"\005B\004\210\265\030\001\022F\n\024flexible_upper_bound\030\005 \001(\0132(." +
|
"\005B\004\230\265\030\001\022F\n\024flexible_upper_bound\030\005 \001(\0132(." +
|
||||||
"org.jetbrains.kotlin.serialization.Type\022" +
|
"org.jetbrains.kotlin.serialization.Type\022" +
|
||||||
"$\n\026constructor_class_name\030\006 \001(\005B\004\220\265\030\001\022\"\n",
|
"$\n\026constructor_class_name\030\006 \001(\005B\004\220\265\030\001\022\"\n",
|
||||||
"\032constructor_type_parameter\030\007 \001(\005\032\234\001\n\013Co" +
|
"\032constructor_type_parameter\030\007 \001(\005\032\234\001\n\013Co" +
|
||||||
@@ -17458,10 +17458,10 @@ public final class DebugProtoBuf {
|
|||||||
com.google.protobuf.ExtensionRegistry.newInstance();
|
com.google.protobuf.ExtensionRegistry.newInstance();
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.skipInComparison);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.skipInComparison);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.skipInComparison);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.skipInComparison);
|
||||||
|
|||||||
@@ -3838,12 +3838,12 @@ public final class DebugJvmProtoBuf {
|
|||||||
"\rPrimitiveType\022\010\n\004VOID\020\000\022\013\n\007BOOLEAN\020\001\022\010\n",
|
"\rPrimitiveType\022\010\n\004VOID\020\000\022\013\n\007BOOLEAN\020\001\022\010\n",
|
||||||
"\004CHAR\020\002\022\010\n\004BYTE\020\003\022\t\n\005SHORT\020\004\022\007\n\003INT\020\005\022\t\n" +
|
"\004CHAR\020\002\022\010\n\004BYTE\020\003\022\t\n\005SHORT\020\004\022\007\n\003INT\020\005\022\t\n" +
|
||||||
"\005FLOAT\020\006\022\010\n\004LONG\020\007\022\n\n\006DOUBLE\020\010\"\267\001\n\022JvmMe" +
|
"\005FLOAT\020\006\022\010\n\004LONG\020\007\022\n\n\006DOUBLE\020\010\"\267\001\n\022JvmMe" +
|
||||||
"thodSignature\022\022\n\004name\030\001 \002(\005B\004\210\265\030\001\022D\n\013ret" +
|
"thodSignature\022\022\n\004name\030\001 \002(\005B\004\230\265\030\001\022D\n\013ret" +
|
||||||
"urn_type\030\002 \002(\0132/.org.jetbrains.kotlin.se" +
|
"urn_type\030\002 \002(\0132/.org.jetbrains.kotlin.se" +
|
||||||
"rialization.jvm.JvmType\022G\n\016parameter_typ" +
|
"rialization.jvm.JvmType\022G\n\016parameter_typ" +
|
||||||
"e\030\003 \003(\0132/.org.jetbrains.kotlin.serializa" +
|
"e\030\003 \003(\0132/.org.jetbrains.kotlin.serializa" +
|
||||||
"tion.jvm.JvmType\"\211\001\n\021JvmFieldSignature\022\022" +
|
"tion.jvm.JvmType\"\211\001\n\021JvmFieldSignature\022\022" +
|
||||||
"\n\004name\030\001 \002(\005B\004\210\265\030\001\022=\n\004type\030\002 \002(\0132/.org.j" +
|
"\n\004name\030\001 \002(\005B\004\230\265\030\001\022=\n\004type\030\002 \002(\0132/.org.j" +
|
||||||
"etbrains.kotlin.serialization.jvm.JvmTyp" +
|
"etbrains.kotlin.serialization.jvm.JvmTyp" +
|
||||||
"e\022!\n\022is_static_in_outer\030\003 \001(\010:\005false\"\316\002\n",
|
"e\022!\n\022is_static_in_outer\030\003 \001(\010:\005false\"\316\002\n",
|
||||||
"\024JvmPropertySignature\022H\n\005field\030\001 \001(\01329.o" +
|
"\024JvmPropertySignature\022H\n\005field\030\001 \001(\01329.o" +
|
||||||
@@ -3911,8 +3911,8 @@ public final class DebugJvmProtoBuf {
|
|||||||
com.google.protobuf.ExtensionRegistry registry =
|
com.google.protobuf.ExtensionRegistry registry =
|
||||||
com.google.protobuf.ExtensionRegistry.newInstance();
|
com.google.protobuf.ExtensionRegistry.newInstance();
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.fqNameIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.stringIdInTable);
|
||||||
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
registry.add(org.jetbrains.kotlin.serialization.DebugExtOptionsProtoBuf.nameIdInTable);
|
||||||
return registry;
|
return registry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,13 +47,13 @@ message JvmType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message JvmMethodSignature {
|
message JvmMethodSignature {
|
||||||
required int32 name = 1 [(name_id_in_table) = true];
|
required int32 name = 1 [(string_id_in_table) = true];
|
||||||
required JvmType return_type = 2;
|
required JvmType return_type = 2;
|
||||||
repeated JvmType parameter_type = 3;
|
repeated JvmType parameter_type = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message JvmFieldSignature {
|
message JvmFieldSignature {
|
||||||
required int32 name = 1 [(name_id_in_table) = true];
|
required int32 name = 1 [(string_id_in_table) = true];
|
||||||
required JvmType type = 2;
|
required JvmType type = 2;
|
||||||
|
|
||||||
// True iff this field is a backing field for a companion object and is really present as a static
|
// True iff this field is a backing field for a companion object and is really present as a static
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ message Annotation {
|
|||||||
optional double double_value = 4;
|
optional double double_value = 4;
|
||||||
|
|
||||||
// id in StringTable
|
// id in StringTable
|
||||||
optional int32 string_value = 5 [(name_id_in_table) = true];
|
optional int32 string_value = 5 [(string_id_in_table) = true];
|
||||||
|
|
||||||
// If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
|
// If type = CLASS, FQ name id of the referenced class; if type = ENUM, FQ name id of the enum class
|
||||||
optional int32 class_id = 6 [(fq_name_id_in_table) = true];
|
optional int32 class_id = 6 [(fq_name_id_in_table) = true];
|
||||||
@@ -133,7 +133,7 @@ message Type {
|
|||||||
// Id in the StringTable
|
// Id in the StringTable
|
||||||
// If this field is set, the type is flexible.
|
// If this field is set, the type is flexible.
|
||||||
// All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
|
// All the other fields and extensions represent its lower bound, and flexible_upper_bound must be set and represents its upper bound.
|
||||||
optional int32 flexible_type_capabilities_id = 4 [(name_id_in_table) = true];
|
optional int32 flexible_type_capabilities_id = 4 [(string_id_in_table) = true];
|
||||||
|
|
||||||
// While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
|
// While such an "indirect" encoding helps backwards compatibility with pre-flexible-types versions of this format,
|
||||||
// we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
|
// we use it mainly to save space: having a special mandatory tag on each an every type just to have an option
|
||||||
|
|||||||
@@ -9,4 +9,5 @@ extend google.protobuf.FieldOptions {
|
|||||||
optional bool skip_in_comparison = 50000;
|
optional bool skip_in_comparison = 50000;
|
||||||
optional bool name_id_in_table = 50001;
|
optional bool name_id_in_table = 50001;
|
||||||
optional bool fq_name_id_in_table = 50002;
|
optional bool fq_name_id_in_table = 50002;
|
||||||
|
optional bool string_id_in_table = 50003;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ class GenerateProtoBufCompare {
|
|||||||
p.println("open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, private val newNameResolver: NameResolver) {")
|
p.println("open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, private val newNameResolver: NameResolver) {")
|
||||||
p.pushIndent()
|
p.pushIndent()
|
||||||
|
|
||||||
p.println("private val nameIdMap: MutableMap<Int, Int> = hashMapOf()")
|
p.println("private val stringIdMap: MutableMap<Int, Int> = hashMapOf()")
|
||||||
p.println("private val fqNameIdMap: MutableMap<Int, Int> = hashMapOf()")
|
p.println("private val fqNameIdMap: MutableMap<Int, Int> = hashMapOf()")
|
||||||
p.println()
|
p.println()
|
||||||
|
|
||||||
@@ -101,15 +101,18 @@ class GenerateProtoBufCompare {
|
|||||||
|
|
||||||
fun generatePredefined(p: Printer) {
|
fun generatePredefined(p: Printer) {
|
||||||
p.println()
|
p.println()
|
||||||
p.println("fun checkNameIdEquals(old: Int, new: Int): Boolean {")
|
p.println("fun checkStringIdEquals(old: Int, new: Int): Boolean {")
|
||||||
p.println(" nameIdMap.get(old)?.let { return it == new }")
|
p.println(" stringIdMap.get(old)?.let { return it == new }")
|
||||||
p.println()
|
p.println()
|
||||||
p.println(" val oldValue = oldNameResolver.getName(old).asString()")
|
p.println(" val oldValue = oldNameResolver.stringTable.getString(old)")
|
||||||
p.println(" val newValue = newNameResolver.getName(new).asString()")
|
p.println(" val newValue = newNameResolver.stringTable.getString(new)")
|
||||||
p.println()
|
p.println()
|
||||||
p.println(" return if (oldValue == newValue) { nameIdMap[old] = new; true } else false")
|
p.println(" return if (oldValue == newValue) { stringIdMap[old] = new; true } else false")
|
||||||
p.println("}")
|
p.println("}")
|
||||||
|
|
||||||
|
p.println()
|
||||||
|
p.println("fun checkNameIdEquals(old: Int, new: Int): Boolean = checkStringIdEquals(old, new)")
|
||||||
|
|
||||||
p.println()
|
p.println()
|
||||||
p.println("fun checkFqNameIdEquals(old: Int, new: Int): Boolean {")
|
p.println("fun checkFqNameIdEquals(old: Int, new: Int): Boolean {")
|
||||||
p.println(" fqNameIdMap.get(old)?.let { return it == new }")
|
p.println(" fqNameIdMap.get(old)?.let { return it == new }")
|
||||||
@@ -225,6 +228,8 @@ class GenerateProtoBufCompare {
|
|||||||
|
|
||||||
private fun Printer.printlnIfWithComparison(field: Descriptors.FieldDescriptor, expr: String, withIndent: Boolean = false) {
|
private fun Printer.printlnIfWithComparison(field: Descriptors.FieldDescriptor, expr: String, withIndent: Boolean = false) {
|
||||||
val line = when {
|
val line = when {
|
||||||
|
field.options.getExtension(DebugExtOptionsProtoBuf.stringIdInTable) ->
|
||||||
|
"if (!checkStringIdEquals(old.$expr, new.$expr)) return false"
|
||||||
field.options.getExtension(DebugExtOptionsProtoBuf.nameIdInTable) ->
|
field.options.getExtension(DebugExtOptionsProtoBuf.nameIdInTable) ->
|
||||||
"if (!checkNameIdEquals(old.$expr, new.$expr)) return false"
|
"if (!checkNameIdEquals(old.$expr, new.$expr)) return false"
|
||||||
field.options.getExtension(DebugExtOptionsProtoBuf.fqNameIdInTable) ->
|
field.options.getExtension(DebugExtOptionsProtoBuf.fqNameIdInTable) ->
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.serialization.jvm.JvmProtoBuf
|
|||||||
/** This file is generated by org.jetbrains.kotlin.generators.protobuf.GenerateProtoBufCompare. DO NOT MODIFY MANUALLY */
|
/** This file is generated by org.jetbrains.kotlin.generators.protobuf.GenerateProtoBufCompare. DO NOT MODIFY MANUALLY */
|
||||||
|
|
||||||
open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, private val newNameResolver: NameResolver) {
|
open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, private val newNameResolver: NameResolver) {
|
||||||
private val nameIdMap: MutableMap<Int, Int> = hashMapOf()
|
private val stringIdMap: MutableMap<Int, Int> = hashMapOf()
|
||||||
private val fqNameIdMap: MutableMap<Int, Int> = hashMapOf()
|
private val fqNameIdMap: MutableMap<Int, Int> = hashMapOf()
|
||||||
|
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, priv
|
|||||||
|
|
||||||
if (old.hasFlexibleTypeCapabilitiesId() != new.hasFlexibleTypeCapabilitiesId()) return false
|
if (old.hasFlexibleTypeCapabilitiesId() != new.hasFlexibleTypeCapabilitiesId()) return false
|
||||||
if (old.hasFlexibleTypeCapabilitiesId()) {
|
if (old.hasFlexibleTypeCapabilitiesId()) {
|
||||||
if (!checkNameIdEquals(old.flexibleTypeCapabilitiesId, new.flexibleTypeCapabilitiesId)) return false
|
if (!checkStringIdEquals(old.flexibleTypeCapabilitiesId, new.flexibleTypeCapabilitiesId)) return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old.hasFlexibleUpperBound() != new.hasFlexibleUpperBound()) return false
|
if (old.hasFlexibleUpperBound() != new.hasFlexibleUpperBound()) return false
|
||||||
@@ -221,7 +221,7 @@ open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, priv
|
|||||||
}
|
}
|
||||||
|
|
||||||
open fun checkEquals(old: JvmProtoBuf.JvmMethodSignature, new: JvmProtoBuf.JvmMethodSignature): Boolean {
|
open fun checkEquals(old: JvmProtoBuf.JvmMethodSignature, new: JvmProtoBuf.JvmMethodSignature): Boolean {
|
||||||
if (!checkNameIdEquals(old.name, new.name)) return false
|
if (!checkStringIdEquals(old.name, new.name)) return false
|
||||||
|
|
||||||
if (!checkEquals(old.returnType, new.returnType)) return false
|
if (!checkEquals(old.returnType, new.returnType)) return false
|
||||||
|
|
||||||
@@ -300,7 +300,7 @@ open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, priv
|
|||||||
}
|
}
|
||||||
|
|
||||||
open fun checkEquals(old: JvmProtoBuf.JvmFieldSignature, new: JvmProtoBuf.JvmFieldSignature): Boolean {
|
open fun checkEquals(old: JvmProtoBuf.JvmFieldSignature, new: JvmProtoBuf.JvmFieldSignature): Boolean {
|
||||||
if (!checkNameIdEquals(old.name, new.name)) return false
|
if (!checkStringIdEquals(old.name, new.name)) return false
|
||||||
|
|
||||||
if (!checkEquals(old.type, new.type)) return false
|
if (!checkEquals(old.type, new.type)) return false
|
||||||
|
|
||||||
@@ -335,7 +335,7 @@ open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, priv
|
|||||||
|
|
||||||
if (old.hasStringValue() != new.hasStringValue()) return false
|
if (old.hasStringValue() != new.hasStringValue()) return false
|
||||||
if (old.hasStringValue()) {
|
if (old.hasStringValue()) {
|
||||||
if (!checkNameIdEquals(old.stringValue, new.stringValue)) return false
|
if (!checkStringIdEquals(old.stringValue, new.stringValue)) return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old.hasClassId() != new.hasClassId()) return false
|
if (old.hasClassId() != new.hasClassId()) return false
|
||||||
@@ -500,15 +500,17 @@ open class ProtoCompareGenerated(private val oldNameResolver: NameResolver, priv
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
fun checkNameIdEquals(old: Int, new: Int): Boolean {
|
fun checkStringIdEquals(old: Int, new: Int): Boolean {
|
||||||
nameIdMap.get(old)?.let { return it == new }
|
stringIdMap.get(old)?.let { return it == new }
|
||||||
|
|
||||||
val oldValue = oldNameResolver.getName(old).asString()
|
val oldValue = oldNameResolver.stringTable.getString(old)
|
||||||
val newValue = newNameResolver.getName(new).asString()
|
val newValue = newNameResolver.stringTable.getString(new)
|
||||||
|
|
||||||
return if (oldValue == newValue) { nameIdMap[old] = new; true } else false
|
return if (oldValue == newValue) { stringIdMap[old] = new; true } else false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun checkNameIdEquals(old: Int, new: Int): Boolean = checkStringIdEquals(old, new)
|
||||||
|
|
||||||
fun checkFqNameIdEquals(old: Int, new: Int): Boolean {
|
fun checkFqNameIdEquals(old: Int, new: Int): Boolean {
|
||||||
fqNameIdMap.get(old)?.let { return it == new }
|
fqNameIdMap.get(old)?.let { return it == new }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user