コード例 #1
0
                    private async Task ProcessOpenDocumentIfNeededAsync(
                        ImmutableArray <IIncrementalAnalyzer> analyzers,
                        WorkItem workItem,
                        TextDocument textDocument,
                        bool isOpen,
                        CancellationToken cancellationToken
                        )
                    {
                        if (
                            !isOpen ||
                            !workItem.InvocationReasons.Contains(
                                PredefinedInvocationReasons.DocumentOpened
                                )
                            )
                        {
                            return;
                        }

                        SolutionCrawlerLogger.LogProcessOpenDocument(
                            Processor._logAggregator,
                            textDocument.Id.Id
                            );

                        await Processor
                        .RunAnalyzersAsync(
                            analyzers,
                            textDocument,
                            workItem,
                            DocumentOpenAsync,
                            cancellationToken
                            )
                        .ConfigureAwait(false);

                        return;