Skip to content

Commit c2d0129

Browse files
committed
restore changes lost in merge
1 parent 51dbe04 commit c2d0129

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers/LayoutRules/SA1516ElementsMustBeSeparatedByBlankLine.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ namespace StyleCop.Analyzers.LayoutRules
1515
using Microsoft.CodeAnalysis.Diagnostics;
1616
using Microsoft.CodeAnalysis.Text;
1717
using StyleCop.Analyzers.Helpers;
18+
using StyleCop.Analyzers.Lightup;
1819
using StyleCop.Analyzers.Settings.ObjectModel;
1920

2021
/// <summary>
@@ -87,6 +88,7 @@ internal class SA1516ElementsMustBeSeparatedByBlankLine : DiagnosticAnalyzer
8788
private static readonly Action<SyntaxNodeAnalysisContext> TypeDeclarationAction = HandleTypeDeclaration;
8889
private static readonly Action<SyntaxNodeAnalysisContext, StyleCopSettings> CompilationUnitAction = HandleCompilationUnit;
8990
private static readonly Action<SyntaxNodeAnalysisContext, StyleCopSettings> NamespaceDeclarationAction = HandleNamespaceDeclaration;
91+
private static readonly Action<SyntaxNodeAnalysisContext, StyleCopSettings> FileScopedNamespaceDeclarationAction = HandleFileScopedNamespaceDeclaration;
9092
private static readonly Action<SyntaxNodeAnalysisContext> BasePropertyDeclarationAction = HandleBasePropertyDeclaration;
9193

9294
private static readonly ImmutableDictionary<string, string> DiagnosticProperties = ImmutableDictionary<string, string>.Empty.Add(CodeFixActionKey, InsertBlankLineValue);
@@ -129,6 +131,7 @@ public override void Initialize(AnalysisContext context)
129131
context.RegisterSyntaxNodeAction(TypeDeclarationAction, SyntaxKinds.TypeDeclaration);
130132
context.RegisterSyntaxNodeAction(CompilationUnitAction, SyntaxKind.CompilationUnit);
131133
context.RegisterSyntaxNodeAction(NamespaceDeclarationAction, SyntaxKind.NamespaceDeclaration);
134+
context.RegisterSyntaxNodeAction(FileScopedNamespaceDeclarationAction, SyntaxKindEx.FileScopedNamespaceDeclaration);
132135
context.RegisterSyntaxNodeAction(BasePropertyDeclarationAction, SyntaxKinds.BasePropertyDeclaration);
133136
});
134137
}
@@ -212,6 +215,20 @@ private static void HandleCompilationUnit(SyntaxNodeAnalysisContext context, Sty
212215
}
213216
}
214217

218+
private static void HandleFileScopedNamespaceDeclaration(SyntaxNodeAnalysisContext context, StyleCopSettings settings)
219+
{
220+
var namespaceDeclaration = (BaseNamespaceDeclarationSyntaxWrapper)context.Node;
221+
222+
var members = namespaceDeclaration.Members;
223+
224+
HandleMemberList(context, members);
225+
226+
if (members.Count > 0)
227+
{
228+
ReportIfThereIsNoBlankLine(context, namespaceDeclaration.Name, members[0]);
229+
}
230+
}
231+
215232
private static void HandleNamespaceDeclaration(SyntaxNodeAnalysisContext context, StyleCopSettings settings)
216233
{
217234
var namespaceDeclaration = (NamespaceDeclarationSyntax)context.Node;

0 commit comments

Comments
 (0)