提交 92f239e9 编写于 作者: C CyrusNajmabadi

Improve the messages we give for code fixes in the error list.

上级 ace57b08
......@@ -26,7 +26,8 @@ internal class CSharpInlineDeclarationDiagnosticAnalyzer : AbstractCodeStyleDiag
{
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)),
new LocalizableResourceString(nameof(FeaturesResources.Variable_declaration_can_be_inlined), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{
}
......@@ -196,7 +197,7 @@ private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext context)
: localDeclarator;
context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(this.DescriptorId, option.Notification.Value),
CreateDescriptorWithSeverity(option.Notification.Value),
reportNode.GetLocation(),
additionalLocations: allLocations));
}
......
......@@ -173,7 +173,8 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext)
additionalLocations, properties));
// Put a diagnostic with the appropriate severity on the expression-statement itself.
syntaxContext.ReportDiagnostic(Diagnostic.Create(CreateDescriptor(this.DescriptorId, severity),
syntaxContext.ReportDiagnostic(Diagnostic.Create(
CreateDescriptorWithSeverity(severity),
expressionStatement.GetLocation(),
additionalLocations, properties));
......
......@@ -65,7 +65,7 @@ internal virtual Diagnostic AnalyzeSyntax(OptionSet optionSet, TDeclaration decl
{
var additionalLocations = ImmutableArray.Create(declaration.GetLocation());
return Diagnostic.Create(
CreateDescriptor(_expressionBodyTitle, preferExpressionBodiedOption.Notification.Value),
CreateDescriptorWithTitle(_expressionBodyTitle, preferExpressionBodiedOption.Notification.Value),
GetBody(declaration).Statements[0].GetLocation(),
additionalLocations: additionalLocations);
}
......@@ -78,7 +78,7 @@ internal virtual Diagnostic AnalyzeSyntax(OptionSet optionSet, TDeclaration decl
{
var additionalLocations = ImmutableArray.Create(declaration.GetLocation());
return Diagnostic.Create(
CreateDescriptor(_blockBodyTitle, preferExpressionBodiedOption.Notification.Value),
CreateDescriptorWithTitle(_blockBodyTitle, preferExpressionBodiedOption.Notification.Value),
expressionBody.GetLocation(),
additionalLocations: additionalLocations);
}
......
......@@ -132,7 +132,7 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext)
// Put a diagnostic with the appropriate severity on the declaration-statement itself.
syntaxContext.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(this.DescriptorId, severity),
CreateDescriptorWithSeverity(severity),
localDeclarationStatement.GetLocation(),
additionalLocations));
}
......
......@@ -142,7 +142,7 @@ private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext)
// Put a diagnostic with the appropriate severity on the declaration-statement itself.
syntaxContext.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(this.DescriptorId, severity),
CreateDescriptorWithSeverity(severity),
localDeclarationStatement.GetLocation(),
additionalLocations));
}
......
......@@ -39,13 +39,13 @@ internal abstract class AbstractCodeStyleDiagnosticAnalyzer : DiagnosticAnalyzer
_localizableTitle = title;
_localizableMessage = message ?? title;
var primaryDescriptor = CreateDescriptor(descriptorId, DiagnosticSeverity.Hidden);
var primaryDescriptor = CreateDescriptorWithSeverity(DiagnosticSeverity.Hidden);
UnnecessaryWithSuggestionDescriptor = CreateDescriptor(
UnnecessaryWithSuggestionDescriptor = CreateDescriptorWithId(
descriptorId, _localizableTitle, _localizableMessage,
DiagnosticSeverity.Hidden, DiagnosticCustomTags.Unnecessary);
UnnecessaryWithoutSuggestionDescriptor = CreateDescriptor(
UnnecessaryWithoutSuggestionDescriptor = CreateDescriptorWithId(
descriptorId + "WithoutSuggestion",
_localizableTitle, _localizableMessage,
DiagnosticSeverity.Hidden, DiagnosticCustomTags.Unnecessary);
......@@ -56,13 +56,13 @@ internal abstract class AbstractCodeStyleDiagnosticAnalyzer : DiagnosticAnalyzer
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics { get; }
protected DiagnosticDescriptor CreateDescriptor(DiagnosticSeverity severity, params string[] customTags)
=> CreateDescriptor(DescriptorId, _localizableTitle, _localizableMessage, severity, customTags);
protected DiagnosticDescriptor CreateDescriptorWithSeverity(DiagnosticSeverity severity, params string[] customTags)
=> CreateDescriptorWithId(DescriptorId, _localizableTitle, _localizableMessage, severity, customTags);
protected DiagnosticDescriptor CreateDescriptor(LocalizableString title, DiagnosticSeverity severity, params string[] customTags)
=> CreateDescriptor(DescriptorId, title, title, severity, customTags);
protected DiagnosticDescriptor CreateDescriptorWithTitle(LocalizableString title, DiagnosticSeverity severity, params string[] customTags)
=> CreateDescriptorWithId(DescriptorId, title, title, severity, customTags);
private DiagnosticDescriptor CreateDescriptor(string id, LocalizableString title, LocalizableString message, DiagnosticSeverity severity, params string[] customTags)
private DiagnosticDescriptor CreateDescriptorWithId(string id, LocalizableString title, LocalizableString message, DiagnosticSeverity severity, params string[] customTags)
=> new DiagnosticDescriptor(
id, title, message,
DiagnosticCategory.Style,
......
......@@ -2011,6 +2011,15 @@ internal class FeaturesResources {
}
}
/// <summary>
/// Looks up a localized string similar to Null check can be simplified.
/// </summary>
internal static string Null_check_can_be_simplified {
get {
return ResourceManager.GetString("Null_check_can_be_simplified", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Object initialization can be simplified.
/// </summary>
......@@ -2412,6 +2421,15 @@ internal class FeaturesResources {
}
}
/// <summary>
/// Looks up a localized string similar to Simplify collection initialization.
/// </summary>
internal static string Simplify_collection_initialization {
get {
return ResourceManager.GetString("Simplify_collection_initialization", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Simplify Member Access.
/// </summary>
......@@ -2430,6 +2448,15 @@ internal class FeaturesResources {
}
}
/// <summary>
/// Looks up a localized string similar to Simplify object initialization.
/// </summary>
internal static string Simplify_object_initialization {
get {
return ResourceManager.GetString("Simplify_object_initialization", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Snippets.
/// </summary>
......@@ -3164,6 +3191,15 @@ internal class FeaturesResources {
}
}
/// <summary>
/// Looks up a localized string similar to Variable declaration can be inlined.
/// </summary>
internal static string Variable_declaration_can_be_inlined {
get {
return ResourceManager.GetString("Variable_declaration_can_be_inlined", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Variadic SignatureHelpItem must have at least one parameter..
/// </summary>
......
......@@ -1157,4 +1157,16 @@ This version used in: {2}</value>
<data name="Use_null_propagation" xml:space="preserve">
<value>Use null propagation</value>
</data>
<data name="Variable_declaration_can_be_inlined" xml:space="preserve">
<value>Variable declaration can be inlined</value>
</data>
<data name="Null_check_can_be_simplified" xml:space="preserve">
<value>Null check can be simplified</value>
</data>
<data name="Simplify_collection_initialization" xml:space="preserve">
<value>Simplify collection initialization</value>
</data>
<data name="Simplify_object_initialization" xml:space="preserve">
<value>Simplify object initialization</value>
</data>
</root>
\ No newline at end of file
......@@ -88,7 +88,7 @@ private void AnalyzeOperation(OperationAnalysisContext context)
if (severity != DiagnosticSeverity.Hidden)
{
context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(severity),
CreateDescriptorWithSeverity(severity),
context.Operation.Syntax.GetLocation()));
}
}
......
......@@ -19,7 +19,8 @@ internal abstract class AbstractUseCoalesceExpressionDiagnosticAnalyzer<
{
protected AbstractUseCoalesceExpressionDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseCoalesceExpressionDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Use_coalesce_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
new LocalizableResourceString(nameof(FeaturesResources.Use_coalesce_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Null_check_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{
}
......@@ -103,7 +104,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
whenPartToCheck.GetLocation());
context.ReportDiagnostic(Diagnostic.Create(
this.CreateDescriptor(option.Notification.Value),
this.CreateDescriptorWithSeverity(option.Notification.Value),
conditionalExpression.GetLocation(),
locations));
}
......
......@@ -129,7 +129,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
whenPartToKeep.GetLocation());
context.ReportDiagnostic(Diagnostic.Create(
this.CreateDescriptor(option.Notification.Value),
this.CreateDescriptorWithSeverity(option.Notification.Value),
conditionalExpression.GetLocation(),
locations));
}
......
......@@ -33,6 +33,7 @@ internal abstract class AbstractUseCollectionInitializerDiagnosticAnalyzer<
protected AbstractUseCollectionInitializerDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseCollectionInitializerDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Simplify_collection_initialization), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Collection_initialization_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{
}
......@@ -96,7 +97,7 @@ private void AnalyzeNode(SyntaxNodeAnalysisContext context, INamedTypeSymbol ien
var severity = option.Notification.Value;
context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(severity),
CreateDescriptorWithSeverity(severity),
objectCreationExpression.GetLocation(),
additionalLocations: locations));
......
......@@ -28,7 +28,8 @@ internal abstract class AbstractUseNullPropagationDiagnosticAnalyzer<
{
protected AbstractUseNullPropagationDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseNullPropagationDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Use_null_propagation), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
new LocalizableResourceString(nameof(FeaturesResources.Use_null_propagation), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Null_check_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{
}
......@@ -112,7 +113,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
whenPartToCheck.GetLocation());
context.ReportDiagnostic(Diagnostic.Create(
this.CreateDescriptor(option.Notification.Value),
this.CreateDescriptorWithSeverity(option.Notification.Value),
conditionalExpression.GetLocation(),
locations));
}
......
......@@ -35,6 +35,7 @@ internal abstract class AbstractUseObjectInitializerDiagnosticAnalyzer<
protected AbstractUseObjectInitializerDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseObjectInitializerDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Simplify_object_initialization), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Object_initialization_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{
}
......@@ -80,7 +81,7 @@ private void AnalyzeNode(SyntaxNodeAnalysisContext context)
var severity = option.Notification.Value;
context.ReportDiagnostic(Diagnostic.Create(
CreateDescriptor(severity),
CreateDescriptorWithSeverity(severity),
objectCreationExpression.GetLocation(),
additionalLocations: locations));
......
......@@ -36,7 +36,8 @@ internal abstract class AbstractUseThrowExpressionDiagnosticAnalyzer : AbstractC
{
protected AbstractUseThrowExpressionDiagnosticAnalyzer()
: base(IDEDiagnosticIds.UseThrowExpressionDiagnosticId,
new LocalizableResourceString(nameof(FeaturesResources.Use_throw_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
new LocalizableResourceString(nameof(FeaturesResources.Use_throw_expression), FeaturesResources.ResourceManager, typeof(FeaturesResources)),
new LocalizableResourceString(nameof(FeaturesResources.Null_check_can_be_simplified), FeaturesResources.ResourceManager, typeof(FeaturesResources)))
{
}
......@@ -141,7 +142,7 @@ private void AnalyzeOperation(OperationAnalysisContext context)
throwOperation.ThrownObject.Syntax.GetLocation(),
assignmentExpression.Value.Syntax.GetLocation());
var descriptor = CreateDescriptor(option.Notification.Value);
var descriptor = CreateDescriptorWithSeverity(option.Notification.Value);
context.ReportDiagnostic(
Diagnostic.Create(descriptor, throwStatement.GetLocation(), additionalLocations: allLocations));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册