public RosterSymbol( SourceGlobalNamespaceSymbol containingSymbol, RosterNode declaration, DiagnosticBag diagnostics) : base(containingSymbol, declaration) { Declaration = declaration; // TODO implement costs/forces }
public GamesystemSymbol( SourceGlobalNamespaceSymbol containingSymbol, GamesystemNode declaration, DiagnosticBag diagnostics) : base(containingSymbol, declaration, diagnostics) { Declaration = declaration; }
public CatalogueSymbol( SourceGlobalNamespaceSymbol containingSymbol, CatalogueNode declaration, DiagnosticBag diagnostics) : base(containingSymbol, declaration, diagnostics) { Declaration = declaration; Imports = CreateLinks().ToImmutableArray(); IEnumerable <ICatalogueReferenceSymbol> CreateLinks() { foreach (var item in declaration.CatalogueLinks) { yield return(new CatalogueReferenceSymbol(this, item)); } } }
protected CatalogueBaseSymbol( SourceGlobalNamespaceSymbol containingSymbol, CatalogueBaseNode declaration, DiagnosticBag diagnostics) : base(containingSymbol, declaration) { ContainingNamespace = containingSymbol; Declaration = declaration; costTypes = declaration.CostTypes.Select(x => new CostTypeSymbol(this, x, diagnostics)).ToImmutableArray(); profileTypes = declaration.ProfileTypes.Select(x => new ProfileTypeSymbol(this, x, diagnostics)).ToImmutableArray(); publications = declaration.Publications.Select(x => new PublicationSymbol(this, x, diagnostics)).ToImmutableArray(); RootContainerEntries = CreateRootContainerEntries().ToImmutableArray(); RootResourceEntries = CreateRootResourceEntries().ToImmutableArray(); SharedSelectionEntryContainers = CreateSharedContainerEntries().ToImmutableArray(); SharedResourceEntries = CreateSharedResourceEntries().ToImmutableArray(); IEnumerable <IContainerEntrySymbol> CreateRootContainerEntries() { foreach (var item in declaration.SelectionEntries) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } foreach (var item in declaration.EntryLinks) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } foreach (var item in declaration.ForceEntries) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } foreach (var item in declaration.CategoryEntries) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } } IEnumerable <IResourceEntrySymbol> CreateRootResourceEntries() { foreach (var item in declaration.Rules) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } } IEnumerable <ISelectionEntryContainerSymbol> CreateSharedContainerEntries() { foreach (var item in declaration.SharedSelectionEntries) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } foreach (var item in declaration.SharedSelectionEntryGroups) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } } IEnumerable <IResourceEntrySymbol> CreateSharedResourceEntries() { foreach (var item in declaration.SharedInfoGroups) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } foreach (var item in declaration.SharedProfiles) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } foreach (var item in declaration.SharedRules) { yield return(EntrySymbol.CreateEntry(this, item, diagnostics)); } } }
internal GamesystemNamespaceBinder(Binder next, SourceGlobalNamespaceSymbol namespaceSymbol) : base(next) { NamespaceSymbol = namespaceSymbol; }