Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
        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);
                }
            }
        }