public override void Merge(Task task) { var t = (TouchMissingReferenceDocumentTask)task; foreach (var kvp in t.MissingReferences) { HashSet <string> set; if (MissingReferences.TryGetValue(kvp.Key, out set) == false) { MissingReferences[kvp.Key] = kvp.Value; } else { set.UnionWith(kvp.Value); } } }
public void ResolveReferences() { var assembliesToReference = new Stack <AssemblyName>(AssembliesToReference); while (assembliesToReference.Any()) { var item = assembliesToReference.Pop(); if (assembliesRead.TryGetValue(item, out var info)) { if (!info.Extract) { info.Extract = true; foreach (var reference in info.References) { assembliesToReference.Push(reference); } } } else { MissingReferences.Add(item); } } }