Skip to content

Commit d791fe0

Browse files
committed
Merge remote-tracking branch 'DotNetAnalyzers/master' into pattern-matching
2 parents be7e0d9 + 5dd2127 commit d791fe0

File tree

27 files changed

+294
-62
lines changed

27 files changed

+294
-62
lines changed

StyleCop.Analyzers/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
</PropertyGroup>
4646

4747
<ItemGroup>
48-
<PackageReference Include="Nerdbank.GitVersioning" Version="2.2.13" PrivateAssets="all" />
48+
<PackageReference Include="Nerdbank.GitVersioning" Version="3.9.50" PrivateAssets="all" />
4949
</ItemGroup>
5050

5151
<ItemGroup>

StyleCop.Analyzers/StyleCop.Analyzers.CodeFixes/ReadabilityRules/SA1106CodeFixProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ private static async Task<Document> RemoveEmptyStatementAsync(Document document,
7777
case SyntaxKind.IfStatement:
7878
case SyntaxKind.ElseClause:
7979
case SyntaxKind.ForStatement:
80+
case SyntaxKind.ForEachStatement:
8081
case SyntaxKind.WhileStatement:
8182
case SyntaxKind.DoStatement:
8283
// these cases are always replaced with an empty block

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp10/StyleCop.Analyzers.Test.CSharp10.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33

44
<PropertyGroup>
5-
<TargetFramework>net472</TargetFramework>
5+
<TargetFrameworks>net472;net6.0</TargetFrameworks>
66
<EnforceExtendedAnalyzerRules>false</EnforceExtendedAnalyzerRules>
77
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
88
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
@@ -19,7 +19,7 @@
1919

2020
<ItemGroup>
2121
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.0.1" />
22-
<PackageReference Include="xunit" Version="2.4.1" />
22+
<PackageReference Include="xunit" Version="2.4.2" />
2323
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="all" />
2424
</ItemGroup>
2525

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp11/Lightup/IImportScopeWrapperCSharp11UnitTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public class TestClass
5252
}
5353
";
5454

55-
var workspace = GenericAnalyzerTest.CreateWorkspace();
55+
var workspace = await GenericAnalyzerTest.CreateWorkspaceAsync().ConfigureAwait(false);
5656
var projectId = ProjectId.CreateNewId();
5757

5858
var references = await GenericAnalyzerTest.ReferenceAssemblies

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp11/StyleCop.Analyzers.Test.CSharp11.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33

44
<PropertyGroup>
5-
<TargetFramework>net472</TargetFramework>
5+
<TargetFrameworks>net472;net6.0</TargetFrameworks>
66
<EnforceExtendedAnalyzerRules>false</EnforceExtendedAnalyzerRules>
77
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
88
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
@@ -19,7 +19,7 @@
1919

2020
<ItemGroup>
2121
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.4.0" />
22-
<PackageReference Include="xunit" Version="2.4.1" />
22+
<PackageReference Include="xunit" Version="2.4.2" />
2323
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="all" />
2424
</ItemGroup>
2525

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp12/StyleCop.Analyzers.Test.CSharp12.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33

44
<PropertyGroup>
5-
<TargetFramework>net472</TargetFramework>
5+
<TargetFrameworks>net472;net6.0</TargetFrameworks>
66
<EnforceExtendedAnalyzerRules>false</EnforceExtendedAnalyzerRules>
77
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
88
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
@@ -19,7 +19,7 @@
1919

2020
<ItemGroup>
2121
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0" />
22-
<PackageReference Include="xunit" Version="2.4.1" />
22+
<PackageReference Include="xunit" Version="2.4.2" />
2323
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="all" />
2424
</ItemGroup>
2525

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp13/StyleCop.Analyzers.Test.CSharp13.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33

44
<PropertyGroup>
5-
<TargetFramework>net472</TargetFramework>
5+
<TargetFrameworks>net472;net6.0</TargetFrameworks>
66
<EnforceExtendedAnalyzerRules>false</EnforceExtendedAnalyzerRules>
77
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
88
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
@@ -19,7 +19,7 @@
1919

2020
<ItemGroup>
2121
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.12.0" />
22-
<PackageReference Include="xunit" Version="2.4.1" />
22+
<PackageReference Include="xunit" Version="2.4.2" />
2323
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="all" />
2424
</ItemGroup>
2525

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp7/StyleCop.Analyzers.Test.CSharp7.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33

44
<PropertyGroup>
5-
<TargetFramework>net46</TargetFramework>
5+
<TargetFrameworks>net46;net6.0</TargetFrameworks>
66
<EnforceExtendedAnalyzerRules>false</EnforceExtendedAnalyzerRules>
77
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
88
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
@@ -19,7 +19,7 @@
1919

2020
<ItemGroup>
2121
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.8.2" />
22-
<PackageReference Include="xunit" Version="2.4.1" />
22+
<PackageReference Include="xunit" Version="2.4.2" />
2323
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" PrivateAssets="all" />
2424
</ItemGroup>
2525

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/LayoutRules/SA1503CSharp8UnitTests.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,41 @@ public void Method()
9494

9595
await VerifyCSharpDiagnosticAsync(testCode, DiagnosticResult.EmptyDiagnosticResults, CancellationToken.None).ConfigureAwait(false);
9696
}
97+
98+
[Fact]
99+
[WorkItem(3007, "https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3007")]
100+
public async Task TestAwaitForEachMustUseBracesAsync()
101+
{
102+
var testCode = @"
103+
using System.Collections.Generic;
104+
using System.Threading.Tasks;
105+
106+
public class TestClass
107+
{
108+
public async Task TestAsync(IAsyncEnumerable<int> values)
109+
{
110+
await foreach (var value in values)
111+
{|#0:_ = value;|}
112+
}
113+
}
114+
";
115+
var fixedCode = @"
116+
using System.Collections.Generic;
117+
using System.Threading.Tasks;
118+
119+
public class TestClass
120+
{
121+
public async Task TestAsync(IAsyncEnumerable<int> values)
122+
{
123+
await foreach (var value in values)
124+
{
125+
_ = value;
126+
}
127+
}
128+
}
129+
";
130+
131+
await VerifyCSharpFixAsync(testCode, Diagnostic().WithLocation(0), fixedCode, CancellationToken.None).ConfigureAwait(false);
132+
}
97133
}
98134
}

StyleCop.Analyzers/StyleCop.Analyzers.Test.CSharp8/LayoutRules/SA1519CSharp8UnitTests.cs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,52 @@
33

44
namespace StyleCop.Analyzers.Test.CSharp8.LayoutRules
55
{
6+
using System.Threading;
7+
using System.Threading.Tasks;
68
using StyleCop.Analyzers.Test.CSharp7.LayoutRules;
9+
using Xunit;
10+
using static StyleCop.Analyzers.Test.Verifiers.StyleCopCodeFixVerifier<
11+
StyleCop.Analyzers.LayoutRules.SA1519BracesMustNotBeOmittedFromMultiLineChildStatement,
12+
StyleCop.Analyzers.LayoutRules.SA1503CodeFixProvider>;
713

814
public partial class SA1519CSharp8UnitTests : SA1519CSharp7UnitTests
915
{
16+
[Fact]
17+
[WorkItem(3007, "https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3007")]
18+
public async Task TestAwaitForEachMultiLineChildRequiresBracesAsync()
19+
{
20+
var testCode = @"
21+
using System.Collections.Generic;
22+
using System.Threading.Tasks;
23+
24+
public class TestClass
25+
{
26+
public async Task TestAsync(IAsyncEnumerable<int> values)
27+
{
28+
await foreach (var value in values)
29+
{|#0:System.Console.WriteLine(
30+
value);|}
31+
}
32+
}
33+
";
34+
var fixedCode = @"
35+
using System.Collections.Generic;
36+
using System.Threading.Tasks;
37+
38+
public class TestClass
39+
{
40+
public async Task TestAsync(IAsyncEnumerable<int> values)
41+
{
42+
await foreach (var value in values)
43+
{
44+
System.Console.WriteLine(
45+
value);
46+
}
47+
}
48+
}
49+
";
50+
51+
await VerifyCSharpFixAsync(testCode, Diagnostic().WithLocation(0), fixedCode, CancellationToken.None).ConfigureAwait(false);
52+
}
1053
}
1154
}

0 commit comments

Comments
 (0)