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

Method ProcessDebugInfo

IDEHelper/COFF.cpp:6277–6314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6275}
6276
6277void COFF::ProcessDebugInfo()
6278{
6279 BP_ZONE("COFF::ProcessDebugInfo");
6280
6281 if ((!mCvTypeSectionData.IsEmpty()) && (!mCvCompileUnitData.IsEmpty()))
6282 {
6283 auto linkedModule = (COFF*)GetLinkedModule();
6284 int startingTypeIdx = (int)linkedModule->mTypes.size();
6285
6286 InitCvTypes();
6287
6288 for (auto entry : mCvTypeSectionData)
6289 {
6290 uint8* data = entry.mData;
6291 GET_INTO(uint32, infoType);
6292 BF_ASSERT(infoType == CV_SIGNATURE_C13);
6293
6294 CvInitStreamRaw(mCvTypeSectionReader, entry.mData + 4, entry.mSize - 4);
6295 ParseTypeData(mCvTypeSectionReader, 0);
6296 }
6297
6298 FixTypes(startingTypeIdx);
6299 linkedModule->MapTypes(startingTypeIdx);
6300
6301 CvCompileUnit* compileUnit = NULL;
6302 for (auto entry : mCvCompileUnitData)
6303 {
6304 compileUnit = ParseCompileUnit(NULL, compileUnit, entry.mData, entry.mSize);
6305 }
6306 if (compileUnit != NULL)
6307 {
6308 compileUnit->mLanguage = DbgLanguage_Beef;
6309 mMasterCompileUnit->mLanguage = DbgLanguage_Beef;
6310 MapCompileUnitMethods(compileUnit);
6311 mEndTypeIdx = (int)linkedModule->mTypes.size();
6312 }
6313 }
6314}
6315
6316void COFF::FinishHotSwap()
6317{

Callers

nothing calls this directly

Calls 3

MapTypesMethod · 0.80
IsEmptyMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected