未验证 提交 decc3fc6 编写于 作者: D dotnet-automerge-bot 提交者: GitHub

Merge pull request #37633 from dotnet/merges/release/dev16.2-to-release/dev16.3-preview1

Merge release/dev16.2 to release/dev16.3-preview1
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<MicrosoftCodeAnalysisTestResourcesProprietaryVersion>2.0.17</MicrosoftCodeAnalysisTestResourcesProprietaryVersion> <MicrosoftCodeAnalysisTestResourcesProprietaryVersion>2.0.17</MicrosoftCodeAnalysisTestResourcesProprietaryVersion>
<MicrosoftCodeAnalysisVisualBasicCodeFixTestingXUnitVersion>$(MicrosoftCodeAnalysisTestingVersion)</MicrosoftCodeAnalysisVisualBasicCodeFixTestingXUnitVersion> <MicrosoftCodeAnalysisVisualBasicCodeFixTestingXUnitVersion>$(MicrosoftCodeAnalysisTestingVersion)</MicrosoftCodeAnalysisVisualBasicCodeFixTestingXUnitVersion>
<MicrosoftCodeAnalysisVisualBasicCodeStyleVersion>$(CodeStyleAnalyzerVersion)</MicrosoftCodeAnalysisVisualBasicCodeStyleVersion> <MicrosoftCodeAnalysisVisualBasicCodeStyleVersion>$(CodeStyleAnalyzerVersion)</MicrosoftCodeAnalysisVisualBasicCodeStyleVersion>
<MicrosoftCodeAnalysisFlowAnalysisUtilitiesVersion>2.9.4-beta1.19321.5+ffe2b1b5</MicrosoftCodeAnalysisFlowAnalysisUtilitiesVersion> <MicrosoftCodeAnalysisFlowAnalysisUtilitiesVersion>2.9.4</MicrosoftCodeAnalysisFlowAnalysisUtilitiesVersion>
<MicrosoftCodeQualityAnalyzersVersion>$(RoslynDiagnosticsNugetPackageVersion)</MicrosoftCodeQualityAnalyzersVersion> <MicrosoftCodeQualityAnalyzersVersion>$(RoslynDiagnosticsNugetPackageVersion)</MicrosoftCodeQualityAnalyzersVersion>
<SystemCompositionVersion>1.0.31</SystemCompositionVersion> <SystemCompositionVersion>1.0.31</SystemCompositionVersion>
<MicrosoftCSharpVersion>4.3.0</MicrosoftCSharpVersion> <MicrosoftCSharpVersion>4.3.0</MicrosoftCSharpVersion>
......
...@@ -4803,9 +4803,10 @@ public Task<C> M1_Task() ...@@ -4803,9 +4803,10 @@ public Task<C> M1_Task()
} }
[Fact, WorkItem(2212, "https://github.com/dotnet/roslyn-analyzers/issues/2212")] [Fact, WorkItem(2212, "https://github.com/dotnet/roslyn-analyzers/issues/2212")]
public async Task AwaitedButNotDisposed_Diagnostic() public async Task AwaitedButNotDisposed_NoDiagnostic()
{ {
await TestDiagnosticsAsync(@" // We are conservative when disposable object gets wrapped in a task and consider it as escaped.
await TestDiagnosticMissingAsync(@"
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
...@@ -4826,14 +4827,13 @@ public async Task M2_Task() ...@@ -4826,14 +4827,13 @@ public async Task M2_Task()
var c = await M1_Task().ConfigureAwait(false); var c = await M1_Task().ConfigureAwait(false);
} }
|] |]
}", }");
Diagnostic(IDEDiagnosticIds.DisposeObjectsBeforeLosingScopeDiagnosticId, "await M1_Task().ConfigureAwait(false)").WithLocation(19, 17));
} }
[Fact, WorkItem(2212, "https://github.com/dotnet/roslyn-analyzers/issues/2212")] [Fact, WorkItem(2212, "https://github.com/dotnet/roslyn-analyzers/issues/2212")]
public async Task AwaitedButNotDisposed_TaskWrappingField_Diagnostic() public async Task AwaitedButNotDisposed_TaskWrappingField_NoDiagnostic()
{ {
await TestDiagnosticsAsync(@" await TestDiagnosticMissingAsync(@"
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
...@@ -4855,8 +4855,7 @@ public async Task M2_Task() ...@@ -4855,8 +4855,7 @@ public async Task M2_Task()
var c = await M1_Task().ConfigureAwait(false); var c = await M1_Task().ConfigureAwait(false);
} }
|] |]
}", }");
Diagnostic(IDEDiagnosticIds.DisposeObjectsBeforeLosingScopeDiagnosticId, "await M1_Task().ConfigureAwait(false)").WithLocation(20, 17));
} }
[Fact, WorkItem(2347, "https://github.com/dotnet/roslyn-analyzers/issues/2347")] [Fact, WorkItem(2347, "https://github.com/dotnet/roslyn-analyzers/issues/2347")]
...@@ -4914,7 +4913,7 @@ public async Task M2_Task() ...@@ -4914,7 +4913,7 @@ public async Task M2_Task()
} }
|] |]
}", }",
Diagnostic(IDEDiagnosticIds.DisposeObjectsBeforeLosingScopeDiagnosticId, "await M1_Task(null).ConfigureAwait(false)").WithLocation(20, 17)); Diagnostic(IDEDiagnosticIds.DisposeObjectsBeforeLosingScopeDiagnosticId, "M1_Task(null)").WithLocation(20, 23));
} }
[Fact, WorkItem(2361, "https://github.com/dotnet/roslyn-analyzers/issues/2361")] [Fact, WorkItem(2361, "https://github.com/dotnet/roslyn-analyzers/issues/2361")]
......
...@@ -2775,8 +2775,9 @@ End Class") ...@@ -2775,8 +2775,9 @@ End Class")
End Function End Function
<Fact, Trait(Traits.Feature, Traits.Features.DisposeAnalysis)> <Fact, Trait(Traits.Feature, Traits.Features.DisposeAnalysis)>
Public Async Function AwaitedButNotDisposed_Diagnostic() As Task Public Async Function AwaitedButNotDisposed_NoDiagnostic() As Task
Await TestDiagnosticsAsync( ' We are conservative when disposable object gets wrapped in a task and consider it as escaped.
Await TestDiagnosticMissingAsync(
"Imports System "Imports System
Imports System.Threading.Tasks Imports System.Threading.Tasks
...@@ -2795,13 +2796,12 @@ Class C ...@@ -2795,13 +2796,12 @@ Class C
Dim c = Await M1_Task().ConfigureAwait(False) Dim c = Await M1_Task().ConfigureAwait(False)
End Function End Function
|] |]
End Class", End Class")
Diagnostic(IDEDiagnosticIds.DisposeObjectsBeforeLosingScopeDiagnosticId, "Await M1_Task().ConfigureAwait(False)").WithLocation(16, 17))
End Function End Function
<Fact, Trait(Traits.Feature, Traits.Features.DisposeAnalysis)> <Fact, Trait(Traits.Feature, Traits.Features.DisposeAnalysis)>
Public Async Function AwaitedButNotDisposed_TaskWrappingField_Diagnostic() As Task Public Async Function AwaitedButNotDisposed_TaskWrappingField_NoDiagnostic() As Task
Await TestDiagnosticsAsync( Await TestDiagnosticMissingAsync(
"Imports System "Imports System
Imports System.Threading.Tasks Imports System.Threading.Tasks
...@@ -2822,8 +2822,7 @@ Class C ...@@ -2822,8 +2822,7 @@ Class C
Dim c = Await M1_Task().ConfigureAwait(False) Dim c = Await M1_Task().ConfigureAwait(False)
End Function End Function
|] |]
End Class", End Class")
Diagnostic(IDEDiagnosticIds.DisposeObjectsBeforeLosingScopeDiagnosticId, "Await M1_Task().ConfigureAwait(False)").WithLocation(18, 17))
End Function End Function
End Class End Class
End Namespace End Namespace
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册