Minor. Rename new proto property, JvmFlags.getClassFlags method
Compiler requires this new flag to know where actual interface method body is generated to emit proper method calls
This commit is contained in:
@@ -206,9 +206,9 @@ open class ProtoCompareGenerated(
|
|||||||
if (!checkStringEquals(old.getExtension(JvmProtoBuf.anonymousObjectOriginName), new.getExtension(JvmProtoBuf.anonymousObjectOriginName))) return false
|
if (!checkStringEquals(old.getExtension(JvmProtoBuf.anonymousObjectOriginName), new.getExtension(JvmProtoBuf.anonymousObjectOriginName))) return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old.hasExtension(JvmProtoBuf.generationOptions) != new.hasExtension(JvmProtoBuf.generationOptions)) return false
|
if (old.hasExtension(JvmProtoBuf.jvmClassFlags) != new.hasExtension(JvmProtoBuf.jvmClassFlags)) return false
|
||||||
if (old.hasExtension(JvmProtoBuf.generationOptions)) {
|
if (old.hasExtension(JvmProtoBuf.jvmClassFlags)) {
|
||||||
if (old.getExtension(JvmProtoBuf.generationOptions) != new.getExtension(JvmProtoBuf.generationOptions)) return false
|
if (old.getExtension(JvmProtoBuf.jvmClassFlags) != new.getExtension(JvmProtoBuf.jvmClassFlags)) return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old.getExtensionCount(JsProtoBuf.classAnnotation) != new.getExtensionCount(JsProtoBuf.classAnnotation)) {
|
if (old.getExtensionCount(JsProtoBuf.classAnnotation) != new.getExtensionCount(JsProtoBuf.classAnnotation)) {
|
||||||
@@ -269,7 +269,7 @@ open class ProtoCompareGenerated(
|
|||||||
JVM_EXT_CLASS_MODULE_NAME,
|
JVM_EXT_CLASS_MODULE_NAME,
|
||||||
JVM_EXT_CLASS_LOCAL_VARIABLE_LIST,
|
JVM_EXT_CLASS_LOCAL_VARIABLE_LIST,
|
||||||
JVM_EXT_ANONYMOUS_OBJECT_ORIGIN_NAME,
|
JVM_EXT_ANONYMOUS_OBJECT_ORIGIN_NAME,
|
||||||
JVM_EXT_GENERATION_OPTIONS,
|
JVM_EXT_JVM_CLASS_FLAGS,
|
||||||
JS_EXT_CLASS_ANNOTATION_LIST,
|
JS_EXT_CLASS_ANNOTATION_LIST,
|
||||||
JS_EXT_CLASS_CONTAINING_FILE_ID,
|
JS_EXT_CLASS_CONTAINING_FILE_ID,
|
||||||
JAVA_EXT_IS_PACKAGE_PRIVATE_CLASS,
|
JAVA_EXT_IS_PACKAGE_PRIVATE_CLASS,
|
||||||
@@ -338,9 +338,9 @@ open class ProtoCompareGenerated(
|
|||||||
if (!checkStringEquals(old.getExtension(JvmProtoBuf.anonymousObjectOriginName), new.getExtension(JvmProtoBuf.anonymousObjectOriginName))) result.add(ProtoBufClassKind.JVM_EXT_ANONYMOUS_OBJECT_ORIGIN_NAME)
|
if (!checkStringEquals(old.getExtension(JvmProtoBuf.anonymousObjectOriginName), new.getExtension(JvmProtoBuf.anonymousObjectOriginName))) result.add(ProtoBufClassKind.JVM_EXT_ANONYMOUS_OBJECT_ORIGIN_NAME)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old.hasExtension(JvmProtoBuf.generationOptions) != new.hasExtension(JvmProtoBuf.generationOptions)) result.add(ProtoBufClassKind.JVM_EXT_GENERATION_OPTIONS)
|
if (old.hasExtension(JvmProtoBuf.jvmClassFlags) != new.hasExtension(JvmProtoBuf.jvmClassFlags)) result.add(ProtoBufClassKind.JVM_EXT_JVM_CLASS_FLAGS)
|
||||||
if (old.hasExtension(JvmProtoBuf.generationOptions)) {
|
if (old.hasExtension(JvmProtoBuf.jvmClassFlags)) {
|
||||||
if (old.getExtension(JvmProtoBuf.generationOptions) != new.getExtension(JvmProtoBuf.generationOptions)) result.add(ProtoBufClassKind.JVM_EXT_GENERATION_OPTIONS)
|
if (old.getExtension(JvmProtoBuf.jvmClassFlags) != new.getExtension(JvmProtoBuf.jvmClassFlags)) result.add(ProtoBufClassKind.JVM_EXT_JVM_CLASS_FLAGS)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (old.getExtensionCount(JsProtoBuf.classAnnotation) != new.getExtensionCount(JsProtoBuf.classAnnotation)) {
|
if (old.getExtensionCount(JsProtoBuf.classAnnotation) != new.getExtensionCount(JsProtoBuf.classAnnotation)) {
|
||||||
@@ -1746,8 +1746,8 @@ fun ProtoBuf.Class.hashCode(stringIndexes: (Int) -> Int, fqNameIndexes: (Int) ->
|
|||||||
hashCode = 31 * hashCode + stringIndexes(getExtension(JvmProtoBuf.anonymousObjectOriginName))
|
hashCode = 31 * hashCode + stringIndexes(getExtension(JvmProtoBuf.anonymousObjectOriginName))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasExtension(JvmProtoBuf.generationOptions)) {
|
if (hasExtension(JvmProtoBuf.jvmClassFlags)) {
|
||||||
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.generationOptions)
|
hashCode = 31 * hashCode + getExtension(JvmProtoBuf.jvmClassFlags)
|
||||||
}
|
}
|
||||||
|
|
||||||
for(i in 0..getExtensionCount(JsProtoBuf.classAnnotation) - 1) {
|
for(i in 0..getExtensionCount(JsProtoBuf.classAnnotation) - 1) {
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ class DifferenceCalculatorForClass(
|
|||||||
isClassAffected = true
|
isClassAffected = true
|
||||||
areSubclassesAffected = true
|
areSubclassesAffected = true
|
||||||
}
|
}
|
||||||
ProtoBufClassKind.JVM_EXT_GENERATION_OPTIONS -> {
|
ProtoBufClassKind.JVM_EXT_JVM_CLASS_FLAGS -> {
|
||||||
isClassAffected = true
|
isClassAffected = true
|
||||||
areSubclassesAffected = true
|
areSubclassesAffected = true
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public final class DebugJvmProtoBuf {
|
|||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.classModuleName);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.classModuleName);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.classLocalVariable);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.classLocalVariable);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.anonymousObjectOriginName);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.anonymousObjectOriginName);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.generationOptions);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.jvmClassFlags);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.packageModuleName);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.packageModuleName);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.packageLocalVariable);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.DebugJvmProtoBuf.packageLocalVariable);
|
||||||
}
|
}
|
||||||
@@ -4651,7 +4651,7 @@ public final class DebugJvmProtoBuf {
|
|||||||
.newFileScopedGeneratedExtension(
|
.newFileScopedGeneratedExtension(
|
||||||
java.lang.Integer.class,
|
java.lang.Integer.class,
|
||||||
null);
|
null);
|
||||||
public static final int GENERATION_OPTIONS_FIELD_NUMBER = 104;
|
public static final int JVM_CLASS_FLAGS_FIELD_NUMBER = 104;
|
||||||
/**
|
/**
|
||||||
* <code>extend .org.jetbrains.kotlin.metadata.Class { ... }</code>
|
* <code>extend .org.jetbrains.kotlin.metadata.Class { ... }</code>
|
||||||
*
|
*
|
||||||
@@ -4662,7 +4662,7 @@ public final class DebugJvmProtoBuf {
|
|||||||
public static final
|
public static final
|
||||||
org.jetbrains.kotlin.protobuf.GeneratedMessage.GeneratedExtension<
|
org.jetbrains.kotlin.protobuf.GeneratedMessage.GeneratedExtension<
|
||||||
org.jetbrains.kotlin.metadata.DebugProtoBuf.Class,
|
org.jetbrains.kotlin.metadata.DebugProtoBuf.Class,
|
||||||
java.lang.Integer> generationOptions = org.jetbrains.kotlin.protobuf.GeneratedMessage
|
java.lang.Integer> jvmClassFlags = org.jetbrains.kotlin.protobuf.GeneratedMessage
|
||||||
.newFileScopedGeneratedExtension(
|
.newFileScopedGeneratedExtension(
|
||||||
java.lang.Integer.class,
|
java.lang.Integer.class,
|
||||||
null);
|
null);
|
||||||
@@ -4774,13 +4774,13 @@ public final class DebugJvmProtoBuf {
|
|||||||
"\'.org.jetbrains.kotlin.metadata.Property",
|
"\'.org.jetbrains.kotlin.metadata.Property",
|
||||||
":P\n\034anonymous_object_origin_name\022$.org.j" +
|
":P\n\034anonymous_object_origin_name\022$.org.j" +
|
||||||
"etbrains.kotlin.metadata.Class\030g \001(\005B\004\230\265" +
|
"etbrains.kotlin.metadata.Class\030g \001(\005B\004\230\265" +
|
||||||
"\030\001:C\n\022generation_options\022$.org.jetbrains" +
|
"\030\001:@\n\017jvm_class_flags\022$.org.jetbrains.ko" +
|
||||||
".kotlin.metadata.Class\030h \001(\005:\0010:I\n\023packa" +
|
"tlin.metadata.Class\030h \001(\005:\0010:I\n\023package_" +
|
||||||
"ge_module_name\022&.org.jetbrains.kotlin.me" +
|
"module_name\022&.org.jetbrains.kotlin.metad" +
|
||||||
"tadata.Package\030e \001(\005B\004\230\265\030\001:o\n\026package_lo" +
|
"ata.Package\030e \001(\005B\004\230\265\030\001:o\n\026package_local" +
|
||||||
"cal_variable\022&.org.jetbrains.kotlin.meta" +
|
"_variable\022&.org.jetbrains.kotlin.metadat" +
|
||||||
"data.Package\030f \003(\0132\'.org.jetbrains.kotli" +
|
"a.Package\030f \003(\0132\'.org.jetbrains.kotlin.m" +
|
||||||
"n.metadata.PropertyB\022B\020DebugJvmProtoBuf"
|
"etadata.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() {
|
||||||
@@ -4837,7 +4837,7 @@ public final class DebugJvmProtoBuf {
|
|||||||
classModuleName.internalInit(descriptor.getExtensions().get(8));
|
classModuleName.internalInit(descriptor.getExtensions().get(8));
|
||||||
classLocalVariable.internalInit(descriptor.getExtensions().get(9));
|
classLocalVariable.internalInit(descriptor.getExtensions().get(9));
|
||||||
anonymousObjectOriginName.internalInit(descriptor.getExtensions().get(10));
|
anonymousObjectOriginName.internalInit(descriptor.getExtensions().get(10));
|
||||||
generationOptions.internalInit(descriptor.getExtensions().get(11));
|
jvmClassFlags.internalInit(descriptor.getExtensions().get(11));
|
||||||
packageModuleName.internalInit(descriptor.getExtensions().get(12));
|
packageModuleName.internalInit(descriptor.getExtensions().get(12));
|
||||||
packageLocalVariable.internalInit(descriptor.getExtensions().get(13));
|
packageLocalVariable.internalInit(descriptor.getExtensions().get(13));
|
||||||
org.jetbrains.kotlin.protobuf.ExtensionRegistry registry =
|
org.jetbrains.kotlin.protobuf.ExtensionRegistry registry =
|
||||||
|
|||||||
+1
-1
@@ -90,7 +90,7 @@ class JvmSerializerExtension @JvmOverloads constructor(
|
|||||||
writeVersionRequirementForJvmDefaultIfNeeded(descriptor, proto, versionRequirementTable)
|
writeVersionRequirementForJvmDefaultIfNeeded(descriptor, proto, versionRequirementTable)
|
||||||
|
|
||||||
if (jvmDefaultMode.forAllMethodsWithBody && isInterface(descriptor)) {
|
if (jvmDefaultMode.forAllMethodsWithBody && isInterface(descriptor)) {
|
||||||
proto.setExtension(JvmProtoBuf.generationOptions, JvmFlags.getPropertyFlags(true))
|
proto.setExtension(JvmProtoBuf.jvmClassFlags, JvmFlags.getClassFlags(true))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ extend Class {
|
|||||||
|
|
||||||
|
|
||||||
// isFunctionBodyInInterface: 0 if actual body generated in DefaultImpl, 1 - otherwise (in interface default method)
|
// isFunctionBodyInInterface: 0 if actual body generated in DefaultImpl, 1 - otherwise (in interface default method)
|
||||||
optional int32 generation_options = 104 [default = 0];
|
optional int32 jvm_class_flags = 104 [default = 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
extend Package {
|
extend Package {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public final class JvmProtoBuf {
|
|||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.classModuleName);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.classModuleName);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.classLocalVariable);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.classLocalVariable);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.anonymousObjectOriginName);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.anonymousObjectOriginName);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.generationOptions);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.jvmClassFlags);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.packageModuleName);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.packageModuleName);
|
||||||
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.packageLocalVariable);
|
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.packageLocalVariable);
|
||||||
}
|
}
|
||||||
@@ -3986,7 +3986,7 @@ public final class JvmProtoBuf {
|
|||||||
103,
|
103,
|
||||||
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.INT32,
|
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.INT32,
|
||||||
java.lang.Integer.class);
|
java.lang.Integer.class);
|
||||||
public static final int GENERATION_OPTIONS_FIELD_NUMBER = 104;
|
public static final int JVM_CLASS_FLAGS_FIELD_NUMBER = 104;
|
||||||
/**
|
/**
|
||||||
* <code>extend .org.jetbrains.kotlin.metadata.Class { ... }</code>
|
* <code>extend .org.jetbrains.kotlin.metadata.Class { ... }</code>
|
||||||
*
|
*
|
||||||
@@ -3997,7 +3997,7 @@ public final class JvmProtoBuf {
|
|||||||
public static final
|
public static final
|
||||||
org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension<
|
org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension<
|
||||||
org.jetbrains.kotlin.metadata.ProtoBuf.Class,
|
org.jetbrains.kotlin.metadata.ProtoBuf.Class,
|
||||||
java.lang.Integer> generationOptions = org.jetbrains.kotlin.protobuf.GeneratedMessageLite
|
java.lang.Integer> jvmClassFlags = org.jetbrains.kotlin.protobuf.GeneratedMessageLite
|
||||||
.newSingularGeneratedExtension(
|
.newSingularGeneratedExtension(
|
||||||
org.jetbrains.kotlin.metadata.ProtoBuf.Class.getDefaultInstance(),
|
org.jetbrains.kotlin.metadata.ProtoBuf.Class.getDefaultInstance(),
|
||||||
0,
|
0,
|
||||||
|
|||||||
@@ -12,12 +12,15 @@ import org.jetbrains.kotlin.metadata.deserialization.Flags
|
|||||||
*/
|
*/
|
||||||
object JvmFlags {
|
object JvmFlags {
|
||||||
// Properties
|
// Properties
|
||||||
|
|
||||||
val IS_MOVED_FROM_INTERFACE_COMPANION = Flags.FlagField.booleanFirst()
|
val IS_MOVED_FROM_INTERFACE_COMPANION = Flags.FlagField.booleanFirst()
|
||||||
|
|
||||||
fun getPropertyFlags(booleanToIntFlag: Boolean): Int =
|
|
||||||
IS_MOVED_FROM_INTERFACE_COMPANION.toFlags(booleanToIntFlag)
|
|
||||||
|
|
||||||
//Class
|
//Class
|
||||||
val ARE_INTERFACE_METHOD_BODIES_INSIDE = Flags.FlagField.booleanFirst()
|
val ARE_INTERFACE_METHOD_BODIES_INSIDE = Flags.FlagField.booleanFirst()
|
||||||
|
|
||||||
|
fun getPropertyFlags(isMovedFromInterfaceCompanion: Boolean): Int =
|
||||||
|
IS_MOVED_FROM_INTERFACE_COMPANION.toFlags(isMovedFromInterfaceCompanion)
|
||||||
|
|
||||||
|
fun getClassFlags(isAllInterfaceBodiesInside: Boolean): Int =
|
||||||
|
ARE_INTERFACE_METHOD_BODIES_INSIDE.toFlags(isAllInterfaceBodiesInside)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -132,5 +132,5 @@ object JvmProtoBufUtil {
|
|||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun isNewPlaceForBodyGeneration(proto: ProtoBuf.Class): Boolean =
|
fun isNewPlaceForBodyGeneration(proto: ProtoBuf.Class): Boolean =
|
||||||
JvmFlags.ARE_INTERFACE_METHOD_BODIES_INSIDE.get(proto.getExtension(JvmProtoBuf.generationOptions))
|
JvmFlags.ARE_INTERFACE_METHOD_BODIES_INSIDE.get(proto.getExtension(JvmProtoBuf.jvmClassFlags))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user