예제 #1
0
                private ImmutableArray <IIncrementalAnalyzer> GetIncrementalAnalyzers(Registration registration, AnalyzersGetter analyzersGetter, bool onlyHighPriorityAnalyzer)
                {
                    var orderedAnalyzers = analyzersGetter.GetOrderedAnalyzers(registration.Workspace, onlyHighPriorityAnalyzer);

                    SolutionCrawlerLogger.LogAnalyzers(registration.CorrelationId, registration.Workspace, orderedAnalyzers, onlyHighPriorityAnalyzer);
                    return(orderedAnalyzers);
                }
예제 #2
0
                private static ImmutableArray <IIncrementalAnalyzer> GetIncrementalAnalyzers(
                    Registration registration, IEnumerable <Lazy <IIncrementalAnalyzerProvider, IncrementalAnalyzerProviderMetadata> > providers)
                {
                    var orderedAnalyzers = GetOrderedAnalyzers(registration, providers);

                    SolutionCrawlerLogger.LogAnalyzers(registration.CorrelationId, registration.Workspace, orderedAnalyzers);
                    return(orderedAnalyzers);
                }
                private static ImmutableArray <IIncrementalAnalyzer> GetIncrementalAnalyzers(
                    int correlationId, Workspace workspace, IEnumerable <Lazy <IIncrementalAnalyzerProvider, IncrementalAnalyzerProviderMetadata> > providers)
                {
                    var analyzers        = providers.Where(p => p.Metadata.WorkspaceKinds.Contains(workspace.Kind)).Select(p => p.Value.CreateIncrementalAnalyzer(workspace));
                    var orderedAnalyzers = OrderAnalyzers(analyzers);

                    SolutionCrawlerLogger.LogAnalyzers(correlationId, workspace, orderedAnalyzers);
                    return(orderedAnalyzers);
                }
                private static ImmutableArray <IIncrementalAnalyzer> GetIncrementalAnalyzers(
                    Registration registration, IEnumerable <Lazy <IIncrementalAnalyzerProvider, IncrementalAnalyzerProviderMetadata> > providers)
                {
                    var matchingProviders = providers.Where(p => p.Metadata.WorkspaceKinds.Contains(registration.Workspace.Kind));

                    var orderedAnalyzers = GetOrderedAnalyzers(registration, matchingProviders);

                    SolutionCrawlerLogger.LogAnalyzers(registration.CorrelationId, registration.Workspace, orderedAnalyzers);
                    return(orderedAnalyzers);
                }