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

Method RemoveNamespaceUsage

IDEHelper/Compiler/BfSystem.cpp:2600–2622  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2598}
2599
2600void BfSystem::RemoveNamespaceUsage(const BfAtomComposite& namespaceStr, BfProject* bfProject)
2601{
2602 if (namespaceStr.IsEmpty())
2603 return;
2604
2605 if (namespaceStr.GetPartsCount() > 1)
2606 {
2607 BfAtomComposite subComposite;
2608 subComposite.Set(namespaceStr.mParts, namespaceStr.mSize - 1, NULL, 0);
2609 RemoveNamespaceUsage(subComposite, bfProject);
2610 }
2611
2612 int* valuePtr = NULL;
2613 bfProject->mNamespaces.TryGetValue(namespaceStr, &valuePtr);
2614 BF_ASSERT(valuePtr != NULL);
2615 (*valuePtr)--;
2616 if (*valuePtr == 0)
2617 {
2618 BfLogSys(this, "BfSystem::RemoveNamespaceUsage removed %s in project: %p\n", namespaceStr.ToString().c_str(), bfProject);
2619 bfProject->mNamespaces.Remove(namespaceStr);
2620 mTypeMapVersion++;
2621 }
2622}
2623
2624bool BfSystem::ContainsNamespace(const BfAtomComposite& namespaceStr, BfProject* bfProject)
2625{

Callers 1

FreeMembersMethod · 0.80

Calls 7

GetPartsCountMethod · 0.80
TryGetValueMethod · 0.80
IsEmptyMethod · 0.45
SetMethod · 0.45
c_strMethod · 0.45
ToStringMethod · 0.45
RemoveMethod · 0.45

Tested by

no test coverage detected