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

Method RemoveEntry

IDEHelper/Compiler/BfResolvedTypeUtils.cpp:5389–5427  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5387}
5388
5389void BfResolvedTypeSet::RemoveEntry(BfResolvedTypeSet::EntryRef entry)
5390{
5391 int hashIdx = (entry->mHashCode & 0x7FFFFFFF) % mHashSize;
5392// if (entry->mPrev == NULL)
5393// {
5394// if (entry->mNext != NULL)
5395// entry->mNext->mPrev = NULL;
5396// BF_ASSERT(mHashHeads[bucket] == entry);
5397// mHashHeads[bucket] = entry->mNext;
5398// }
5399// else
5400// {
5401// entry->mPrev->mNext = entry->mNext;
5402// if (entry->mNext != NULL)
5403// entry->mNext->mPrev = entry->mPrev;
5404// }
5405//
5406// mSize--;
5407
5408 bool found = false;
5409
5410 int* srcCheckEntryPtr = &this->mHashHeads[hashIdx];
5411 int checkEntryIdx = *srcCheckEntryPtr;
5412 while (checkEntryIdx != -1)
5413 {
5414 auto checkEntry = &mEntries[checkEntryIdx];
5415 if (checkEntryIdx == entry.mIndex)
5416 {
5417 *srcCheckEntryPtr = checkEntry->mNext;
5418 found = true;
5419 }
5420 srcCheckEntryPtr = &checkEntry->mNext;
5421 checkEntryIdx = checkEntry->mNext;
5422 }
5423
5424 BF_ASSERT(found);
5425 BF_ASSERT(entry->mValue == NULL);
5426 FreeIdx(entry.mIndex);
5427}
5428
5429// BfResolvedTypeSet::Iterator BfResolvedTypeSet::begin()
5430// {

Callers 1

ResolveTypeRef_RefMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected