| File: src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Diagnostics\DiagnosticAnalyzerCategory.cs | Web Access |
| Project: src\roslyn\src\CodeStyle\Core\Analyzers\Microsoft.CodeAnalysis.CodeStyle.csproj (Microsoft.CodeAnalysis.CodeStyle) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; namespace Microsoft.CodeAnalysis.Diagnostics; [Flags] internal enum DiagnosticAnalyzerCategory { /// <summary> /// Invalid value, analyzer must support at least one or more of the subsequent analysis categories. /// </summary> None = 0, /// <summary> /// Analyzer reports syntax diagnostics (i.e. registers a SyntaxTree action). /// Note: an <see cref="DiagnosticAnalyzer"/> that uses this will not work properly if /// it registers a <see cref="AnalysisContext.RegisterSyntaxNodeAction{TLanguageKindEnum}(Action{SyntaxNodeAnalysisContext}, TLanguageKindEnum[])"/> and then ends /// up needing to use the <see cref="SyntaxNodeAnalysisContext.SemanticModel"/>. If a /// <see cref="SemanticModel"/> is needed, use <see cref="SemanticSpanAnalysis"/> or /// <see cref="SemanticDocumentAnalysis"/>. /// </summary> SyntaxTreeWithoutSemanticsAnalysis = 0x0001, /// <summary> /// Analyzer reports semantic diagnostics and also supports incremental span based method body analysis. /// An analyzer can support incremental method body analysis if edits within a method body only affect the diagnostics reported by the analyzer on the edited method body. /// </summary> SemanticSpanAnalysis = 0x0010, /// <summary> /// Analyzer reports semantic diagnostics but doesn't support incremental span based method body analysis. /// It needs to re-analyze the whole document for reporting semantic diagnostics even for method body editing scenarios. /// </summary> SemanticDocumentAnalysis = 0x0100, }