示例#1
0
 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)
        {
            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));
            }
        }
示例#3
0
 public IEnumerable <ITreeNodeData> Create(TreeNodeDataCreatorContext context)
 {
     yield return(new ModuleChildNode());
 }