internal ContainerBinder(Binder containingScope, NamespaceReference mergedContainer, IEnumerable<ImportedSymbol> imports) : base(containingScope) { this.mergedContainer = mergedContainer; foreach(var import in imports) this.imports.Add(import.AliasName, import); }
private static IReadOnlyList<DeclarationReference> GetMembersSlow(IEnumerable<Declaration> symbols) { var lookup = symbols .ToLookup(s => s is Namespace); var childSymbols = lookup[false].Cast<Entity>() .Select(e => (DeclarationReference)new EntityReference(e)).ToList(); var childNamespaces = lookup[true].ToList(); if(childNamespaces.Any()) { var childNamespace = new NamespaceReference(childNamespaces.Cast<Namespace>()); childSymbols.Add(childNamespace); } return childSymbols; }
private static IReadOnlyList <DeclarationReference> GetMembersSlow(IEnumerable <Declaration> symbols) { var lookup = symbols .ToLookup(s => s is Namespace); var childSymbols = lookup[false].Cast <Entity>() .Select(e => (DeclarationReference) new EntityReference(e)).ToList(); var childNamespaces = lookup[true].ToList(); if (childNamespaces.Any()) { var childNamespace = new NamespaceReference(childNamespaces.Cast <Namespace>()); childSymbols.Add(childNamespace); } return(childSymbols); }
internal NamespaceBinder(Binder containingScope, NamespaceReference mergedContainer, IEnumerable<ImportedSymbol> imports) : base(containingScope, mergedContainer, imports) { }