コード例 #1
0
            public void Save(AnalysisKind kind, DocumentAnalysisData data)
            {
                Contract.ThrowIfFalse(data.OldItems.IsDefault);

                switch (kind)
                {
                case AnalysisKind.Syntax:
                    _syntax = data;
                    return;

                case AnalysisKind.Semantic:
                    _semantic = data;
                    return;

                default:
                    throw ExceptionUtilities.UnexpectedValue(kind);
                }
            }
コード例 #2
0
            public void Save(AnalysisKind kind, DocumentAnalysisData data)
            {
                Contract.ThrowIfFalse(data.OldItems.IsDefault);

                switch (kind)
                {
                    case AnalysisKind.Syntax:
                        _syntax = data;
                        return;

                    case AnalysisKind.Semantic:
                        _semantic = data;
                        return;

                    default:
                        Contract.Fail("Shouldn't reach here");
                        return;
                }
            }
            public void Save(AnalysisKind kind, DocumentAnalysisData data)
            {
                Contract.ThrowIfFalse(data.OldItems.IsDefault);

                switch (kind)
                {
                case AnalysisKind.Syntax:
                    _syntax = data;
                    return;

                case AnalysisKind.Semantic:
                    _semantic = data;
                    return;

                default:
                    Contract.Fail("Shouldn't reach here");
                    return;
                }
            }
コード例 #4
0
            static bool IsAnalyzerEnabledForDocument(
                DiagnosticAnalyzer analyzer,
                DocumentAnalysisData previousData,
                BackgroundAnalysisScope analysisScope,
                CompilerDiagnosticsScope compilerDiagnosticsScope,
                bool isActiveDocument,
                bool isVisibleDocument,
                bool isOpenDocument,
                bool isGeneratedRazorDocument)
            {
                Debug.Assert(!isActiveDocument || isOpenDocument || isGeneratedRazorDocument);

                if (isGeneratedRazorDocument)
                {
                    // This is a generated Razor document, and they always want all analyzer diagnostics.
                    return(true);
                }

                if (analyzer.IsCompilerAnalyzer())
                {
                    return(compilerDiagnosticsScope switch
                    {
                        // Compiler diagnostics are disabled for all documents.
                        CompilerDiagnosticsScope.None => false,

                        // Compiler diagnostics are enabled for visible documents and open documents which had errors/warnings in prior snapshot.
                        CompilerDiagnosticsScope.VisibleFilesAndFilesWithPreviouslyReportedDiagnostics => isVisibleDocument || (isOpenDocument && !previousData.Items.IsEmpty),

                        // Compiler diagnostics are enabled for all open documents.
                        CompilerDiagnosticsScope.OpenFiles => isOpenDocument,

                        // Compiler diagnostics are enabled for all documents.
                        CompilerDiagnosticsScope.FullSolution => true,

                        _ => throw ExceptionUtilities.UnexpectedValue(analysisScope)
                    });
コード例 #5
0
 public void ResetVersion()
 {
     // reset version of cached data so that we can recalculate new data (ex, OnDocumentReset)
     _syntax = new DocumentAnalysisData(VersionStamp.Default, _syntax.Items);
     _semantic = new DocumentAnalysisData(VersionStamp.Default, _semantic.Items);
 }
コード例 #6
0
 public void ResetVersion()
 {
     // reset version of cached data so that we can recalculate new data (ex, OnDocumentReset)
     _syntax   = new DocumentAnalysisData(VersionStamp.Default, _syntax.Items);
     _semantic = new DocumentAnalysisData(VersionStamp.Default, _semantic.Items);
 }