Update IR serialization to reflect changes in IrSyntheticBodyKind for enum entries

#KT-48872
This commit is contained in:
Vsevolod Tolstopyatov
2022-07-21 10:47:07 +02:00
committed by Space
parent 93f17a2b86
commit 1b6a43ba69
4 changed files with 13 additions and 1 deletions
@@ -614,6 +614,7 @@ message IrCatch {
enum IrSyntheticBodyKind {
ENUM_VALUES = 1;
ENUM_VALUEOF = 2;
ENUM_ENTRIES = 3;
}
message IrSyntheticBody {
@@ -117,6 +117,7 @@ class IrBodyDeserializer(
val kind = when (proto.kind!!) {
ProtoSyntheticBodyKind.ENUM_VALUES -> IrSyntheticBodyKind.ENUM_VALUES
ProtoSyntheticBodyKind.ENUM_VALUEOF -> IrSyntheticBodyKind.ENUM_VALUEOF
ProtoSyntheticBodyKind.ENUM_ENTRIES -> IrSyntheticBodyKind.ENUM_ENTRIES
}
return IrSyntheticBodyImpl(start, end, kind)
}
@@ -839,4 +840,4 @@ class IrBodyDeserializer(
private val statementOriginIndex =
allKnownStatementOrigins.mapNotNull { it.objectInstance as? IrStatementOriginImpl }.associateBy { it.debugName }
}
}
}
@@ -777,6 +777,7 @@ open class IrFileSerializer(
when (expression.kind) {
IrSyntheticBodyKind.ENUM_VALUES -> ProtoSyntheticBodyKind.ENUM_VALUES
IrSyntheticBodyKind.ENUM_VALUEOF -> ProtoSyntheticBodyKind.ENUM_VALUEOF
IrSyntheticBodyKind.ENUM_ENTRIES -> ProtoSyntheticBodyKind.ENUM_ENTRIES
}
)
.build()
@@ -16,6 +16,10 @@ public enum IrSyntheticBodyKind
* <code>ENUM_VALUEOF = 2;</code>
*/
ENUM_VALUEOF(1, 2),
/**
* <code>ENUM_ENTRIES = 3;</code>
*/
ENUM_ENTRIES(2, 3),
;
/**
@@ -26,6 +30,10 @@ public enum IrSyntheticBodyKind
* <code>ENUM_VALUEOF = 2;</code>
*/
public static final int ENUM_VALUEOF_VALUE = 2;
/**
* <code>ENUM_ENTRIES = 3;</code>
*/
public static final int ENUM_ENTRIES_VALUE = 3;
public final int getNumber() { return value; }
@@ -34,6 +42,7 @@ public enum IrSyntheticBodyKind
switch (value) {
case 1: return ENUM_VALUES;
case 2: return ENUM_VALUEOF;
case 3: return ENUM_ENTRIES;
default: return null;
}
}