public IEntity ResolveQualifiedName(INamespace namespaceToResolveAgainst, string name) { Set <IEntity> resultingSet = Namespaces.AcquireSet(); try { ResolveQualifiedNameAgainst(namespaceToResolveAgainst, name, EntityType.Any, resultingSet); return(Entities.EntityFromList(resultingSet)); } finally { Namespaces.ReleaseSet(resultingSet); } }
private IEntity ResolveImpl(string name, EntityType flags) { var resultingSet = Namespaces.AcquireSet(); try { Resolve(resultingSet, name, flags); return(Entities.EntityFromList(resultingSet)); } finally { Namespaces.ReleaseSet(resultingSet); } }
public IEntity Resolve(INamespace @namespace, string name, EntityType elementType) { if (@namespace == null) { throw new ArgumentNullException("namespace"); } Set <IEntity> resultingSet = Namespaces.AcquireSet(); try { ResolveCoalescingNamespaces(@namespace, name, elementType, resultingSet); return(Entities.EntityFromList(resultingSet)); } finally { Namespaces.ReleaseSet(resultingSet); } }
private IEntity ResolveQualifiedName(string name, EntityType flags) { if (!IsQualifiedName(name)) { return(Resolve(name, flags)); } var resultingSet = Namespaces.AcquireSet(); try { ResolveQualifiedName(resultingSet, name, flags); return(Entities.EntityFromList(resultingSet)); } finally { Namespaces.ReleaseSet(resultingSet); } }
private IEntity ResolveExtensionForType(INamespace ns, IType type, string name) { var extensions = Namespaces.AcquireSet(); try { if (!ns.Resolve(extensions, name, EntityType.Method | EntityType.Property)) { return(null); } Predicate <IEntity> notExtensionPredicate = item => !IsExtensionOf(type, item as IExtensionEnabled); extensions.RemoveAll(notExtensionPredicate); return(Entities.EntityFromList(extensions)); } finally { Namespaces.ReleaseSet(extensions); } }