1 implementation of IReferenceCountedDisposable
Microsoft.CodeAnalysis.Workspaces (1)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ReferenceCountedDisposable.cs (1)
58
internal sealed class ReferenceCountedDisposable<T> :
IReferenceCountedDisposable
<T>, IDisposable
24 references to IReferenceCountedDisposable
Microsoft.CodeAnalysis.LanguageServer (13)
HostWorkspace\FileWatching\DefaultFileChangeWatcher.cs (4)
35
private
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>> GetOrCreateSharedWatcher(string rootPath)
37
var
rootWatcher = _sharedRootWatchers.GetOrCreate<object?>(rootPath, static (key, _) => new FileSystemWatcher(key), arg: null);
43
private static void AttachWatcher(IEventRaiser eventRaiser,
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>> watcher)
51
private static void DetachAndDisposeWatcher(IEventRaiser eventRaiser,
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>> watcher)
HostWorkspace\FileWatching\DefaultFileChangeWatcher.FileChangeContext.cs (9)
26
private readonly ImmutableArray<
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>>> _fileSystemWatchersForWatchedDirectories;
34
var fileSystemWatchersForWatchedDirectoriesBuilder = ImmutableArray.CreateBuilder<
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>>>();
47
var
rootWatcher = _owner.GetOrCreateSharedWatcher(rootPath);
56
foreach (
var
rootWatcher in _fileSystemWatchersForWatchedDirectories)
89
var
rootWatcher = _owner.GetOrCreateSharedWatcher(rootPath);
97
foreach (
var
rootWatcher in _fileSystemWatchersForWatchedDirectories)
106
private readonly
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>> _watcher;
109
public IndividualWatchedFile(FileChangeContext context, string filePath,
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>> watcher)
142
public static ImmutableArray<
IReferenceCountedDisposable
<ICacheEntry<string, FileSystemWatcher>>> GetRootFileWatchers(FileChangeContext context)
Microsoft.CodeAnalysis.Workspaces (6)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IReferenceCountedDisposable.cs (1)
42
IReferenceCountedDisposable
<T>? TryAddReference();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ReferenceCountedDisposable.cs (2)
135
IReferenceCountedDisposable
<T>?
IReferenceCountedDisposable
<T>.TryAddReference()
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\ReferenceCountedDisposableCache.cs (1)
31
public
IReferenceCountedDisposable
<ICacheEntry<TKey, TValue>> GetOrCreate<TArg>(TKey key, Func<TKey, TArg, TValue> valueCreator, TArg arg)
Workspace\ProjectSystem\IRuleSetManager.cs (1)
12
IReferenceCountedDisposable
<ICacheEntry<string, IRuleSetFile>> GetOrCreateRuleSet(string ruleSetFileFullPath);
Workspace\ProjectSystem\ProjectSystemProjectOptionsProcessor.cs (1)
28
private
IReferenceCountedDisposable
<ICacheEntry<string, IRuleSetFile>>? _ruleSetFile = null;
Microsoft.VisualStudio.LanguageServices (5)
ProjectSystem\RuleSets\VisualStudioRuleSetManager.cs (2)
31
public
IReferenceCountedDisposable
<ICacheEntry<string, IRuleSetFile>> GetOrCreateRuleSet(string ruleSetFileFullPath)
33
var
cacheEntry = _ruleSetFileMap.GetOrCreate(ruleSetFileFullPath, static (ruleSetFileFullPath, self) => new RuleSetFile(ruleSetFileFullPath, self), this);
ProjectSystem\VisualStudioWorkspaceImpl.OpenFileTracker.cs (3)
49
private readonly MultiDictionary<string,
IReferenceCountedDisposable
<ICacheEntry<IVsHierarchy, HierarchyEventSink>>> _watchedHierarchiesForDocumentMoniker = [];
260
foreach (
var
watchedHierarchy in _watchedHierarchiesForDocumentMoniker[moniker])
298
foreach (
var
subscribedHierarchy in _watchedHierarchiesForDocumentMoniker[moniker])