Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
ab2b2de
remove CompilationPair to see waht breas
CyrusNajmabadi Aug 29, 2025
1114e46
in progress
CyrusNajmabadi Aug 29, 2025
2527492
Compiling
CyrusNajmabadi Aug 29, 2025
c37ee9e
Fix tests
CyrusNajmabadi Aug 29, 2025
a46e753
cleanup
CyrusNajmabadi Aug 29, 2025
b051d87
cleanup
CyrusNajmabadi Aug 29, 2025
2c15ab0
cleanup
CyrusNajmabadi Aug 29, 2025
8ab740e
cleanup
CyrusNajmabadi Aug 29, 2025
522ba7f
cleanup
CyrusNajmabadi Aug 29, 2025
750bb54
cleanup
CyrusNajmabadi Aug 29, 2025
06838ce
cleanup
CyrusNajmabadi Aug 29, 2025
cb533f9
cleanup
CyrusNajmabadi Aug 29, 2025
28b21a8
cleanup
CyrusNajmabadi Aug 29, 2025
06364bc
cleanup
CyrusNajmabadi Aug 29, 2025
dabdd08
cleanup
CyrusNajmabadi Aug 29, 2025
5273899
cleanup
CyrusNajmabadi Aug 29, 2025
325cfbb
cleanup
CyrusNajmabadi Aug 29, 2025
1583c82
Merge remote-tracking branch 'upstream/main' into noCompilationPair
CyrusNajmabadi Aug 30, 2025
ccae16c
Remove comments
CyrusNajmabadi Aug 30, 2025
8ab1449
Merge branch 'main' into noCompilationPair
CyrusNajmabadi Sep 1, 2025
8b5ace9
fix
CyrusNajmabadi Sep 1, 2025
10d5103
Merge branch 'main' into noCompilationPair
CyrusNajmabadi Sep 1, 2025
ceb530c
Fixtest
CyrusNajmabadi Sep 1, 2025
7cf5a48
Merge
CyrusNajmabadi Sep 1, 2025
6398a7b
Clean
CyrusNajmabadi Sep 1, 2025
a114a53
Rename
CyrusNajmabadi Sep 1, 2025
48f563e
hide
CyrusNajmabadi Sep 1, 2025
006d929
Docs
CyrusNajmabadi Sep 1, 2025
5ff9b15
cleanup
CyrusNajmabadi Sep 1, 2025
bf367f6
cleanup
CyrusNajmabadi Sep 1, 2025
22c861a
Cleanup
CyrusNajmabadi Sep 1, 2025
f4eab9a
Fix
CyrusNajmabadi Sep 1, 2025
2180608
Fix keys
CyrusNajmabadi Sep 1, 2025
b1d93a6
Fix naming styles
CyrusNajmabadi Sep 2, 2025
45c14ba
Fix test
CyrusNajmabadi Sep 2, 2025
d244d54
Simplify
CyrusNajmabadi Sep 2, 2025
6102f70
Pass analyzer along
CyrusNajmabadi Sep 2, 2025
8f649fc
Pass analyzer along
CyrusNajmabadi Sep 2, 2025
b9a9ae4
Finish up
CyrusNajmabadi Sep 3, 2025
baba234
Remove
CyrusNajmabadi Sep 3, 2025
ade656d
O(1)
CyrusNajmabadi Sep 3, 2025
ac872a3
In progress
CyrusNajmabadi Sep 3, 2025
988f27d
More options
CyrusNajmabadi Sep 3, 2025
c6997df
ifdefs
CyrusNajmabadi Sep 3, 2025
7afb19a
more analyzers
CyrusNajmabadi Sep 3, 2025
2a0fcc8
In progress
CyrusNajmabadi Sep 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public void AnalyzeNode(SyntaxNodeAnalysisContext context)
{
var statement = context.Node;

var option = context.GetCSharpAnalyzerOptions().PreferBraces;
var option = context.GetCSharpAnalyzerOptions(this).PreferBraces;
if (option.Value == PreferBracesPreference.None ||
ShouldSkipAnalysis(context, option.Notification))
{
Expand Down Expand Up @@ -107,6 +107,7 @@ public void AnalyzeNode(SyntaxNodeAnalysisContext context)

var firstToken = statement.GetFirstToken();
context.ReportDiagnostic(DiagnosticHelper.Create(
this,
Descriptor,
firstToken.GetLocation(),
option.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,24 +96,27 @@ public static implicit operator AnalyzerOptionsProvider(CSharpAnalyzerOptionsPro

internal static class CSharpAnalyzerOptionsProviders
{
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this AnalyzerOptions options, SyntaxTree syntaxTree)
=> new(options.AnalyzerConfigOptionsProvider.GetOptions(syntaxTree).GetOptionsReader());
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this AnalyzerOptions options, SyntaxTree syntaxTree, DiagnosticAnalyzer diagnosticAnalyzer)
{
options = AnalyzerOptionsUtilities.GetSpecificOptions(options, diagnosticAnalyzer);
return new(options.AnalyzerConfigOptionsProvider.GetOptions(syntaxTree).GetOptionsReader());
}

public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SemanticModelAnalysisContext context)
=> GetCSharpAnalyzerOptions(context.Options, context.SemanticModel.SyntaxTree);
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SemanticModelAnalysisContext context, DiagnosticAnalyzer diagnosticAnalyzer)
=> GetCSharpAnalyzerOptions(context.Options, context.SemanticModel.SyntaxTree, diagnosticAnalyzer);

public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SyntaxNodeAnalysisContext context)
=> GetCSharpAnalyzerOptions(context.Options, context.Node.SyntaxTree);
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SyntaxNodeAnalysisContext context, DiagnosticAnalyzer diagnosticAnalyzer)
=> GetCSharpAnalyzerOptions(context.Options, context.Node.SyntaxTree, diagnosticAnalyzer);

public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SyntaxTreeAnalysisContext context)
=> GetCSharpAnalyzerOptions(context.Options, context.Tree);
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SyntaxTreeAnalysisContext context, DiagnosticAnalyzer diagnosticAnalyzer)
=> GetCSharpAnalyzerOptions(context.Options, context.Tree, diagnosticAnalyzer);

public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this CodeBlockAnalysisContext context)
=> GetCSharpAnalyzerOptions(context.Options, context.SemanticModel.SyntaxTree);
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this CodeBlockAnalysisContext context, DiagnosticAnalyzer diagnosticAnalyzer)
=> GetCSharpAnalyzerOptions(context.Options, context.SemanticModel.SyntaxTree, diagnosticAnalyzer);

public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this OperationAnalysisContext context)
=> GetCSharpAnalyzerOptions(context.Options, context.Operation.Syntax.SyntaxTree);
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this OperationAnalysisContext context, DiagnosticAnalyzer diagnosticAnalyzer)
=> GetCSharpAnalyzerOptions(context.Options, context.Operation.Syntax.SyntaxTree, diagnosticAnalyzer);

public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SymbolStartAnalysisContext context, SyntaxTree syntaxTree)
=> GetCSharpAnalyzerOptions(context.Options, syntaxTree);
public static CSharpAnalyzerOptionsProvider GetCSharpAnalyzerOptions(this SymbolStartAnalysisContext context, SyntaxTree syntaxTree, DiagnosticAnalyzer diagnosticAnalyzer)
=> GetCSharpAnalyzerOptions(context.Options, syntaxTree, diagnosticAnalyzer);
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ private void AnalyzeNamespace(SyntaxNodeAnalysisContext context)

private Diagnostic? AnalyzeNamespace(SyntaxNodeAnalysisContext context, FileScopedNamespaceDeclarationSyntax declaration)
{
var option = context.GetCSharpAnalyzerOptions().NamespaceDeclarations;
var option = context.GetCSharpAnalyzerOptions(this).NamespaceDeclarations;
if (ShouldSkipAnalysis(context, option.Notification)
|| !ConvertNamespaceAnalysis.CanOfferUseBlockScoped(option, declaration, forAnalyzer: true))
{
Expand All @@ -54,6 +54,7 @@ private void AnalyzeNamespace(SyntaxNodeAnalysisContext context)
: declaration.SyntaxTree.GetLocation(TextSpan.FromBounds(declaration.SpanStart, declaration.SemicolonToken.Span.End));

return DiagnosticHelper.Create(
this,
this.Descriptor,
diagnosticLocation,
option.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ private void AnalyzeNamespace(SyntaxNodeAnalysisContext context)

private Diagnostic? AnalyzeNamespace(SyntaxNodeAnalysisContext context, CompilationUnitSyntax root, BaseNamespaceDeclarationSyntax declaration)
{
var option = context.GetCSharpAnalyzerOptions().NamespaceDeclarations;
var option = context.GetCSharpAnalyzerOptions(this).NamespaceDeclarations;
if (ShouldSkipAnalysis(context, option.Notification)
|| !ConvertNamespaceAnalysis.CanOfferUseFileScoped(option, root, declaration, forAnalyzer: true))
{
Expand All @@ -57,6 +57,7 @@ private void AnalyzeNamespace(SyntaxNodeAnalysisContext context)
: declaration.SyntaxTree.GetLocation(TextSpan.FromBounds(declaration.SpanStart, declaration.Name.Span.End));

return DiagnosticHelper.Create(
this,
this.Descriptor,
diagnosticLocation,
option.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ protected override void InitializeWorker(AnalysisContext context)
private void ProcessCompilationUnit(SyntaxNodeAnalysisContext context)
{
var root = (CompilationUnitSyntax)context.Node;
var option = context.GetCSharpAnalyzerOptions().PreferTopLevelStatements;
var option = context.GetCSharpAnalyzerOptions(this).PreferTopLevelStatements;

if (ShouldSkipAnalysis(context, option.Notification)
|| !CanOfferUseProgramMain(option, root, context.Compilation, forAnalyzer: true))
Expand All @@ -53,6 +53,7 @@ private void ProcessCompilationUnit(SyntaxNodeAnalysisContext context)
var severity = option.Notification.Severity;

context.ReportDiagnostic(DiagnosticHelper.Create(
this,
this.Descriptor,
GetUseProgramMainDiagnosticLocation(
root, isHidden: severity.WithDefaultSeverity(DiagnosticSeverity.Hidden) == ReportDiagnostic.Hidden),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ protected override void InitializeWorker(AnalysisContext context)
private void ProcessCompilationUnit(SyntaxNodeAnalysisContext context)
{
// Don't want to suggest moving if the user doesn't have a preference for top-level-statements.
var option = context.GetCSharpAnalyzerOptions().PreferTopLevelStatements;
var option = context.GetCSharpAnalyzerOptions(this).PreferTopLevelStatements;
if (ShouldSkipAnalysis(context, option.Notification)
|| !CanOfferUseTopLevelStatements(option, forAnalyzer: true))
{
Expand All @@ -73,6 +73,7 @@ private void ProcessCompilationUnit(SyntaxNodeAnalysisContext context)
{
// Looks good. Let the user know this type/method can be converted to a top level program.
context.ReportDiagnostic(DiagnosticHelper.Create(
this,
this.Descriptor,
GetUseTopLevelStatementsDiagnosticLocation(
methodDeclaration, isHidden: option.Notification.Severity.WithDefaultSeverity(DiagnosticSeverity.Hidden) == ReportDiagnostic.Hidden),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
{
var styleOption = context.GetCSharpAnalyzerOptions().PreferSwitchExpression;
var styleOption = context.GetCSharpAnalyzerOptions(this).PreferSwitchExpression;
if (!styleOption.Value || ShouldSkipAnalysis(context, styleOption.Notification))
{
// User has disabled this feature.
Expand All @@ -65,7 +65,8 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
additionalLocations.Add(switchStatement.GetLocation());
additionalLocations.AddIfNotNull(declaratorToRemoveOpt?.GetLocation());

context.ReportDiagnostic(DiagnosticHelper.Create(Descriptor,
context.ReportDiagnostic(DiagnosticHelper.Create(
this, Descriptor,
// Report the diagnostic on the "switch" keyword.
location: switchStatement.GetFirstToken().GetLocation(),
notificationOption: styleOption.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext context, INamedTypeSymb
return;
}

var option = context.GetCSharpAnalyzerOptions().PreferInlinedVariableDeclaration;
var option = context.GetCSharpAnalyzerOptions(this).PreferInlinedVariableDeclaration;
if (!option.Value || ShouldSkipAnalysis(context, option.Notification))
{
// Don't bother doing any work if the user doesn't even have this preference set.
Expand Down Expand Up @@ -238,6 +238,7 @@ private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext context, INamedTypeSymb
: localDeclarator;

context.ReportDiagnostic(DiagnosticHelper.Create(
this,
Descriptor,
reportNode.GetLocation(),
option.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void SyntaxNodeAction(SyntaxNodeAnalysisContext syntaxContext)
{
var styleOption = syntaxContext.GetCSharpAnalyzerOptions().PreferConditionalDelegateCall;
var styleOption = syntaxContext.GetCSharpAnalyzerOptions(this).PreferConditionalDelegateCall;
if (!styleOption.Value || ShouldSkipAnalysis(syntaxContext, styleOption.Notification))
{
// Bail if the user has disabled this feature.
Expand Down Expand Up @@ -182,6 +182,7 @@ private void ReportDiagnostics(
// Fade out the code up to the expression statement.
var fadeLocation = Location.Create(tree, TextSpan.FromBounds(firstStatement.SpanStart, previousToken.Span.End));
syntaxContext.ReportDiagnostic(DiagnosticHelper.CreateWithLocationTags(
this,
Descriptor,
fadeLocation,
NotificationOption2.ForSeverity(Descriptor.DefaultSeverity),
Expand All @@ -192,6 +193,7 @@ private void ReportDiagnostics(

// Put a diagnostic with the appropriate severity on the expression-statement itself.
syntaxContext.ReportDiagnostic(DiagnosticHelper.Create(
this,
Descriptor,
expressionStatement.GetLocation(),
notificationOption,
Expand All @@ -203,6 +205,7 @@ private void ReportDiagnostics(
{
fadeLocation = Location.Create(tree, TextSpan.FromBounds(nextToken.Span.Start, ifStatement.Span.End));
syntaxContext.ReportDiagnostic(DiagnosticHelper.CreateWithLocationTags(
this,
Descriptor,
fadeLocation,
NotificationOption2.ForSeverity(Descriptor.DefaultSeverity),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
{
var option = context.GetCSharpAnalyzerOptions().PreferStaticAnonymousFunction;
var option = context.GetCSharpAnalyzerOptions(this).PreferStaticAnonymousFunction;
if (!option.Value || ShouldSkipAnalysis(context, option.Notification))
return;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
return;
}

var option = context.GetCSharpAnalyzerOptions().PreferStaticLocalFunction;
var option = context.GetCSharpAnalyzerOptions(this).PreferStaticLocalFunction;
if (!option.Value || ShouldSkipAnalysis(context, option.Notification))
{
return;
Expand All @@ -50,6 +50,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
if (MakeLocalFunctionStaticHelper.CanMakeLocalFunctionStaticBecauseNoCaptures(localFunction, semanticModel))
{
context.ReportDiagnostic(DiagnosticHelper.Create(
this,
Descriptor,
localFunction.Identifier.GetLocation(),
option.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ bool ShouldAnalyze(SymbolStartAnalysisContext context, [NotNullWhen(true)] out C

var cancellationToken = context.CancellationToken;
var declaration = reference.GetSyntax(cancellationToken);
var options = context.GetCSharpAnalyzerOptions(declaration.SyntaxTree);
var options = context.GetCSharpAnalyzerOptions(declaration.SyntaxTree, this);
option = options.PreferReadOnlyStructMember;
if (!option.Value || ShouldSkipAnalysis(declaration.SyntaxTree, context.Options, context.Compilation.Options, option.Notification, cancellationToken))
return false;
Expand Down Expand Up @@ -157,6 +157,7 @@ private void AnalyzeBlock(
lock (methodToDiagnostic)
{
methodToDiagnostic[owningMethod] = DiagnosticHelper.Create(
this,
Descriptor,
location,
notificationOption,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ protected override void InitializeWorker(AnalysisContext context)
return;

context.ReportDiagnostic(DiagnosticHelper.Create(
this,
Descriptor,
location,
option.Notification,
Expand Down Expand Up @@ -91,7 +92,7 @@ private bool IsCandidate(
if (typeReference.GetSyntax(cancellationToken) is not TypeDeclarationSyntax typeDeclaration)
return false;

var options = context.GetCSharpAnalyzerOptions(typeDeclaration.SyntaxTree);
var options = context.GetCSharpAnalyzerOptions(typeDeclaration.SyntaxTree, this);
option = options.PreferReadOnlyStruct;
if (!option.Value || ShouldSkipAnalysis(typeDeclaration.SyntaxTree, context.Options, context.Compilation.Options, option.Notification, cancellationToken))
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void AnalyzeNamespaceNode(SyntaxNodeAnalysisContext context)
{
var option = context.GetCSharpAnalyzerOptions().UsingDirectivePlacement;
var option = context.GetCSharpAnalyzerOptions(this).UsingDirectivePlacement;
if (option.Value == AddImportPlacement.InsideNamespace
|| ShouldSkipAnalysis(context, option.Notification))
{
Expand All @@ -77,7 +77,7 @@ option.Value is AddImportPlacement.OutsideNamespaceIgnoringAliases

private void AnalyzeCompilationUnitNode(SyntaxNodeAnalysisContext context)
{
var option = context.GetCSharpAnalyzerOptions().UsingDirectivePlacement;
var option = context.GetCSharpAnalyzerOptions(this).UsingDirectivePlacement;
var compilationUnit = (CompilationUnitSyntax)context.Node;

if (option.Value != AddImportPlacement.InsideNamespace
Expand All @@ -103,13 +103,14 @@ private static bool ShouldSuppressDiagnostic(CompilationUnitSyntax compilationUn
t => t.Kind() is not (SyntaxKind.UsingDirective or SyntaxKind.NamespaceDeclaration or SyntaxKind.FileScopedNamespaceDeclaration));
}

private static void ReportDiagnostics(
private void ReportDiagnostics(
SyntaxNodeAnalysisContext context, DiagnosticDescriptor descriptor,
IEnumerable<UsingDirectiveSyntax> usingDirectives, CodeStyleOption2<AddImportPlacement> option)
{
foreach (var usingDirective in usingDirectives)
{
context.ReportDiagnostic(DiagnosticHelper.Create(
this,
descriptor,
usingDirective.GetLocation(),
option.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void AnalyzeTree(SyntaxTreeAnalysisContext context, CompilationOptions compilationOptions)
{
var option = context.GetCSharpAnalyzerOptions().AllowBlankLineAfterTokenInArrowExpressionClause;
var option = context.GetCSharpAnalyzerOptions(this).AllowBlankLineAfterTokenInArrowExpressionClause;
if (option.Value || ShouldSkipAnalysis(context, compilationOptions, option.Notification))
return;

Expand Down Expand Up @@ -76,6 +76,7 @@ private void ProcessArrowExpressionClause(
return;

context.ReportDiagnostic(DiagnosticHelper.Create(
this,
this.Descriptor,
arrowExpressionClause.ArrowToken.GetLocation(),
notificationOption,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void ProcessConditionalExpression(SyntaxNodeAnalysisContext context)
{
var option = context.GetCSharpAnalyzerOptions().AllowBlankLineAfterTokenInConditionalExpression;
var option = context.GetCSharpAnalyzerOptions(this).AllowBlankLineAfterTokenInConditionalExpression;
if (option.Value || ShouldSkipAnalysis(context, option.Notification))
return;

Expand All @@ -57,6 +57,7 @@ private void ProcessConditionalExpression(SyntaxNodeAnalysisContext context)
}

context.ReportDiagnostic(DiagnosticHelper.Create(
this,
this.Descriptor,
conditionalExpression.QuestionToken.GetLocation(),
option.Notification,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void AnalyzeTree(SyntaxTreeAnalysisContext context, CompilationOptions compilationOptions)
{
var option = context.GetCSharpAnalyzerOptions().AllowBlankLinesBetweenConsecutiveBraces;
var option = context.GetCSharpAnalyzerOptions(this).AllowBlankLinesBetweenConsecutiveBraces;
if (option.Value || ShouldSkipAnalysis(context, compilationOptions, option.Notification))
return;

Expand Down Expand Up @@ -80,6 +80,7 @@ private void ProcessToken(SyntaxTreeAnalysisContext context, NotificationOption2
return;

context.ReportDiagnostic(DiagnosticHelper.Create(
this,
this.Descriptor,
secondBrace.GetLocation(),
notificationOption,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ protected override void InitializeWorker(AnalysisContext context)

private void AnalyzeTree(SyntaxTreeAnalysisContext context, CompilationOptions compilationOptions)
{
var option = context.GetCSharpAnalyzerOptions().AllowBlankLineAfterColonInConstructorInitializer;
var option = context.GetCSharpAnalyzerOptions(this).AllowBlankLineAfterColonInConstructorInitializer;
if (option.Value || ShouldSkipAnalysis(context, compilationOptions, option.Notification))
return;

Expand Down Expand Up @@ -88,6 +88,7 @@ private void ProcessConstructorInitializer(
return;

context.ReportDiagnostic(DiagnosticHelper.Create(
this,
this.Descriptor,
colonToken.GetLocation(),
notificationOption,
Expand Down
Loading
Loading