MCPcopy Create free account
hub / github.com/beefytech/Beef / GetCompilerSettings

Method GetCompilerSettings

IDEHelper/DebugTarget.cpp:903–936  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

901}
902
903void DebugTarget::GetCompilerSettings()
904{
905 if (!mCheckedCompilerSettings)
906 {
907 auto dbgModule = GetMainDbgModule();
908 if (dbgModule == NULL)
909 return;
910 DbgType* bfObjectType = dbgModule->FindType("System.CompilerSettings", NULL, DbgLanguage_Beef);
911 if (bfObjectType != NULL)
912 {
913 bfObjectType->PopulateType();
914 if (bfObjectType->IsBfObjectPtr())
915 bfObjectType = bfObjectType->mTypeParam;
916 for (auto member : bfObjectType->mMemberList)
917 {
918 if (strcmp(member->mName, "cHasDebugFlags") == 0)
919 mBfObjectHasFlags = member->mConstValue != 0;
920 if (strcmp(member->mName, "cHasVDataExtender") == 0)
921 mBfObjectHasVDataExtender = member->mConstValue != 0;
922 if (strcmp(member->mName, "cHasLargeStrings") == 0)
923 mBfHasLargeStrings = member->mConstValue != 0;
924 if (strcmp(member->mName, "cHasLargeCollections") == 0)
925 mBfHasLargeCollections = member->mConstValue != 0;
926 if (strcmp(member->mName, "cVDataIntefaceSlotCount") == 0)
927 mBfObjectVDataIntefaceSlotCount = (int)member->mConstValue;
928 }
929
930 auto objectRoot = bfObjectType->GetBaseType();
931 BF_ASSERT(strcmp(objectRoot->mTypeName, "Object") == 0);
932 mBfObjectSize = objectRoot->GetByteCount();
933 }
934 mCheckedCompilerSettings = true;
935 }
936}
937
938void DebugTarget::ClearFindDbgModuleCache()
939{

Callers 6

BeefStringToStringMethod · 0.80
BeefTypeToStringMethod · 0.80
CreateCallMethod · 0.80
ScanSpanMethod · 0.80
DbgTypedValueToStringMethod · 0.80

Calls 5

IsBfObjectPtrMethod · 0.80
GetByteCountMethod · 0.80
FindTypeMethod · 0.45
PopulateTypeMethod · 0.45
GetBaseTypeMethod · 0.45

Tested by

no test coverage detected