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

Method PopulateType

IDEHelper/COFF.cpp:4311–4354  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4309}
4310
4311void COFF::PopulateType(DbgType* dbgType)
4312{
4313 uint8* data = CvGetTagData(dbgType->mTagIdx, false);
4314 CvAutoReleaseTempData releaseTempData(this, data);
4315
4316 uint8* dataStart = data;
4317 uint16 trLeafType = GET(uint16);
4318
4319 switch (trLeafType)
4320 {
4321 case LF_ENUM:
4322 {
4323 lfEnum& enumInfo = *(lfEnum*)dataStart;
4324 CvParseMembers(dbgType, enumInfo.field, false);
4325 }
4326 break;
4327 case LF_CLASS:
4328 case LF_STRUCTURE:
4329 {
4330 lfClass& classInfo = *(lfClass*)dataStart;
4331 CvParseMembers(dbgType, classInfo.field, false);
4332 }
4333 break;
4334
4335 case LF_CLASS_EX:
4336 case LF_STRUCTURE_EX:
4337 {
4338 auto property = GET(CV_prop_t);
4339 auto extra = GET(int16);
4340 auto field = GET(CV_typ_t);
4341 CvParseMembers(dbgType, field, false);
4342 }
4343 break;
4344
4345 case LF_UNION:
4346 {
4347 lfUnion& classInfo = *(lfUnion*)dataStart;
4348 CvParseMembers(dbgType, classInfo.field, false);
4349 }
4350 break;
4351 default:
4352 BF_FATAL("Invalid type");
4353 }
4354}
4355
4356void COFF::PopulateTypeGlobals(DbgType* dbgType)
4357{

Callers 13

CheckTypeMethod · 0.45
ResolveSubTypeRefMethod · 0.45
TypeIsSubTypeOfMethod · 0.45
HasFieldMethod · 0.45
DoLookupFieldMethod · 0.45
MatchMethodMethod · 0.45
GetMemberListMethod · 0.45
FindVisualizerForTypeMethod · 0.45
DbgTypedValueToStringMethod · 0.45
PdbTestFileFunction · 0.45
GetModuleInfoMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected