145 references to ChangeKind
dotnet-watch (41)
Build\FilePathExclusions.cs (1)
85
internal bool IsExcluded(string fullPath,
ChangeKind
changeKind, ILogger logger)
FileWatcher\ChangeKind.cs (2)
13
internal readonly record struct ChangedFile(FileItem Item,
ChangeKind
Kind);
15
internal readonly record struct ChangedPath(string Path,
ChangeKind
Kind);
FileWatcher\DirectoryWatcher.cs (1)
23
protected void NotifyChange(string fullPath,
ChangeKind
kind)
FileWatcher\EventBasedDirectoryWatcher.cs (7)
69
NotifyChange(oldLocation,
ChangeKind
.Delete);
70
NotifyChange(newLocation,
ChangeKind
.Add);
75
NotifyChange(e.OldFullPath,
ChangeKind
.Delete);
76
NotifyChange(e.FullPath,
ChangeKind
.Add);
97
NotifyChange(e.FullPath,
ChangeKind
.Delete);
117
NotifyChange(e.FullPath,
ChangeKind
.Update);
136
NotifyChange(e.FullPath,
ChangeKind
.Add);
FileWatcher\PollingDirectoryWatcher.cs (5)
20
private readonly Dictionary<string,
ChangeKind
> _changesBuilder = new(PathUtilities.OSSpecificPathComparer);
106
_changesBuilder.TryAdd(filePath,
ChangeKind
.Add);
110
_changesBuilder.TryAdd(filePath,
ChangeKind
.Update);
120
_changesBuilder.TryAdd(filePath,
ChangeKind
.Delete);
179
private void NotifyChanges(Dictionary<string,
ChangeKind
> changes)
HotReload\HotReloadDotNetWatcher.cs (23)
233
if (!extendTimeout && changedFilesAccumulator.Any(change => change.Kind is
ChangeKind
.Add or
ChangeKind
.Delete))
430
var
changeKind = changedPath.Kind ==
ChangeKind
.Add ?
ChangeKind
.Update : changedPath.Kind;
449
var fileAdded = changedFiles.Any(f => f.Kind is
ChangeKind
.Add);
742
if (item.Kind ==
ChangeKind
.Add)
749
lastUpdate ??= item with { Kind =
ChangeKind
.Update };
756
else if (item.Kind ==
ChangeKind
.Delete)
772
else if (item.Kind ==
ChangeKind
.Update)
799
Report(kind:
ChangeKind
.Add);
800
Report(kind:
ChangeKind
.Update);
801
Report(kind:
ChangeKind
.Delete);
803
void Report(
ChangeKind
kind)
812
string GetMessage(IReadOnlyList<ChangedFile> items,
ChangeKind
kind)
817
static string GetSingularMessage(
ChangeKind
kind)
820
ChangeKind
.Update => "File updated",
821
ChangeKind
.Add => "File added",
822
ChangeKind
.Delete => "File deleted",
826
static string GetPluralMessage(
ChangeKind
kind)
829
ChangeKind
.Update => "Files updated",
830
ChangeKind
.Add => "Files added",
831
ChangeKind
.Delete => "Files deleted",
HotReload\IncrementalMSBuildWorkspace.cs (2)
128
Debug.Assert(change !=
ChangeKind
.Add);
131
if (change ==
ChangeKind
.Delete)
dotnet-watch.Tests (104)
FileWatcher\FileWatcherTests.cs (33)
161
new(file,
ChangeKind
.Add),
165
new(file,
ChangeKind
.Update),
166
new(file,
ChangeKind
.Add),
195
new(fileInSubdir,
ChangeKind
.Add),
199
new(fileInSubdir,
ChangeKind
.Update),
200
new(fileInSubdir,
ChangeKind
.Add),
228
expectedChanges: [new(file,
ChangeKind
.Update)],
249
new(srcFile,
ChangeKind
.Update),
250
new(srcFile,
ChangeKind
.Add),
251
new(srcFile,
ChangeKind
.Delete),
252
new(dstFile,
ChangeKind
.Add),
256
new(srcFile,
ChangeKind
.Delete),
257
new(dstFile,
ChangeKind
.Add),
285
new(fileInDir,
ChangeKind
.Update),
286
new(fileInSubdir,
ChangeKind
.Update)
290
new(fileInDir,
ChangeKind
.Update),
291
new(fileInDir,
ChangeKind
.Add),
292
new(fileInSubdir,
ChangeKind
.Update),
293
new(fileInSubdir,
ChangeKind
.Add),
300
new(fileInDir,
ChangeKind
.Update),
388
expectedChanges: [new(file3,
ChangeKind
.Update)],
479
new(f1,
ChangeKind
.Update),
480
new(f1,
ChangeKind
.Add),
481
new(f1,
ChangeKind
.Delete),
482
new(f2,
ChangeKind
.Update),
483
new(f2,
ChangeKind
.Add),
484
new(f2,
ChangeKind
.Delete),
485
new(f3,
ChangeKind
.Update),
486
new(f3,
ChangeKind
.Add),
487
new(f3,
ChangeKind
.Delete),
491
new(f1,
ChangeKind
.Delete),
492
new(f2,
ChangeKind
.Delete),
493
new(f3,
ChangeKind
.Delete),
HotReload\HotReloadDotNetWatcherTests.cs (67)
9
[InlineData(new[] {
ChangeKind
.Update }, new[] {
ChangeKind
.Update })]
10
[InlineData(new[] {
ChangeKind
.Add }, new[] {
ChangeKind
.Add })]
11
[InlineData(new[] {
ChangeKind
.Delete }, new[] {
ChangeKind
.Delete })]
13
[InlineData(new[] {
ChangeKind
.Update,
ChangeKind
.Update }, new[] {
ChangeKind
.Update })]
14
[InlineData(new[] {
ChangeKind
.Update,
ChangeKind
.Delete }, new[] {
ChangeKind
.Delete })]
15
[InlineData(new[] {
ChangeKind
.Add,
ChangeKind
.Update }, new[] {
ChangeKind
.Add })]
16
[InlineData(new[] {
ChangeKind
.Add,
ChangeKind
.Delete }, new
ChangeKind
[] { })]
17
[InlineData(new[] {
ChangeKind
.Delete,
ChangeKind
.Add}, new[] {
ChangeKind
.Update })]
18
[InlineData(new[] {
ChangeKind
.Add,
ChangeKind
.Add }, new[] {
ChangeKind
.Add })]
19
[InlineData(new[] {
ChangeKind
.Delete,
ChangeKind
.Delete }, new[] {
ChangeKind
.Delete })]
21
[InlineData(new[] {
ChangeKind
.Add,
ChangeKind
.Delete,
ChangeKind
.Add,
ChangeKind
.Delete }, new
ChangeKind
[] { })]
22
[InlineData(new[] {
ChangeKind
.Update,
ChangeKind
.Delete,
ChangeKind
.Add,
ChangeKind
.Update }, new[] {
ChangeKind
.Update })]
23
[InlineData(new[] {
ChangeKind
.Update,
ChangeKind
.Delete,
ChangeKind
.Update,
ChangeKind
.Add,
ChangeKind
.Update }, new[] {
ChangeKind
.Update })]
24
[InlineData(new[] {
ChangeKind
.Add,
ChangeKind
.Delete,
ChangeKind
.Delete }, new
ChangeKind
[] { })]
25
[InlineData(new[] {
ChangeKind
.Add,
ChangeKind
.Add,
ChangeKind
.Delete }, new
ChangeKind
[] { })]
26
[InlineData(new[] {
ChangeKind
.Add,
ChangeKind
.Update,
ChangeKind
.Delete }, new
ChangeKind
[] { })]
27
[InlineData(new[] {
ChangeKind
.Update,
ChangeKind
.Add,
ChangeKind
.Delete }, new[] {
ChangeKind
.Update })]
30
[InlineData(new[] {
ChangeKind
.Update,
ChangeKind
.Add }, new[] {
ChangeKind
.Add })]
33
[InlineData(new[] {
ChangeKind
.Delete,
ChangeKind
.Update }, new[] {
ChangeKind
.Delete })]
34
internal void NormalizeFileChanges(
ChangeKind
[] changes,
ChangeKind
[] expected)
Watch\BuildEvaluatorTests.cs (4)
46
await evaluator.EvaluateAsync(changedFile: new(new() { FilePath = "Test.csproj", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);
64
await evaluator.EvaluateAsync(changedFile: new(new() { FilePath = "Controller.cs", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);
84
await evaluator.EvaluateAsync(changedFile: new(new() { FilePath = "Controller.cs", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);
121
await evaluator.EvaluateAsync(new(new() { FilePath = "Controller.cs", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);