IEnumerable <IAnalyzerTreeNodeData> FindReferencesInType(TypeDef type) { IAnalyzerTreeNodeData newNode = null; try { if (!TypesHierarchyHelpers.IsBaseType(analyzedMethod.DeclaringType, type, resolveTypeArguments: false)) { yield break; } foreach (MethodDef method in type.Methods) { if (TypesHierarchyHelpers.IsBaseMethod(analyzedMethod, method)) { bool hidesParent = !method.IsVirtual ^ method.IsNewSlot; newNode = new MethodNode(method, hidesParent) { Context = Context }; } } } catch (ResolveException) { // ignore this type definition. maybe add a notification about such cases. } if (newNode != null) { yield return(newNode); } }
public void OnActivated(IAnalyzerTreeNodeData node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } bool newTab = Keyboard.Modifiers == ModifierKeys.Control || Keyboard.Modifiers == ModifierKeys.Shift; FollowNode(node, newTab, null); }
public void Add(IAnalyzerTreeNodeData node) { if (node is EntityNode) { var an = node as EntityNode; var found = this.TreeView.Root.DataChildren.OfType <EntityNode>().FirstOrDefault(n => n.Member == an.Member); if (found != null) { found.TreeNode.IsExpanded = true; this.TreeView.SelectItems(new ITreeNodeData[] { found }); this.TreeView.Focus(); return; } } this.TreeView.Root.Children.Add(this.TreeView.Create(node)); node.TreeNode.IsExpanded = true; this.TreeView.SelectItems(new ITreeNodeData[] { node }); this.TreeView.Focus(); }
public void OnActivated(IAnalyzerTreeNodeData node) { if (node == null) throw new ArgumentNullException(); bool newTab = Keyboard.Modifiers == ModifierKeys.Control || Keyboard.Modifiers == ModifierKeys.Shift; FollowNode(node, newTab, null); }
public void Add(IAnalyzerTreeNodeData node) { if (node is EntityNode) { var an = node as EntityNode; var found = this.treeView.Root.DataChildren.OfType<EntityNode>().FirstOrDefault(n => n.Member == an.Member); if (found != null) { found.TreeNode.IsExpanded = true; this.treeView.SelectItems(new ITreeNodeData[] { found }); this.treeView.Focus(); return; } } this.treeView.Root.Children.Add(this.treeView.Create(node)); node.TreeNode.IsExpanded = true; this.treeView.SelectItems(new ITreeNodeData[] { node }); this.treeView.Focus(); }