New flag in proto

This commit is contained in:
Mikhael Bogdanov
2020-02-05 15:34:37 +01:00
committed by Mikhail Bogdanov
parent 0c0bd67a6b
commit ff8eac29a0
8 changed files with 86 additions and 11 deletions
+4
View File
@@ -127,6 +127,10 @@ extend Class {
// For anonymous objects from bodies of inline functions copied to the use site, the JVM internal name of the original
// anonymous object this class is copied from
optional int32 anonymous_object_origin_name = 103 [(string_id_in_table) = true];
// isFunctionBodyInInterface: 0 if actual body generated in DefaultImpl, 1 - otherwise (in interface default method)
optional int32 generation_options = 104 [default = 0];
}
extend Package {
@@ -18,6 +18,7 @@ public final class JvmProtoBuf {
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.anonymousObjectOriginName);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.generationOptions);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.packageModuleName);
registry.add(org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf.packageLocalVariable);
}
@@ -3985,6 +3986,26 @@ public final class JvmProtoBuf {
103,
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.INT32,
java.lang.Integer.class);
public static final int GENERATION_OPTIONS_FIELD_NUMBER = 104;
/**
* <code>extend .org.jetbrains.kotlin.metadata.Class { ... }</code>
*
* <pre>
* isFunctionBodyInInterface: 0 if actual body generated in DefaultImpl, 1 - otherwise (in interface default method)
* </pre>
*/
public static final
org.jetbrains.kotlin.protobuf.GeneratedMessageLite.GeneratedExtension<
org.jetbrains.kotlin.metadata.ProtoBuf.Class,
java.lang.Integer> generationOptions = org.jetbrains.kotlin.protobuf.GeneratedMessageLite
.newSingularGeneratedExtension(
org.jetbrains.kotlin.metadata.ProtoBuf.Class.getDefaultInstance(),
0,
null,
null,
104,
org.jetbrains.kotlin.protobuf.WireFormat.FieldType.INT32,
java.lang.Integer.class);
public static final int PACKAGE_MODULE_NAME_FIELD_NUMBER = 101;
/**
* <code>extend .org.jetbrains.kotlin.metadata.Package { ... }</code>
@@ -15,6 +15,9 @@ object JvmFlags {
val IS_MOVED_FROM_INTERFACE_COMPANION = Flags.FlagField.booleanFirst()
fun getPropertyFlags(isMovedFromInterfaceCompanion: Boolean): Int =
IS_MOVED_FROM_INTERFACE_COMPANION.toFlags(isMovedFromInterfaceCompanion)
fun getPropertyFlags(booleanToIntFlag: Boolean): Int =
IS_MOVED_FROM_INTERFACE_COMPANION.toFlags(booleanToIntFlag)
//Class
val IS_NEW_PLACE_FOR_BODY_GENERATION = Flags.FlagField.booleanFirst()
}
@@ -129,4 +129,8 @@ object JvmProtoBufUtil {
@JvmStatic
fun isMovedFromInterfaceCompanion(proto: ProtoBuf.Property): Boolean =
JvmFlags.IS_MOVED_FROM_INTERFACE_COMPANION.get(proto.getExtension(JvmProtoBuf.flags))
@JvmStatic
fun isNewPlaceForBodyGeneration(proto: ProtoBuf.Class): Boolean =
JvmFlags.IS_NEW_PLACE_FOR_BODY_GENERATION.get(proto.getExtension(JvmProtoBuf.generationOptions))
}