Example #1
0
        public static void AddOptionMapping(string diagnosticId, ImmutableHashSet <IPerLanguageOption> perLanguageOptions)
        {
            diagnosticId       = diagnosticId ?? throw new ArgumentNullException(nameof(diagnosticId));
            perLanguageOptions = perLanguageOptions ?? throw new ArgumentNullException(nameof(perLanguageOptions));

            var options = perLanguageOptions.Cast <IOption>().ToImmutableHashSet();

            AddOptionMapping(s_diagnosticIdToOptionMap, diagnosticId, options);
        }
Example #2
0
        public static void AddOptionMapping(string diagnosticId, ImmutableHashSet <ILanguageSpecificOption> languageSpecificOptions, string language)
        {
            diagnosticId            = diagnosticId ?? throw new ArgumentNullException(nameof(diagnosticId));
            languageSpecificOptions = languageSpecificOptions ?? throw new ArgumentNullException(nameof(languageSpecificOptions));
            language = language ?? throw new ArgumentNullException(nameof(language));

            var map     = s_diagnosticIdToLanguageSpecificOptionsMap.GetOrAdd(language, _ => new ConcurrentDictionary <string, ImmutableHashSet <IOption> >());
            var options = languageSpecificOptions.Cast <IOption>().ToImmutableHashSet();

            AddOptionMapping(map, diagnosticId, options);
        }
Example #3
0
        public async Task <ImmutableHashSet <IChromosome> > Operate(ImmutableHashSet <IChromosome> chromosomes, PopulationCapacity capacity, CancellationToken token = default)
        {
            var offspring = await Operate(chromosomes.Cast <IChromosome <T> >(), capacity, token);

            return(offspring.Cast <IChromosome>().ToImmutableHashSet());
        }