Skip to content

Commit

Permalink
Do no enforce empty line between global statements (RCS0010)
Browse files Browse the repository at this point in the history
  • Loading branch information
josefpihrt committed Apr 2, 2022
1 parent 09a4f2a commit 1bb7bd3
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,22 @@ private static void Analyze(SyntaxNodeAnalysisContext context, SyntaxList<Member
CancellationToken cancellationToken = context.CancellationToken;
MemberDeclarationSyntax member;
MemberDeclarationSyntax previousMember = members[0];
bool isPreviousGlobalStatement = previousMember.IsKind(SyntaxKind.GlobalStatement);
bool? isSingleLine;
bool? isPreviousSingleLine = null;

for (int i = 1; i < count; i++, previousMember = member, isPreviousSingleLine = isSingleLine)
{
member = members[i];
isSingleLine = null;

bool isGlobalStatement = member.IsKind(SyntaxKind.GlobalStatement);
bool areGlobalStatements = isPreviousGlobalStatement && isGlobalStatement;
isPreviousGlobalStatement = isGlobalStatement;

if (areGlobalStatements)
continue;

SyntaxTriviaList trailingTrivia = previousMember.GetTrailingTrivia();

if (!SyntaxTriviaAnalysis.IsOptionalWhitespaceThenOptionalSingleLineCommentThenEndOfLineTrivia(trailingTrivia))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,5 +219,15 @@ enum E
}
");
}

[Fact, Trait(Traits.Analyzer, DiagnosticIdentifiers.AddBlankLineBetweenDeclarations)]
public async Task TestNoDiagnostic_GlobalStatement()
{
await VerifyNoDiagnosticAsync(@"
var s = """";
s = s
.ToString();
", options: Options.WithCompilationOptions(Options.CompilationOptions.WithOutputKind(OutputKind.ConsoleApplication)));
}
}
}

0 comments on commit 1bb7bd3

Please sign in to comment.