| 7452 | } |
| 7453 | |
| 7454 | DbgType* DbgModule::GetPointerType(DbgType* innerType) |
| 7455 | { |
| 7456 | auto linkedModule = GetLinkedModule(); |
| 7457 | |
| 7458 | BF_ASSERT(innerType->GetDbgModule()->GetLinkedModule() == linkedModule); |
| 7459 | |
| 7460 | if (innerType->mPtrType == NULL) |
| 7461 | { |
| 7462 | BP_ALLOC_T(DbgType); |
| 7463 | auto ptrType = mAlloc.Alloc<DbgType>(); |
| 7464 | ptrType->mCompileUnit = innerType->mCompileUnit; |
| 7465 | ptrType->mLanguage = innerType->mLanguage; |
| 7466 | ptrType->mTypeCode = DbgType_Ptr; |
| 7467 | ptrType->mTypeParam = innerType; |
| 7468 | ptrType->mSize = sizeof(addr_target); |
| 7469 | ptrType->mAlign = (int)ptrType->mSize; |
| 7470 | ptrType->mTypeIdx = (int32)linkedModule->mTypes.size(); |
| 7471 | linkedModule->mTypes.push_back(ptrType); |
| 7472 | |
| 7473 | innerType->mPtrType = ptrType; |
| 7474 | } |
| 7475 | |
| 7476 | return innerType->mPtrType; |
| 7477 | } |
| 7478 | |
| 7479 | DbgType* DbgModule::GetConstType(DbgType* innerType) |
| 7480 | { |
no test coverage detected