private void SecondPass() { RootItem root = _activeItem as RootItem; foreach (BaseItem item in root.Files) { if (item as AssemblyItem == null) { continue; } AssemblyItem assemblyItem = (AssemblyItem)item; string idFrom = assemblyItem.PureName(); // We can use referenced assemblies as a shortcut, rather than // running over all the method calls in all loaded files. foreach (string asmName in assemblyItem.ReferencedAssemblies) { string idTo = asmName; if (this.AddedNodes.ContainsKey(idTo)) { this.AddEdge(idFrom, idTo, EdgeStyle.NormalArrow); } } } }
private void FirstPass() { RootItem root = _activeItem as RootItem; foreach (BaseItem item in root.Files) { if (item as AssemblyItem == null) { continue; } AssemblyItem assemblyItem = (AssemblyItem)item; this.AddNode(assemblyItem.PureName(), assemblyItem.PureName(), _sharedOptions.AssemblyColor, assemblyItem); } }
private void AddInNodesExternal() { string methodId = _activeItem.GetShortID(); BaseItem item = _activeItem; while (!(item is AssemblyItem)) { item = item.Parent; } string currentAssemblyname = (item as AssemblyItem).PureName(); foreach (KeyValuePair <string, BaseItem> pair in _projectBrowser.Files) { if (CheckWorker()) { break; } AssemblyItem assemblyItem = (AssemblyItem)pair.Value; if ((assemblyItem.PureName() == currentAssemblyname) || assemblyItem.ReferencedAssemblies.Contains(currentAssemblyname)) { foreach (NamespaceItem nsItem in assemblyItem.NameSpaces) { if (CheckWorker()) { break; } foreach (TypeItem typeItem in nsItem.Types) { if (CheckWorker()) { break; } AddLinksFromMethods(typeItem, methodId); } } } } }
private void AddInNodes() { string activeId = _activeItem.GetShortID(); string activeAssemblyname = (_activeItem as AssemblyItem).PureName(); foreach (KeyValuePair <string, BaseItem> pair in _projectBrowser.Files) { AssemblyItem assemblyItem = (AssemblyItem)pair.Value; if (assemblyItem.ReferencedAssemblies.Contains(activeAssemblyname)) { if (CheckWorker()) { return; } string shortId = assemblyItem.GetShortID(); AddNode(shortId, assemblyItem.PureName(), _sharedOptions.AssemblyColor, assemblyItem); AddEdge(shortId, activeId, EdgeStyle.NormalArrow); } } }