66using Microsoft . Build . Graph ;
77using Microsoft . CodeAnalysis ;
88using Microsoft . CodeAnalysis . CSharp ;
9- using Microsoft . CodeAnalysis . ExternalAccess . Watch . Api ;
9+ using Microsoft . CodeAnalysis . ExternalAccess . HotReload . Api ;
1010using Microsoft . DotNet . HotReload ;
1111using Microsoft . Extensions . Logging ;
1212
@@ -16,7 +16,7 @@ internal sealed class CompilationHandler : IDisposable
1616 {
1717 public readonly IncrementalMSBuildWorkspace Workspace ;
1818 private readonly ILogger _logger ;
19- private readonly WatchHotReloadService _hotReloadService ;
19+ private readonly HotReloadService _hotReloadService ;
2020 private readonly ProcessRunner _processRunner ;
2121
2222 /// <summary>
@@ -35,7 +35,7 @@ internal sealed class CompilationHandler : IDisposable
3535 /// <summary>
3636 /// All updates that were attempted. Includes updates whose application failed.
3737 /// </summary>
38- private ImmutableList < WatchHotReloadService . Update > _previousUpdates = [ ] ;
38+ private ImmutableList < HotReloadService . Update > _previousUpdates = [ ] ;
3939
4040 private bool _isDisposed ;
4141
@@ -44,7 +44,7 @@ public CompilationHandler(ILogger logger, ProcessRunner processRunner)
4444 _logger = logger ;
4545 _processRunner = processRunner ;
4646 Workspace = new IncrementalMSBuildWorkspace ( logger ) ;
47- _hotReloadService = new WatchHotReloadService ( Workspace . CurrentSolution . Services , ( ) => ValueTask . FromResult ( GetAggregateCapabilities ( ) ) ) ;
47+ _hotReloadService = new HotReloadService ( Workspace . CurrentSolution . Services , ( ) => ValueTask . FromResult ( GetAggregateCapabilities ( ) ) ) ;
4848 }
4949
5050 public void Dispose ( )
@@ -299,7 +299,7 @@ private static void PrepareCompilations(Solution solution, string projectPath, C
299299 }
300300
301301 public async ValueTask < (
302- ImmutableArray < WatchHotReloadService . Update > projectUpdates ,
302+ ImmutableArray < HotReloadService . Update > projectUpdates ,
303303 ImmutableArray < string > projectsToRebuild ,
304304 ImmutableArray < string > projectsToRedeploy ,
305305 ImmutableArray < RunningProject > projectsToRestart ) > HandleManagedCodeChangesAsync (
@@ -315,14 +315,14 @@ private static void PrepareCompilations(Solution solution, string projectPath, C
315315 let runningProject = GetCorrespondingRunningProject ( project , runningProjects )
316316 where runningProject != null
317317 let autoRestartProject = autoRestart || runningProject . ProjectNode . IsAutoRestartEnabled ( )
318- select ( project . Id , info : new WatchHotReloadService . RunningProjectInfo ( ) { RestartWhenChangesHaveNoEffect = autoRestartProject } ) )
318+ select ( project . Id , info : new HotReloadService . RunningProjectInfo ( ) { RestartWhenChangesHaveNoEffect = autoRestartProject } ) )
319319 . ToImmutableDictionary ( e => e . Id , e => e . info ) ;
320320
321321 var updates = await _hotReloadService . GetUpdatesAsync ( currentSolution , runningProjectInfos , cancellationToken ) ;
322322
323323 await DisplayResultsAsync ( updates , runningProjectInfos , cancellationToken ) ;
324324
325- if ( updates . Status is WatchHotReloadService . Status . NoChangesToApply or WatchHotReloadService . Status . Blocked )
325+ if ( updates . Status is HotReloadService . Status . NoChangesToApply or HotReloadService . Status . Blocked )
326326 {
327327 // If Hot Reload is blocked (due to compilation error) we ignore the current
328328 // changes and await the next file change.
@@ -364,7 +364,7 @@ private static void PrepareCompilations(Solution solution, string projectPath, C
364364 return ( updates . ProjectUpdates , projectsToRebuild , projectsToRedeploy , projectsToRestart ) ;
365365 }
366366
367- public async ValueTask ApplyUpdatesAsync ( ImmutableArray < WatchHotReloadService . Update > updates , CancellationToken cancellationToken )
367+ public async ValueTask ApplyUpdatesAsync ( ImmutableArray < HotReloadService . Update > updates , CancellationToken cancellationToken )
368368 {
369369 Debug . Assert ( ! updates . IsEmpty ) ;
370370
@@ -403,7 +403,7 @@ await ForEachProjectAsync(projectsToUpdate, async (runningProject, cancellationT
403403 }
404404
405405 // msbuild workspace doesn't set TFM if the project is not multi-targeted
406- var tfm = WatchHotReloadService . GetTargetFramework ( project ) ;
406+ var tfm = HotReloadService . GetTargetFramework ( project ) ;
407407 if ( tfm == null )
408408 {
409409 return projectsWithPath [ 0 ] ;
@@ -412,18 +412,18 @@ await ForEachProjectAsync(projectsToUpdate, async (runningProject, cancellationT
412412 return projectsWithPath . SingleOrDefault ( p => string . Equals ( p . ProjectNode . GetTargetFramework ( ) , tfm , StringComparison . OrdinalIgnoreCase ) ) ;
413413 }
414414
415- private async ValueTask DisplayResultsAsync ( WatchHotReloadService . Updates2 updates , ImmutableDictionary < ProjectId , WatchHotReloadService . RunningProjectInfo > runningProjectInfos , CancellationToken cancellationToken )
415+ private async ValueTask DisplayResultsAsync ( HotReloadService . Updates updates , ImmutableDictionary < ProjectId , HotReloadService . RunningProjectInfo > runningProjectInfos , CancellationToken cancellationToken )
416416 {
417417 switch ( updates . Status )
418418 {
419- case WatchHotReloadService . Status . ReadyToApply :
419+ case HotReloadService . Status . ReadyToApply :
420420 break ;
421421
422- case WatchHotReloadService . Status . NoChangesToApply :
422+ case HotReloadService . Status . NoChangesToApply :
423423 _logger . Log ( MessageDescriptor . NoCSharpChangesToApply ) ;
424424 break ;
425425
426- case WatchHotReloadService . Status . Blocked :
426+ case HotReloadService . Status . Blocked :
427427 _logger . Log ( MessageDescriptor . UnableToApplyChanges ) ;
428428 break ;
429429
@@ -451,7 +451,7 @@ await ForEachProjectAsync(
451451
452452 void ReportCompilationDiagnostics ( DiagnosticSeverity severity )
453453 {
454- foreach ( var diagnostic in updates . CompilationDiagnostics )
454+ foreach ( var diagnostic in updates . PersistentDiagnostics )
455455 {
456456 if ( diagnostic . Id == "CS8002" )
457457 {
@@ -492,7 +492,7 @@ void ReportRudeEdits()
492492 . Where ( p => ! updates . ProjectsToRestart . ContainsKey ( p ) )
493493 . ToHashSet ( ) ;
494494
495- foreach ( var ( projectId , diagnostics ) in updates . RudeEdits )
495+ foreach ( var ( projectId , diagnostics ) in updates . TransientDiagnostics )
496496 {
497497 foreach ( var diagnostic in diagnostics )
498498 {
@@ -689,7 +689,7 @@ public bool TryGetRunningProject(string projectPath, out ImmutableArray<RunningP
689689 private static Task ForEachProjectAsync ( ImmutableDictionary < string , ImmutableArray < RunningProject > > projects , Func < RunningProject , CancellationToken , Task > action , CancellationToken cancellationToken )
690690 => Task . WhenAll ( projects . SelectMany ( entry => entry . Value ) . Select ( project => action ( project , cancellationToken ) ) ) . WaitAsync ( cancellationToken ) ;
691691
692- private static ImmutableArray < HotReloadManagedCodeUpdate > ToManagedCodeUpdates ( ImmutableArray < WatchHotReloadService . Update > updates )
692+ private static ImmutableArray < HotReloadManagedCodeUpdate > ToManagedCodeUpdates ( ImmutableArray < HotReloadService . Update > updates )
693693 => [ .. updates . Select ( update => new HotReloadManagedCodeUpdate ( update . ModuleId , update . MetadataDelta , update . ILDelta , update . PdbDelta , update . UpdatedTypes , update . RequiredCapabilities ) ) ] ;
694694 }
695695}
0 commit comments