diff --git a/BeefLibs/corlib/src/Type.bf b/BeefLibs/corlib/src/Type.bf index 1f79729b..ff17e330 100644 --- a/BeefLibs/corlib/src/Type.bf +++ b/BeefLibs/corlib/src/Type.bf @@ -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 diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 0468eeb1..78a5e0e8 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -6368,7 +6368,8 @@ BfIRValue BfModule::CreateTypeData(BfType* type, Dictionary& 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& 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;