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

Method GetTypeIdFromType

IDEHelper/Compiler/CeMachine.cpp:4092–4105  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4090}
4091
4092int CeContext::GetTypeIdFromType(addr_ce typeAddr)
4093{
4094 if (!CheckMemory(typeAddr, 8))
4095 return 0;
4096
4097 if (mReflectTypeIdOffset == -1)
4098 {
4099 auto typeTypeInst = mCeMachine->mCeModule->ResolveTypeDef(mCeMachine->mCompiler->mTypeTypeDef)->ToTypeInstance();
4100 auto typeIdField = typeTypeInst->mTypeDef->GetFieldByName("mTypeId");
4101 mReflectTypeIdOffset = typeTypeInst->mFieldInstances[typeIdField->mIdx].mDataOffset;
4102 }
4103
4104 return *(int32*)(mMemory.mVals + typeAddr + mReflectTypeIdOffset);
4105}
4106
4107addr_ce CeContext::GetReflectSpecializedType(addr_ce unspecializedTypeAddr, addr_ce typeArgsSpanAddr)
4108{

Callers

nothing calls this directly

Calls 3

ToTypeInstanceMethod · 0.45
ResolveTypeDefMethod · 0.45
GetFieldByNameMethod · 0.45

Tested by

no test coverage detected