| 910 | #endif |
| 911 | |
| 912 | void asCBuilder::AddVisibleNamespaces(asSNameSpace *ns, const asCArray<asSNameSpace*>& visited, asCArray<asSNameSpace*>& pending) |
| 913 | { |
| 914 | asSMapNode<asSNameSpace*, asCArray<asSNameSpace*>>* cursor = 0; |
| 915 | |
| 916 | if (namespaceVisibility.MoveTo(&cursor, ns)) |
| 917 | { |
| 918 | asCArray<asSNameSpace*>& visibilityBuffer = namespaceVisibility.GetValue(cursor); |
| 919 | asUINT count = visibilityBuffer.GetLength(); |
| 920 | |
| 921 | for (asUINT i = 0; i < count; ++i) |
| 922 | { |
| 923 | asSNameSpace* visibleNameSpace = visibilityBuffer[i]; |
| 924 | if (!visited.Exists(visibleNameSpace) && !pending.Exists(visibleNameSpace)) |
| 925 | { |
| 926 | pending.PushLast(visibleNameSpace); |
| 927 | } |
| 928 | } |
| 929 | } |
| 930 | } |
| 931 | |
| 932 | asSNameSpace *asCBuilder::FindNextVisibleNamespace(const asCArray<asSNameSpace*>& visited, asCArray<asSNameSpace*>& pending, asSNameSpace *parentNs, bool* checkAmbiguous) |
| 933 | { |