3 writes to _weakCache
Microsoft.Build (3)
Evaluation\ProjectRootElementCache.cs (3)
154_weakCache = new WeakValueDictionary<string, ProjectRootElement>(StringComparer.OrdinalIgnoreCase); 446_weakCache = new WeakValueDictionary<string, ProjectRootElement>(StringComparer.OrdinalIgnoreCase); 485_weakCache = new WeakValueDictionary<string, ProjectRootElement>(StringComparer.OrdinalIgnoreCase);
11 references to _weakCache
Microsoft.Build (11)
Evaluation\ProjectRootElementCache.cs (11)
296_weakCache.TryGetValue(projectFile, out projectRootElement); 466DebugTraceCache("Keeping cache after build (auto reload from disk): ", _weakCache.Count); 484WeakValueDictionary<string, ProjectRootElement> oldWeakCache = _weakCache; 499_weakCache[kvp.Key] = kvp.Value; 533_weakCache.Remove(projectRootElement.FullPath); 552Assumed.Equal(_weakCache[oldFullPathIfAny], projectRootElement, "Should already be present"); 553_weakCache.Remove(oldFullPathIfAny); 567_weakCache.TryGetValue(projectRootElement.FullPath, out existingWeakEntry); 575_weakCache[projectRootElement.FullPath] = projectRootElement; 630_weakCache.Remove(projectRootElement.FullPath); 648if (_weakCache.TryGetValue(projectRootElement.FullPath, out var cached) && cached == projectRootElement)