提交 fea33a0d 编写于 作者: C CyrusNajmabadi

Use the new base class to simplify code.

上级 02fc57ad
......@@ -22,35 +22,20 @@ namespace Microsoft.CodeAnalysis.CSharp.InlineDeclaration
///
/// </summary>
[DiagnosticAnalyzer(LanguageNames.CSharp)]
internal class CSharpInlineDeclarationDiagnosticAnalyzer : DiagnosticAnalyzer
internal class CSharpInlineDeclarationDiagnosticAnalyzer : AbstractCodeStyleDiagnosticAnalyzer
{
private static readonly LocalizableString s_localizableTitle = new LocalizableResourceString(nameof(FeaturesResources.Inline_variable_declaration), FeaturesResources.ResourceManager, typeof(FeaturesResources));
private static readonly LocalizableString s_localizableMessage = new LocalizableResourceString(nameof(FeaturesResources.Inline_variable_declaration), FeaturesResources.ResourceManager, typeof(FeaturesResources));
private static DiagnosticDescriptor s_descriptor =
CreateDescriptor(DiagnosticSeverity.Hidden);
private static DiagnosticDescriptor s_unnecessaryCodeDescriptor =
CreateDescriptor(DiagnosticSeverity.Hidden, customTags: DiagnosticCustomTags.Unnecessary);
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics
=> ImmutableArray.Create(s_descriptor, s_unnecessaryCodeDescriptor);
public CSharpInlineDeclarationDiagnosticAnalyzer()
: base(IDEDiagnosticIds.InlineDeclarationDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Inline_variable_declaration), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Inline_variable_declaration), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{
}
public DiagnosticAnalyzerCategory GetAnalyzerCategory()
=> DiagnosticAnalyzerCategory.SemanticDocumentAnalysis;
public bool OpenFileOnly(Workspace workspace) => false;
private static DiagnosticDescriptor CreateDescriptor(DiagnosticSeverity severity, params string[] customTags)
=> new DiagnosticDescriptor(
IDEDiagnosticIds.InlineDeclarationDiagnosticId,
s_localizableTitle,
s_localizableMessage,
DiagnosticCategory.Style,
severity,
isEnabledByDefault: true,
customTags: customTags);
public override void Initialize(AnalysisContext context)
{
context.RegisterSyntaxNodeAction(AnalyzeSyntaxNode, SyntaxKind.Argument);
......@@ -212,7 +197,7 @@ private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext context)
: localDeclarator;
context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(option.Notification.Value),
CreateDescriptor(this.Id, option.Notification.Value),
reportNode.GetLocation(),
additionalLocations: allLocations));
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册