Skip to content

Commit af09a31

Browse files
committed
Move FatalError and FailFast to Contracts package
1 parent c837ae1 commit af09a31

File tree

40 files changed

+68
-95
lines changed

40 files changed

+68
-95
lines changed

src/Compilers/Core/Portable/InternalUtilities/FailFast.cs renamed to src/Dependencies/Contracts/ErrorReporting/FailFast.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33
// See the LICENSE file in the project root for more information.
44

5+
#nullable enable
6+
7+
#if !MICROSOFT_CODEANALYSIS_CONTRACTS_NO_ERROR_REPORTING
8+
59
using System;
610
using System.Diagnostics;
711
using System.Diagnostics.CodeAnalysis;
812
using System.Runtime.CompilerServices;
9-
using Microsoft.CodeAnalysis.ErrorReporting;
10-
using Roslyn.Utilities;
1113

12-
namespace Microsoft.CodeAnalysis
14+
namespace Microsoft.CodeAnalysis.ErrorReporting
1315
{
1416
internal static class FailFast
1517
{
@@ -109,3 +111,4 @@ internal static void Assert([DoesNotReturnIf(false)] bool condition, string? mes
109111
}
110112
}
111113
}
114+
#endif

src/Compilers/Core/Portable/InternalUtilities/FatalError.cs renamed to src/Dependencies/Contracts/ErrorReporting/FatalError.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33
// See the LICENSE file in the project root for more information.
44

5+
#nullable enable
6+
7+
#if !MICROSOFT_CODEANALYSIS_CONTRACTS_NO_ERROR_REPORTING
8+
59
using System;
610
using System.Diagnostics;
711
using System.Reflection;
812
using System.Runtime.CompilerServices;
913
using System.Threading;
14+
using System.Threading.Tasks;
1015

1116
namespace Microsoft.CodeAnalysis.ErrorReporting
1217
{
@@ -221,6 +226,25 @@ public static bool ReportAndCatchUnlessCanceled(Exception exception, Cancellatio
221226
return ReportAndCatch(exception, severity);
222227
}
223228

229+
public static Task ReportNonFatalErrorAsync(this Task task)
230+
{
231+
_ = task.ContinueWith(p => ReportAndCatchUnlessCanceled(p.Exception!),
232+
CancellationToken.None,
233+
TaskContinuationOptions.OnlyOnFaulted | TaskContinuationOptions.ExecuteSynchronously,
234+
TaskScheduler.Default);
235+
236+
return task;
237+
}
238+
239+
public static Task ReportNonFatalErrorUnlessCancelledAsync(this Task task, CancellationToken cancellationToken)
240+
{
241+
_ = task.ContinueWith(p => ReportAndCatchUnlessCanceled(p.Exception!, cancellationToken),
242+
CancellationToken.None,
243+
TaskContinuationOptions.OnlyOnFaulted | TaskContinuationOptions.ExecuteSynchronously,
244+
TaskScheduler.Default);
245+
246+
return task;
247+
}
224248
#endif
225249

226250
// We use a Guid for the marker because it is used as a key in an exceptions Data dictionary, so we must make sure
@@ -312,3 +336,5 @@ internal enum ErrorSeverity
312336
Critical
313337
}
314338
}
339+
340+
#endif

src/Dependencies/Contracts/Microsoft.CodeAnalysis.Contracts.projitems

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
<Compile Include="$(MSBuildThisFileDirectory)ExceptionUtilities.cs" />
2828
<Compile Include="$(MSBuildThisFileDirectory)Index.cs" />
2929
<Compile Include="$(MSBuildThisFileDirectory)Range.cs" />
30+
<Compile Include="$(MSBuildThisFileDirectory)ErrorReporting\FatalError.cs" />
31+
<Compile Include="$(MSBuildThisFileDirectory)ErrorReporting\FailFast.cs" />
3032
</ItemGroup>
3133
<ItemGroup Condition="'$(DefaultLanguageSourceExtension)' != '' AND '$(BuildingInsideVisualStudio)' != 'true'">
3234
<ExpectedCompile Include="$(MSBuildThisFileDirectory)**\*$(DefaultLanguageSourceExtension)" />

src/Dependencies/Threading/Microsoft.CodeAnalysis.Threading.Package.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@
1919
<!-- Remove once https://github.com/NuGet/Home/issues/8583 is fixed -->
2020
<NoWarn>$(NoWarn);NU5128</NoWarn>
2121
</PropertyGroup>
22-
<ItemGroup>
23-
<!-- ⚠ Consuming projects will be required to manually reproduce the APIs for any linked files added here -->
24-
<Compile Include="..\..\Compilers\Core\Portable\InternalUtilities\FatalError.cs" Link="External\FatalError.cs" />
25-
</ItemGroup>
2622
<ItemGroup>
2723
<PackageReference Include="System.Collections.Immutable" />
2824
<PackageReference Include="System.Threading.Tasks.Extensions" />

src/EditorFeatures/CSharp/EventHookup/EventHookupCommandHandler_TabKeyCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
using Microsoft.CodeAnalysis.Editing;
1515
using Microsoft.CodeAnalysis.Editor.BackgroundWorkIndicator;
1616
using Microsoft.CodeAnalysis.Editor.Shared.Extensions;
17+
using Microsoft.CodeAnalysis.ErrorReporting;
1718
using Microsoft.CodeAnalysis.EventHookup;
1819
using Microsoft.CodeAnalysis.Formatting;
1920
using Microsoft.CodeAnalysis.LanguageService;
@@ -26,7 +27,6 @@
2627
using Microsoft.VisualStudio.Text;
2728
using Microsoft.VisualStudio.Text.Editor.Commanding.Commands;
2829
using Microsoft.VisualStudio.Threading;
29-
using Roslyn.Utilities;
3030

3131
namespace Microsoft.CodeAnalysis.Editor.CSharp.EventHookup;
3232

src/EditorFeatures/Core/AddImports/AbstractAddImportsPasteCommandHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Microsoft.CodeAnalysis.Editor.BackgroundWorkIndicator;
1010
using Microsoft.CodeAnalysis.Editor.Shared.Extensions;
1111
using Microsoft.CodeAnalysis.Editor.Shared.Utilities;
12+
using Microsoft.CodeAnalysis.ErrorReporting;
1213
using Microsoft.CodeAnalysis.Internal.Log;
1314
using Microsoft.CodeAnalysis.Options;
1415
using Microsoft.CodeAnalysis.Progress;
@@ -20,7 +21,6 @@
2021
using Microsoft.VisualStudio.Text.Editor;
2122
using Microsoft.VisualStudio.Text.Editor.Commanding.Commands;
2223
using Microsoft.VisualStudio.Threading;
23-
using Roslyn.Utilities;
2424

2525
namespace Microsoft.CodeAnalysis.AddImport;
2626

src/EditorFeatures/Core/GoToDefinition/GoToDefinitionCommandHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
using Microsoft.CodeAnalysis.Editor.BackgroundWorkIndicator;
1111
using Microsoft.CodeAnalysis.Editor.Shared.Extensions;
1212
using Microsoft.CodeAnalysis.Editor.Shared.Utilities;
13+
using Microsoft.CodeAnalysis.ErrorReporting;
1314
using Microsoft.CodeAnalysis.Navigation;
1415
using Microsoft.CodeAnalysis.Notification;
1516
using Microsoft.CodeAnalysis.Shared.Extensions;
1617
using Microsoft.CodeAnalysis.Shared.TestHooks;
1718
using Microsoft.CodeAnalysis.Text;
1819
using Microsoft.VisualStudio.Commanding;
19-
using Microsoft.VisualStudio.Language.Intellisense.Utilities;
2020
using Microsoft.VisualStudio.Text;
2121
using Microsoft.VisualStudio.Text.Editor.Commanding.Commands;
2222
using Microsoft.VisualStudio.Threading;

src/EditorFeatures/Core/IntelliSense/ModelComputation.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using System.Threading.Tasks;
1111
using Microsoft.CodeAnalysis.Editor.Shared.Extensions;
1212
using Microsoft.CodeAnalysis.Editor.Shared.Utilities;
13+
using Microsoft.CodeAnalysis.ErrorReporting;
1314
using Microsoft.CodeAnalysis.Shared.TestHooks;
1415
using Microsoft.VisualStudio.Threading;
1516
using Roslyn.Utilities;

src/EditorFeatures/Core/NavigableSymbols/NavigableSymbolService.NavigableSymbol.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
using System.Collections.Generic;
66
using System.Threading.Tasks;
77
using Microsoft.CodeAnalysis.Editor.BackgroundWorkIndicator;
8+
using Microsoft.CodeAnalysis.ErrorReporting;
89
using Microsoft.CodeAnalysis.Navigation;
910
using Microsoft.CodeAnalysis.Shared.TestHooks;
1011
using Microsoft.VisualStudio.Language.Intellisense;
1112
using Microsoft.VisualStudio.Text;
1213
using Microsoft.VisualStudio.Text.Editor;
13-
using Roslyn.Utilities;
1414

1515
namespace Microsoft.CodeAnalysis.Editor.NavigableSymbols;
1616

src/EditorFeatures/Core/NavigateTo/NavigateToHelpers.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44

55
using System.Threading.Tasks;
66
using Microsoft.CodeAnalysis.Editor.Shared.Utilities;
7+
using Microsoft.CodeAnalysis.ErrorReporting;
78
using Microsoft.CodeAnalysis.NavigateTo;
89
using Microsoft.CodeAnalysis.Navigation;
910
using Microsoft.CodeAnalysis.Shared.TestHooks;
1011
using Microsoft.VisualStudio.Utilities;
11-
using Roslyn.Utilities;
1212

1313
namespace Microsoft.CodeAnalysis.Editor.NavigateTo;
1414

0 commit comments

Comments
 (0)