public IEnumerable<ITreeNodeData> Create(TreeNodeDataCreatorContext context) { var fileNode = context.Owner.Data as IDnSpyFileNode; Debug.Assert(fileNode != null); if (fileNode == null) yield break; bool hasPENode = HasPENode(fileNode); var peImage = fileNode.DnSpyFile.PEImage; Debug.Assert(!hasPENode || peImage != null); if (hasPENode && peImage != null) yield return new PENode(hexDocumentManager.Value, peImage, fileNode.DnSpyFile.ModuleDef as ModuleDefMD); }
internal void AddChildren(TreeNodeImpl impl) { foreach (var data in impl.Data.CreateChildren()) AddSorted(impl, Create(data)); foreach (var creator in treeViewManager.GetCreators(impl.Data.Guid)) { var context = new TreeNodeDataCreatorContext(impl); foreach (var data in creator.Create(context)) AddSorted(impl, Create(data)); } }
public IEnumerable<ITreeNodeData> Create(TreeNodeDataCreatorContext context) { yield return new ModuleChildNode(); }