예제 #1
0
파일: Commands.cs 프로젝트: zhenren92/dnSpy
		void Execute(IList<MethodSourceStatement>? list) {
			if (list is null)
				return;

			var method = list[0].Method;
			if (StateMachineHelpers.TryGetKickoffMethod(method, out var containingMethod))
				method = containingMethod;
			var methodNode = appService.DocumentTreeView.FindNode(method);
			if (methodNode is null) {
				MsgBox.Instance.Show(string.Format(dnSpy_AsmEditor_Resources.Error_CouldNotFindMethod, method));
				return;
			}

			EditMethodBodyCodeCommand.Execute(editCodeVMCreator, addUpdatedNodesHelperProvider, undoCommandService, appService, new DocumentTreeNodeData[] { methodNode }, list);
		}
예제 #2
0
        void Execute(IList <MethodSourceStatement> list)
        {
            if (list == null)
            {
                return;
            }

            var method     = list[0].Method;
            var methodNode = appWindow.FileTreeView.FindNode(method);

            if (methodNode == null)
            {
                MsgBox.Instance.Show(string.Format(dnSpy_AsmEditor_Resources.Error_CouldNotFindMethod, method));
                return;
            }

            EditMethodBodyCodeCommand.Execute(editCodeVMCreator, methodAnnotations, undoCommandManager, appWindow, new IFileTreeNodeData[] { methodNode }, BodyCommandUtils.GetInstructionOffsets(method, list));
        }
예제 #3
0
        void Execute(IList <MethodSourceStatement> list)
        {
            if (list == null)
            {
                return;
            }

            var method     = list[0].Method;
            var methodNode = appService.DocumentTreeView.FindNode(method);

            if (methodNode == null)
            {
                MsgBox.Instance.Show(string.Format(dnSpy_AsmEditor_Resources.Error_CouldNotFindMethod, method));
                return;
            }

            EditMethodBodyCodeCommand.Execute(editCodeVMCreator, methodAnnotations, undoCommandService, appService, new DocumentTreeNodeData[] { methodNode }, list);
        }
예제 #4
0
파일: Commands.cs 프로젝트: xisuo67/dnSpy
 public override void Execute(AsmEditorContext context) => EditMethodBodyCodeCommand.Execute(editCodeVMCreator, addUpdatedNodesHelperProvider, undoCommandService, appService, context.Nodes);
예제 #5
0
파일: Commands.cs 프로젝트: xisuo67/dnSpy
 public override bool IsVisible(AsmEditorContext context) => EditMethodBodyCodeCommand.CanExecute(editCodeVMCreator, context.Nodes);
예제 #6
0
파일: Commands.cs 프로젝트: xisuo67/dnSpy
 public override bool IsEnabled(CodeContext context) => !EditBodyCommand.IsVisibleInternal(editCodeVMCreator, context.MenuItemContextOrNull) && context.IsDefinition && EditMethodBodyCodeCommand.CanExecute(editCodeVMCreator, context.Nodes);
예제 #7
0
 public override void Execute(AsmEditorContext context) => EditMethodBodyCodeCommand.Execute(editCodeVMCreator, methodAnnotations, undoCommandManager, appWindow, context.Nodes);
예제 #8
0
 public override void Execute(CodeContext context) => EditMethodBodyCodeCommand.Execute(editCodeVMCreator, methodAnnotations, undoCommandService, appService, context.Nodes);