Boo.Lang.Compiler.TypeSystem.Core.Namespaces.ResolveCoalescingNamespaces C# (CSharp) Method

ResolveCoalescingNamespaces() public static method

public static ResolveCoalescingNamespaces ( INamespace parent, IList namespacesToResolveAgainst, string name, EntityType typesToConsider, ICollection resultingSet ) : bool
parent INamespace
namespacesToResolveAgainst IList
name string
typesToConsider EntityType
resultingSet ICollection
return bool
        public static bool ResolveCoalescingNamespaces(INamespace parent, IList<INamespace> namespacesToResolveAgainst, string name, EntityType typesToConsider, ICollection<IEntity> resultingSet)
        {
            bool success = false;

            var resolved = AcquireSet();
            try {
                //foreach (var root in namespacesToResolveAgainst)
                for (int i = 0; i < namespacesToResolveAgainst.Count; ++i)
                    if (namespacesToResolveAgainst[i].Resolve(resolved, name, typesToConsider))
                        success = true;

                if (!success)
                    return false;

                return CoalesceResolved(resolved, parent, name, resultingSet);
            }
            finally {
                ReleaseSet(resolved);
            }
        }

Same methods

Namespaces::ResolveCoalescingNamespaces ( INamespace parent, INamespace namespaceToResolveAgainst, string name, EntityType typesToConsider, ICollection resultingSet ) : bool

Usage Example

Beispiel #1
0
 public override bool Resolve(ICollection <IEntity> resultingSet, string name, EntityType typesToConsider)
 {
     return(Namespaces.ResolveCoalescingNamespaces(this, RootNamespaces(), name, typesToConsider, resultingSet));
 }