Skip to content
This repository was archived by the owner on Aug 26, 2026. It is now read-only.

Commit 04d0f50

Browse files
authored
Merge pull request #1273 from dibarbet/dibarbet-simplify-ca1822-scope
Shift samples to make editorconfig rules simpler
2 parents 14659d6 + cfaa838 commit 04d0f50

317 files changed

Lines changed: 75 additions & 80 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -245,20 +245,13 @@ csharp_preserve_single_line_statements = true
245245
# IDE0060: Remove unused parameter
246246
dotnet_diagnostic.IDE0060.severity = warning
247247

248-
# Samples are nested under src for the Roslyn merge layout, but keep their sample-specific analyzer settings.
249-
[src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Samples/**/*.{cs,vb}]
250-
251-
# Samples preserve unused parameters to demonstrate extensibility points.
252-
dotnet_diagnostic.IDE0060.severity = none
253-
254248
[src/{Compilers,ExpressionEvaluator,Scripting}/**Test**/*.{cs,vb}]
255249

256250
# IDE0060: Remove unused parameter
257251
dotnet_diagnostic.IDE0060.severity = none
258252

259-
# Apply production style rules to product projects only. Test and Samples are intentionally excluded
260-
# because they lived outside src before the Roslyn merge layout and use different style settings.
261-
[src/RoslynSdk/{Microsoft.CodeAnalysis.Testing/Microsoft.CodeAnalysis.*,VisualStudio.Roslyn.SDK/AssemblyVersionGenerator,VisualStudio.Roslyn.SDK/ComponentDebugger,VisualStudio.Roslyn.SDK/Roslyn.SDK,VisualStudio.Roslyn.SDK/Roslyn.SDK.Template.Wizard,VisualStudio.Roslyn.SDK/SyntaxVisualizer}/**/*.{cs,vb}]
253+
# Apply production style rules throughout the Roslyn SDK product and test projects.
254+
[src/RoslynSdk/{Microsoft.CodeAnalysis.Testing,VisualStudio.Roslyn.SDK}/**/*.{cs,vb}]
262255

263256
# IDE0011: Add braces
264257
csharp_prefer_braces = when_multiline:warning
@@ -301,8 +294,8 @@ dotnet_diagnostic.IDE2005.severity = warning
301294
# csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental
302295
dotnet_diagnostic.IDE2006.severity = warning
303296

304-
# Apply the partner-facing API rule to Visual Studio SDK product code, but not its tests.
305-
[src/RoslynSdk/VisualStudio.Roslyn.SDK/{AssemblyVersionGenerator,ComponentDebugger,Roslyn.SDK,Roslyn.SDK.Template.Wizard,SyntaxVisualizer}/**/*.{cs,vb}]
297+
# Apply the partner-facing API rule throughout the Visual Studio SDK subtree.
298+
[src/RoslynSdk/VisualStudio.Roslyn.SDK/**/*.{cs,vb}]
306299
# CA1822: Make member static
307300
# There is a risk of accidentally breaking an internal API that partners rely on though IVT.
308301
dotnet_code_quality.CA1822.api_surface = private

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
.github/ @dotnet/roslyn-infrastructure
66
build/ @dotnet/roslyn-infrastructure
77
src/ @dotnet/roslyn-sdk
8-
src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Samples/ @dotnet/analyzer-samples
8+
src/RoslynSdk/Samples/ @dotnet/analyzer-samples

Samples.sln

Lines changed: 42 additions & 42 deletions
Large diffs are not rendered by default.

src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Test/Microsoft.CodeAnalysis.Analyzer.Testing.UnitTests/MarkupParserTests.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void SinglePosition8()
114114
var markup = "first$$second";
115115
var expected = "firstsecond";
116116

117-
TestFileMarkupParser.GetSpans(markup, treatPositionIndicatorsAsCode: false, out var output, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
117+
TestFileMarkupParser.GetSpans(markup, treatPositionIndicatorsAsCode: false, out var output, out var spans);
118118
Assert.Equal(expected, output);
119119

120120
// Test round-trip
@@ -127,7 +127,7 @@ public void SinglePosition9()
127127
var markup = "first$$second";
128128
var expected = "first$$second";
129129

130-
TestFileMarkupParser.GetSpans(markup, treatPositionIndicatorsAsCode: true, out var output, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
130+
TestFileMarkupParser.GetSpans(markup, treatPositionIndicatorsAsCode: true, out var output, out var spans);
131131
Assert.Equal(expected, output);
132132

133133
// Test round-trip
@@ -194,7 +194,7 @@ public void MissingOptionalPosition2()
194194
public void MissingOptionalPosition3()
195195
{
196196
var markup = "[|first|] {|x:second|}";
197-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
197+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
198198
Assert.Empty(positions);
199199

200200
// Test round-trip
@@ -205,7 +205,7 @@ public void MissingOptionalPosition3()
205205
public void NonOverlappingSpans1()
206206
{
207207
var markup = "{|x:first|} {|y:second|}";
208-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
208+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
209209
Assert.Equal(2, spans.Count);
210210

211211
Assert.True(spans.TryGetValue("x", out var xs));
@@ -224,7 +224,7 @@ public void NonOverlappingSpans1()
224224
public void OverlappingSpans1()
225225
{
226226
var markup = "{|x:first {|y:second|}|}";
227-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
227+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
228228
Assert.Equal(2, spans.Count);
229229

230230
Assert.True(spans.TryGetValue("x", out var xs));
@@ -243,7 +243,7 @@ public void OverlappingSpans1()
243243
public void OverlappingSpans2()
244244
{
245245
var markup = "{|x:first {|y:seco|}nd|}";
246-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
246+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
247247
Assert.Equal(2, spans.Count);
248248

249249
Assert.True(spans.TryGetValue("x", out var xs));
@@ -262,7 +262,7 @@ public void OverlappingSpans2()
262262
public void OverlappingSpans3A()
263263
{
264264
var markup = "{|#0:first {|y:seco|}nd|}";
265-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
265+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
266266
Assert.Equal(2, spans.Count);
267267

268268
Assert.True(spans.TryGetValue("#0", out var xs));
@@ -281,7 +281,7 @@ public void OverlappingSpans3A()
281281
public void OverlappingSpans3B()
282282
{
283283
var markup = "{|#0:first {|y:seco|}nd|#0}";
284-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
284+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
285285
Assert.Equal(2, spans.Count);
286286

287287
Assert.True(spans.TryGetValue("#0", out var xs));
@@ -301,7 +301,7 @@ public void OverlappingSpans3B()
301301
public void OverlappingSpans3C()
302302
{
303303
var markup = "{|#0:first {|y:seco|#0}nd|}";
304-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
304+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
305305
Assert.Equal(2, spans.Count);
306306

307307
Assert.True(spans.TryGetValue("#0", out var xs));
@@ -322,7 +322,7 @@ public void OverlappingSpans3C()
322322
public void OverlappingSpans4A()
323323
{
324324
var markup = "{|x:first {|#0:seco|}nd|}";
325-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
325+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
326326
Assert.Equal(2, spans.Count);
327327

328328
Assert.True(spans.TryGetValue("x", out var xs));
@@ -341,7 +341,7 @@ public void OverlappingSpans4A()
341341
public void OverlappingSpans4B()
342342
{
343343
var markup = "{|x:first {|#0:seco|#0}nd|}";
344-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
344+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
345345
Assert.Equal(2, spans.Count);
346346

347347
Assert.True(spans.TryGetValue("x", out var xs));
@@ -361,7 +361,7 @@ public void OverlappingSpans4B()
361361
public void OverlappingSpans4C()
362362
{
363363
var markup = "{|x:first {|#0:seco|}nd|#0}";
364-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out ImmutableArray<int> positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
364+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var output, out var positions, out var spans);
365365
Assert.Equal(2, spans.Count);
366366

367367
Assert.True(spans.TryGetValue("x", out var xs));
@@ -383,7 +383,7 @@ public void CDataMarkup1()
383383
{
384384
var markup = "{|X:[|<![CDATA[|]|}text[|]]>|]";
385385
var expected = "<![CDATA[text]]>";
386-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var result, out var positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
386+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var result, out var positions, out var spans);
387387
Assert.Equal(expected, result);
388388

389389
Assert.Empty(positions);
@@ -401,7 +401,7 @@ public void CDataMarkup2()
401401
{
402402
var markup = @"[|<![CDATA[|]text{|X:[|]]>|]|}";
403403
var expected = @"<![CDATA[text]]>";
404-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var result, out var positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
404+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var result, out var positions, out var spans);
405405
Assert.Equal(expected, result);
406406

407407
Assert.Empty(positions);
@@ -420,7 +420,7 @@ public void MarkupSpanSplitsEndOfLine()
420420
{
421421
var markup = "class C { }\r{|b:\n|}";
422422
var expected = "class C { }\r\n";
423-
TestFileMarkupParser.GetPositionsAndSpans(markup, out var result, out var positions, out ImmutableDictionary<string, ImmutableArray<TextSpan>> spans);
423+
TestFileMarkupParser.GetPositionsAndSpans(markup, out var result, out var positions, out var spans);
424424
Assert.Equal(expected, result);
425425

426426
Assert.Empty(positions);

src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Test/Microsoft.CodeAnalysis.CodeFix.Testing.UnitTests/CodeFixValidationTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
352352
return Task.CompletedTask;
353353
}
354354

355-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
355+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
356356
{
357357
var tree = await document.GetSyntaxTreeAsync(cancellationToken);
358358
var root = await tree!.GetRootAsync(cancellationToken);
@@ -385,7 +385,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
385385
return Task.CompletedTask;
386386
}
387387

388-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
388+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
389389
{
390390
var tree = (await document.GetSyntaxTreeAsync(cancellationToken))!;
391391
var root = await tree.GetRootAsync(cancellationToken);
@@ -432,7 +432,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
432432
return Task.CompletedTask;
433433
}
434434

435-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
435+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
436436
{
437437
var tree = (await document.GetSyntaxTreeAsync(cancellationToken))!;
438438
var root = await tree.GetRootAsync(cancellationToken);

src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Test/Microsoft.CodeAnalysis.CodeFix.Testing.UnitTests/IncludeDiagnosticsMentionedByCodeFixTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
4848
return Task.CompletedTask;
4949
}
5050

51-
private async Task<Document> CreateChangedDocument(
51+
private static async Task<Document> CreateChangedDocument(
5252
Document document,
5353
TextSpan sourceSpan,
5454
CancellationToken cancellationToken)

src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Test/Microsoft.CodeAnalysis.CodeFix.Testing.UnitTests/MultipleCodeFixesTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
455455
return Task.CompletedTask;
456456
}
457457

458-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, int replacement, CancellationToken cancellationToken)
458+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, int replacement, CancellationToken cancellationToken)
459459
{
460460
var tree = (await document.GetSyntaxTreeAsync(cancellationToken))!;
461461
var root = await tree.GetRootAsync(cancellationToken);

src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Test/Microsoft.CodeAnalysis.CodeRefactoring.Testing.UnitTests/RefactoringValidationTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ public override Task ComputeRefactoringsAsync(CodeRefactoringContext context)
403403
return Task.CompletedTask;
404404
}
405405

406-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
406+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
407407
{
408408
var tree = (await document.GetSyntaxTreeAsync(cancellationToken))!;
409409
var root = await tree.GetRootAsync(cancellationToken);
@@ -428,7 +428,7 @@ public override Task ComputeRefactoringsAsync(CodeRefactoringContext context)
428428
return Task.CompletedTask;
429429
}
430430

431-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
431+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
432432
{
433433
var tree = (await document.GetSyntaxTreeAsync(cancellationToken))!;
434434
var root = await tree.GetRootAsync(cancellationToken);
@@ -467,7 +467,7 @@ public override Task ComputeRefactoringsAsync(CodeRefactoringContext context)
467467
return Task.CompletedTask;
468468
}
469469

470-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
470+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
471471
{
472472
var tree = (await document.GetSyntaxTreeAsync(cancellationToken))!;
473473
var root = await tree.GetRootAsync(cancellationToken);

src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Test/Microsoft.CodeAnalysis.Testing.Utilities/TestFixes/IncrementFix.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
3838
return Task.CompletedTask;
3939
}
4040

41-
private async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
41+
private static async Task<Document> CreateChangedDocument(Document document, TextSpan sourceSpan, CancellationToken cancellationToken)
4242
{
4343
var tree = (await document.GetSyntaxTreeAsync(cancellationToken))!;
4444
var root = await tree.GetRootAsync(cancellationToken);

src/RoslynSdk/Microsoft.CodeAnalysis.Testing/Samples/.editorconfig renamed to src/RoslynSdk/Samples/.editorconfig

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Avoid "this." and "Me." if not necessary
32
dotnet_style_qualification_for_field = true:error
43
dotnet_style_qualification_for_property = true:error
@@ -29,3 +28,6 @@ csharp_style_pattern_matching_over_as_with_null_check = true:error
2928
csharp_style_inlined_variable_declaration = true:error
3029
csharp_style_throw_expression = true:error
3130
csharp_style_conditional_delegate_call = true:error
31+
32+
# Samples preserve unused parameters to demonstrate extensibility points.
33+
dotnet_diagnostic.IDE0060.severity = none

0 commit comments

Comments
 (0)