Beispiel #1
0
 private static void LookupSymbolsInSingleCatalogue(
     ICatalogueSymbol catalogue,
     LookupResult result,
     string symbolId,
     LookupOptions options,
     Binder originalBinder,
     bool diagnose)
 {
     if (options.CanConsiderResourceDefinitions())
     {
         originalBinder.CheckViability(result, catalogue.ResourceDefinitions, symbolId, options, diagnose);
     }
     if (!options.HasFlag(LookupOptions.SharedEntryOnly))
     {
         if (options.CanConsiderContainerEntries())
         {
             originalBinder.CheckViability(result, catalogue.RootContainerEntries, symbolId, options, diagnose);
         }
         if (options.CanConsiderResourceEntries())
         {
             originalBinder.CheckViability(result, catalogue.RootResourceEntries, symbolId, options, diagnose);
         }
     }
     if (!options.HasFlag(LookupOptions.RootEntryOnly))
     {
         if (options.CanConsiderContainerEntries())
         {
             originalBinder.CheckViability(result, catalogue.SharedSelectionEntryContainers, symbolId, options, diagnose);
         }
         if (options.CanConsiderResourceEntries())
         {
             originalBinder.CheckViability(result, catalogue.SharedResourceEntries, symbolId, options, diagnose);
         }
     }
 }
Beispiel #2
0
 public CostTypeSymbol(
     ICatalogueSymbol containingSymbol,
     CostTypeNode declaration,
     DiagnosticBag diagnostics)
     : base(containingSymbol, declaration)
 {
     Declaration = declaration;
 }
Beispiel #3
0
 public PublicationSymbol(
     ICatalogueSymbol containingSymbol,
     PublicationNode declaration,
     DiagnosticBag diagnostics)
     : base(containingSymbol, declaration)
 {
     Declaration     = declaration;
     PublicationDate = DateOnly.TryParse(Declaration.PublicationDate, out var pubDate) ? pubDate : null;
     PublicationUrl  = Uri.TryCreate(Declaration.PublisherUrl, UriKind.Absolute, out var uri) ? uri : null;
 }
Beispiel #4
0
 public ProfileTypeSymbol(
     ICatalogueSymbol containingSymbol,
     ProfileTypeNode declaration,
     DiagnosticBag diagnostics)
     : base(containingSymbol, declaration)
 {
     Declaration         = declaration;
     CharacteristicTypes = declaration.CharacteristicTypes
                           .Select(x => new CharacteristicTypeSymbol(this, x, diagnostics))
                           .ToImmutableArray <ICharacteristicTypeSymbol>();
 }
 public static CatalogueNode?GetCatalogueDeclaration(this ICatalogueSymbol symbol) =>
 GetDeclarationCore <CatalogueSymbol, CatalogueNode>(symbol);
 public static GamesystemNode?GetGamesystemDeclaration(this ICatalogueSymbol symbol) =>
 GetDeclarationCore <GamesystemSymbol, GamesystemNode>(symbol);
Beispiel #7
0
 public CatalogueReferenceSymbol(ICatalogueSymbol containingSymbol, CatalogueLinkNode declaration)
     : base(containingSymbol, declaration)
 {
     Declaration = declaration;
 }