private void Merge(IPsiSourceFile sourceFile, IEnumerable <RegistrationInfo> items) { lock (lockObject) { registrationsMap.RemoveKey(sourceFile); registrationsMap.AddValueRange(sourceFile, items); dirtyFiles.Remove(sourceFile); } }
public void Merge(IPsiSourceFile sourceFile, object builtPart) { var data = (TCacheData)builtPart; lock (_lockObject) { AddFileToCache(sourceFile, data); if (_persistentCache != null) { _persistentCache.AddDataToSave(sourceFile, data); } _dirtyFiles.Remove(sourceFile); } }
public void Merge(IPsiSourceFile sourceFile, object builtPart) { myShellLocks.AssertWriteAccessAllowed(); // remove old annotations from all tries foreach (var node in mySourceFileToNodes[sourceFile]) { node.Clear(sourceFile); } mySourceFileToNodes.RemoveKey(sourceFile); myFilesWithoutAnnotations.Remove(sourceFile); // add built annotations. var part = (AttributedTypesTrieCollection)builtPart; if (!myRoot.Merge(part, mySourceFileToNodes)) { myFilesWithoutAnnotations.Add(sourceFile); } myDirtyFiles.Remove(sourceFile); }