Exemplo n.º 1
0
        static void Execute(Lazy <IUndoCommandService> undoCommandService, IAppService appService, DocumentTreeNodeData[] nodes)
        {
            if (!AddNetModuleToAssemblyCommand.CanExecute(nodes))
            {
                return;
            }

            var asmNode = (DsDocumentNode)nodes[0];

            if (asmNode is ModuleDocumentNode)
            {
                asmNode = (AssemblyDocumentNode)asmNode.TreeNode.Parent.Data;
            }

            var win  = new NetModuleOptionsDlg();
            var data = new NetModuleOptionsVM(asmNode.Document.ModuleDef);

            win.DataContext = data;
            win.Owner       = appService.MainWindow;
            if (win.ShowDialog() != true)
            {
                return;
            }

            var options    = data.CreateNetModuleOptions();
            var newModule  = ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion);
            var newFile    = DsDotNetDocument.CreateModule(DsDocumentInfo.CreateDocument(string.Empty), newModule, true);
            var newModNode = asmNode.Context.DocumentTreeView.CreateModule(newFile);
            var cmd        = new AddNewNetModuleToAssemblyCommand(undoCommandService.Value, (DsDocumentNode)nodes[0], newModNode);

            undoCommandService.Value.Add(cmd);
            appService.DocumentTabService.FollowReference(cmd.modNode);
        }
Exemplo n.º 2
0
        static void Execute(Lazy <IUndoCommandManager> undoCommandManager, IAppWindow appWindow, IFileTreeNodeData[] nodes)
        {
            if (!AddNetModuleToAssemblyCommand.CanExecute(nodes))
            {
                return;
            }

            var asmNode = (IDnSpyFileNode)nodes[0];

            if (asmNode is IModuleFileNode)
            {
                asmNode = (IAssemblyFileNode)asmNode.TreeNode.Parent.Data;
            }

            var win  = new NetModuleOptionsDlg();
            var data = new NetModuleOptionsVM(asmNode.DnSpyFile.ModuleDef);

            win.DataContext = data;
            win.Owner       = appWindow.MainWindow;
            if (win.ShowDialog() != true)
            {
                return;
            }

            var options    = data.CreateNetModuleOptions();
            var newModule  = ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion);
            var newFile    = DnSpyDotNetFile.CreateModule(DnSpyFileInfo.CreateFile(string.Empty), newModule, appWindow.FileTreeView.FileManager.Settings.LoadPDBFiles);
            var newModNode = asmNode.Context.FileTreeView.CreateModule(newFile);
            var cmd        = new AddNewNetModuleToAssemblyCommand(undoCommandManager.Value, (IDnSpyFileNode)nodes[0], newModNode);

            undoCommandManager.Value.Add(cmd);
            appWindow.FileTabManager.FollowReference(cmd.modNode);
        }
Exemplo n.º 3
0
        CreateNetModuleCommand(Lazy <IUndoCommandService> undoCommandService, IDocumentTreeView documentTreeView, NetModuleOptions options)
        {
            this.undoCommandService = undoCommandService;
            var module = ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion);
            var file   = DsDotNetDocument.CreateModule(DsDocumentInfo.CreateDocument(string.Empty), module, true);

            fileNodeCreator = RootDocumentNodeCreator.CreateModule(documentTreeView, file);
        }
Exemplo n.º 4
0
        CreateNetModuleCommand(Lazy <IUndoCommandManager> undoCommandManager, IFileTreeView fileTreeView, NetModuleOptions options)
        {
            this.undoCommandManager = undoCommandManager;
            var module = ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion);
            var file   = DnSpyDotNetFile.CreateModule(DnSpyFileInfo.CreateFile(string.Empty), module, fileTreeView.FileManager.Settings.LoadPDBFiles);

            this.fileNodeCreator = RootDnSpyFileNodeCreator.CreateModule(fileTreeView, file);
        }
Exemplo n.º 5
0
 AddNewNetModuleToAssemblyCommand(AssemblyTreeNode asmNode, NetModuleOptions options)
     : base(asmNode, new AssemblyTreeNode(new LoadedAssembly(MainWindow.Instance.CurrentAssemblyList, ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion))), true)
 {
 }
Exemplo n.º 6
0
        CreateNetModuleCommand(NetModuleOptions options)
        {
            var module = ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion);

            this.asmNodeCreator = new AssemblyTreeNodeCreator(new LoadedAssembly(MainWindow.Instance.CurrentAssemblyList, module));
        }
Exemplo n.º 7
0
 AddNewNetModuleToAssemblyCommand(AssemblyTreeNode asmNode, NetModuleOptions options)
     : base(asmNode, new AssemblyTreeNode(MainWindow.Instance.DnSpyFileList.CreateDnSpyFile(ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion))), true)
 {
 }
Exemplo n.º 8
0
        CreateNetModuleCommand(NetModuleOptions options)
        {
            var module = ModuleUtils.CreateNetModule(options.Name, options.Mvid, options.ClrVersion);

            this.asmNodeCreator = new AssemblyTreeNodeCreator(MainWindow.Instance.DnSpyFileList.CreateDnSpyFile(module));
        }