1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 20:12:21 +02:00

Added EnumCase field flag

This commit is contained in:
Brian Fiete 2021-12-27 13:14:17 -05:00
parent bbdcb44988
commit d40ddc0e69
2 changed files with 6 additions and 2 deletions

View file

@ -1250,7 +1250,8 @@ namespace System.Reflection
Const = 0x0040, // Value is compile time constant.
SpecialName = 0x0080, // field is special. Name describes how.
EnumPayload = 0x0100,
EnumDiscriminator = 0x0200
EnumDiscriminator = 0x0200,
EnumFlags = 0x0400
}
public enum MethodFlags : uint16

View file

@ -6368,7 +6368,8 @@ BfIRValue BfModule::CreateTypeData(BfType* type, Dictionary<int, int>& usedStrin
FieldFlags_Const = 0x40,
FieldFlags_SpecialName = 0x80,
FieldFlags_EnumPayload = 0x100,
FieldFlags_EnumDiscriminator = 0x200
FieldFlags_EnumDiscriminator = 0x200,
FieldFlags_EnumCase = 0x400
};
if ((typeInstance->IsPayloadEnum()) && (!typeInstance->IsBoxed()))
@ -6434,6 +6435,8 @@ BfIRValue BfModule::CreateTypeData(BfType* type, Dictionary<int, int>& usedStrin
fieldFlags = (FieldFlags)(fieldFlags | FieldFlags_Static);
if (fieldDef->mIsConst)
fieldFlags = (FieldFlags)(fieldFlags | FieldFlags_Const);
if (fieldDef->IsEnumCaseEntry())
fieldFlags = (FieldFlags)(fieldFlags | FieldFlags_EnumCase);
int customAttrIdx = _HandleCustomAttrs(fieldInstance->mCustomAttributes);
BfIRValue constValue;