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); 467_weakCache = new WeakValueDictionary<string, ProjectRootElement>(StringComparer.OrdinalIgnoreCase);
10 references to _weakCache
Microsoft.Build (10)
Evaluation\ProjectRootElementCache.cs (10)
296_weakCache.TryGetValue(projectFile, out projectRootElement); 466WeakValueDictionary<string, ProjectRootElement> oldWeakCache = _weakCache; 481_weakCache[kvp.Key] = kvp.Value; 515_weakCache.Remove(projectRootElement.FullPath); 534Assumed.Equal(_weakCache[oldFullPathIfAny], projectRootElement, "Should already be present"); 535_weakCache.Remove(oldFullPathIfAny); 549_weakCache.TryGetValue(projectRootElement.FullPath, out existingWeakEntry); 557_weakCache[projectRootElement.FullPath] = projectRootElement; 612_weakCache.Remove(projectRootElement.FullPath); 630if (_weakCache.TryGetValue(projectRootElement.FullPath, out var cached) && cached == projectRootElement)