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)
230
if (!extendTimeout && changedFilesAccumulator.Any(change => change.Kind is
ChangeKind
.Add or
ChangeKind
.Delete))
415
var
changeKind = changedPath.Kind ==
ChangeKind
.Add ?
ChangeKind
.Update : changedPath.Kind;
434
var fileAdded = changedFiles.Any(f => f.Kind is
ChangeKind
.Add);
726
if (item.Kind ==
ChangeKind
.Add)
733
lastUpdate ??= item with { Kind =
ChangeKind
.Update };
740
else if (item.Kind ==
ChangeKind
.Delete)
756
else if (item.Kind ==
ChangeKind
.Update)
783
Report(kind:
ChangeKind
.Add);
784
Report(kind:
ChangeKind
.Update);
785
Report(kind:
ChangeKind
.Delete);
787
void Report(
ChangeKind
kind)
796
string GetMessage(IReadOnlyList<ChangedFile> items,
ChangeKind
kind)
801
static string GetSingularMessage(
ChangeKind
kind)
804
ChangeKind
.Update => "File updated",
805
ChangeKind
.Add => "File added",
806
ChangeKind
.Delete => "File deleted",
810
static string GetPluralMessage(
ChangeKind
kind)
813
ChangeKind
.Update => "Files updated",
814
ChangeKind
.Add => "Files added",
815
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)
48
await evaluator.EvaluateAsync(changedFile: new(new() { FilePath = "Test.csproj", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);
66
await evaluator.EvaluateAsync(changedFile: new(new() { FilePath = "Controller.cs", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);
86
await evaluator.EvaluateAsync(changedFile: new(new() { FilePath = "Controller.cs", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);
123
await evaluator.EvaluateAsync(new(new() { FilePath = "Controller.cs", ContainingProjectPaths = [] },
ChangeKind
.Update), CancellationToken.None);