Пример #1
0
            private static ImmutableArray <TExtension> CreateLanguageSpecificExtensions(string language, Extensions <TExtension> extensions)
            {
                // Get all analyzers in the assembly for the given language.
                var builder = ImmutableArray.CreateBuilder <TExtension>();

                extensions.AddExtensions(builder, language);
                return(builder.ToImmutable());
            }
            private static ImmutableArray <TExtension> CreateExtensionsForAllLanguages(Extensions <TExtension> extensions)
            {
                // Get all analyzers in the assembly.
                ImmutableDictionary <string, ImmutableArray <TExtension> > .Builder map = ImmutableDictionary.CreateBuilder <string, ImmutableArray <TExtension> >();
                extensions.AddExtensions(map);

                ImmutableArray <TExtension> .Builder builder = ImmutableArray.CreateBuilder <TExtension>();
                foreach (ImmutableArray <TExtension> analyzers in map.Values)
                {
                    builder.AddRange(analyzers);
                }

                return(builder.ToImmutable());
            }
Пример #3
0
 /// <summary>
 /// Adds the <see cref="ImmutableArray{T}"/> of <see cref="ISourceGenerator"/> defined in this assembly reference of given <paramref name="language"/>.
 /// </summary>
 internal void AddGenerators(ImmutableArray <ISourceGenerator> .Builder builder, string language)
 {
     _generators.AddExtensions(builder, language);
 }
Пример #4
0
 /// <summary>
 /// Adds the <see cref="ImmutableArray{T}"/> of <see cref="DiagnosticAnalyzer"/> defined in this assembly reference of given <paramref name="language"/>.
 /// </summary>
 internal void AddAnalyzers(ImmutableArray <DiagnosticAnalyzer> .Builder builder, string language)
 {
     _diagnosticAnalyzers.AddExtensions(builder, language);
 }
 /// <summary>
 /// Adds the <see cref="ImmutableDictionary{TKey, TValue}"/> of <see cref="ImmutableArray{T}"/> of <see cref="DiagnosticAnalyzer"/>
 /// for all languages defined in this assembly reference.
 /// </summary>
 internal void AddAnalyzers(ImmutableDictionary <string, ImmutableArray <DiagnosticAnalyzer> > .Builder builder)
 {
     _diagnosticAnalyzers.AddExtensions(builder);
 }
Пример #6
0
 /// <summary>
 /// Adds the <see cref="ImmutableArray{T}"/> of <see cref="DiagnosticAnalyzer"/> defined in this assembly reference of given <paramref name="language"/>.
 /// </summary>
 internal void AddAnalyzers(ImmutableArray <DiagnosticAnalyzer> .Builder builder, string language, Func <DiagnosticAnalyzer, bool>?shouldInclude = null)
 {
     _diagnosticAnalyzers.AddExtensions(builder, language, shouldInclude);
 }