3 writes to _weakCache
Microsoft.Build (3)
Evaluation\ProjectRootElementCache.cs (3)
158_weakCache = new WeakValueDictionary<string, ProjectRootElement>(StringComparer.OrdinalIgnoreCase); 465_weakCache = new WeakValueDictionary<string, ProjectRootElement>(StringComparer.OrdinalIgnoreCase); 520_weakCache = new WeakValueDictionary<string, ProjectRootElement>(StringComparer.OrdinalIgnoreCase);
14 references to _weakCache
Microsoft.Build (14)
Evaluation\ProjectRootElementCache.cs (14)
302_weakCache.TryGetValue(projectFile, out projectRootElement); 485_weakCache.Remove(projectRootElement.FullPath); 494IList<string> toBeRemovedFromWeakRefs = _weakCache.Keys.Except(_strongCache.Select(i => i.FullPath)).ToList(); 497_weakCache.Remove(victim); 499_weakCache.Scavenge(); 519WeakValueDictionary<string, ProjectRootElement> oldWeakCache = _weakCache; 534_weakCache[kvp.Key] = kvp.Value; 572_weakCache.Remove(projectRootElement.FullPath); 591ErrorUtilities.VerifyThrow(_weakCache[oldFullPathIfAny] == projectRootElement, "Should already be present"); 592_weakCache.Remove(oldFullPathIfAny); 606_weakCache.TryGetValue(projectRootElement.FullPath, out existingWeakEntry); 615_weakCache[projectRootElement.FullPath] = projectRootElement; 671_weakCache.Remove(projectRootElement.FullPath); 690if (_weakCache.TryGetValue(projectRootElement.FullPath, out var cached) && cached == projectRootElement)