| 4090 | } |
| 4091 | |
| 4092 | int 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 | |
| 4107 | addr_ce CeContext::GetReflectSpecializedType(addr_ce unspecializedTypeAddr, addr_ce typeArgsSpanAddr) |
| 4108 | { |
nothing calls this directly
no test coverage detected