| 2598 | } |
| 2599 | |
| 2600 | void 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 | |
| 2624 | bool BfSystem::ContainsNamespace(const BfAtomComposite& namespaceStr, BfProject* bfProject) |
| 2625 | { |
no test coverage detected