public override string ToString() { var output = new NoSyntaxHighlightOutput(); CreateUI(output, NameObject, false); return(output.ToString()); }
public override void Execute(BreakpointCtxMenuContext context) { var output = new NoSyntaxHighlightOutput(); foreach (var vm in context.SelectedItems) { var printer = new BreakpointPrinter(output, debuggerSettings.UseHexadecimal, languageManager.Language); printer.WriteName(vm); output.Write("\t", TextTokenKind.Text); printer.WriteAssembly(vm); output.Write("\t", TextTokenKind.Text); printer.WriteModule(vm); output.Write("\t", TextTokenKind.Text); printer.WriteFile(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { try { Clipboard.SetText(s); } catch (ExternalException) { } } }
public string ToString(ILanguage language) { var output = new NoSyntaxHighlightOutput(); Write(output, language); return(output.ToString()); }
protected override void CopyItemsAsText(LocalVM[] locals) { Array.Sort(locals, (a, b) => a.Index.CompareTo(b.Index)); var output = new NoSyntaxHighlightOutput(); for (int i = 0; i < locals.Length; i++) { if (i > 0) { output.WriteLine(); } var local = locals[i]; output.Write(local.Index.ToString(), TextTokenKind.Number); output.Write("\t", TextTokenKind.Text); output.Write(local.IsPinned ? dnSpy_AsmEditor_Resources.Local_Pinned_Character : string.Empty, TextTokenKind.Text); output.Write("\t", TextTokenKind.Text); output.Write(local.IsCompilerGenerated ? dnSpy_AsmEditor_Resources.Local_CompilerGenerated_Character : string.Empty, TextTokenKind.Text); output.Write("\t", TextTokenKind.Text); output.Write(local.Name ?? string.Empty, TextTokenKind.Local); output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, local.Type); } if (locals.Length > 1) { output.WriteLine(); } try { Clipboard.SetText(output.ToString()); } catch (ExternalException) { } }
public override void Execute(LocalsCtxMenuContext context) { var output = new NoSyntaxHighlightOutput(); foreach (var vm in context.SelectedItems) { //TODO: Break if it takes too long and the user cancels var printer = new ValuePrinter(output, debuggerSettings.UseHexadecimal); printer.WriteExpander(vm); output.Write("\t", TextTokenKind.Text); // Add an extra here to emulate VS output output.Write("\t", TextTokenKind.Text); printer.WriteName(vm); output.Write("\t", TextTokenKind.Text); printer.WriteValue(vm); output.Write("\t", TextTokenKind.Text); printer.WriteType(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { Clipboard.SetText(s); } }
static void ExecuteInternal(MDTableContext context) { var output = new NoSyntaxHighlightOutput(); var output2 = SyntaxHighlightOutputToTextOutput.Create(output); context.Node.WriteHeader(output2); foreach (var rec in context.Records) { context.Node.Write(output2, rec); } var s = output.ToString(); if (s.Length > 0) { Clipboard.SetText(s); } }
public override void Execute(ExceptionsCtxMenuContext context) { var output = new NoSyntaxHighlightOutput(); foreach (var vm in context.SelectedItems) { var printer = new ExceptionPrinter(output); printer.WriteName(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { Clipboard.SetText(s); } }
public override void Execute(ThreadsCtxMenuContext context) { var output = new NoSyntaxHighlightOutput(); foreach (var vm in context.SelectedItems) { var printer = new ThreadPrinter(output, debuggerSettings.UseHexadecimal, theDebugger.Value.Debugger); printer.WriteCurrent(vm); output.Write("\t", TextTokenKind.Text); printer.WriteId(vm); output.Write("\t", TextTokenKind.Text); printer.WriteManagedId(vm); output.Write("\t", TextTokenKind.Text); printer.WriteCategory(vm); output.Write("\t", TextTokenKind.Text); printer.WriteName(vm); output.Write("\t", TextTokenKind.Text); printer.WriteLocation(vm); output.Write("\t", TextTokenKind.Text); printer.WritePriority(vm); output.Write("\t", TextTokenKind.Text); printer.WriteAffinityMask(vm); output.Write("\t", TextTokenKind.Text); printer.WriteSuspended(vm); output.Write("\t", TextTokenKind.Text); printer.WriteProcess(vm); output.Write("\t", TextTokenKind.Text); printer.WriteAppDomain(vm); output.Write("\t", TextTokenKind.Text); printer.WriteUserState(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { try { Clipboard.SetText(s); } catch (ExternalException) { } } }
public override void Execute(LocalsCtxMenuContext context) { var output = new NoSyntaxHighlightOutput(); foreach (var vm in context.SelectedItems) { //TODO: Break if it takes too long and the user cancels var printer = new ValuePrinter(output, debuggerSettings.UseHexadecimal); printer.WriteValue(vm); if (context.SelectedItems.Length > 1) { output.WriteLine(); } } var s = output.ToString(); if (s.Length > 0) { Clipboard.SetText(s); } }
protected override void CopyItemsAsText(ExceptionHandlerVM[] ehs) { Array.Sort(ehs, (a, b) => a.Index.CompareTo(b.Index)); var output = new NoSyntaxHighlightOutput(); for (int i = 0; i < ehs.Length; i++) { if (i > 0) { output.WriteLine(); } var eh = ehs[i]; output.Write(eh.Index.ToString(), TextTokenKind.Number); output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, eh.TryStartVM.SelectedItem); output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, eh.TryEndVM.SelectedItem); output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, eh.FilterStartVM.SelectedItem); output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, eh.HandlerStartVM.SelectedItem); output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, eh.HandlerEndVM.SelectedItem); output.Write("\t", TextTokenKind.Text); output.Write(((EnumVM)eh.HandlerTypeVM.Items[eh.HandlerTypeVM.SelectedIndex]).Name, TextTokenKind.Text); output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, eh.CatchType); } if (ehs.Length > 1) { output.WriteLine(); } try { Clipboard.SetText(output.ToString()); } catch (ExternalException) { } }
public override void Execute(ModulesCtxMenuContext context) { var output = new NoSyntaxHighlightOutput(); foreach (var vm in context.SelectedItems) { var printer = new ModulePrinter(output, debuggerSettings.UseHexadecimal, theDebugger.Value.Debugger); printer.WriteName(vm); output.Write("\t", TextTokenKind.Text); printer.WriteOptimized(vm); output.Write("\t", TextTokenKind.Text); printer.WriteDynamic(vm); output.Write("\t", TextTokenKind.Text); printer.WriteInMemory(vm); output.Write("\t", TextTokenKind.Text); printer.WriteOrder(vm); output.Write("\t", TextTokenKind.Text); printer.WriteVersion(vm); output.Write("\t", TextTokenKind.Text); printer.WriteTimestamp(vm); output.Write("\t", TextTokenKind.Text); printer.WriteAddress(vm); output.Write("\t", TextTokenKind.Text); printer.WriteProcess(vm); output.Write("\t", TextTokenKind.Text); printer.WriteAppDomain(vm); output.Write("\t", TextTokenKind.Text); printer.WritePath(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { try { Clipboard.SetText(s); } catch (ExternalException) { } } }
public static void CopyItemsAsTextToClipboard(InstructionVM[] instrs) { var output = new NoSyntaxHighlightOutput(); for (int i = 0; i < instrs.Length; i++) { if (i > 0) { output.WriteLine(); } var instr = instrs[i]; output.Write(instr.Index.ToString(), TextTokenKind.Number); output.Write("\t", TextTokenKind.Text); output.Write(string.Format("{0:X4}", instr.Offset), TextTokenKind.Label); output.Write("\t", TextTokenKind.Text); output.Write(instr.Code.ToOpCode().ToString(), TextTokenKind.OpCode); switch (instr.InstructionOperandVM.InstructionOperandType) { case InstructionOperandType.None: break; case InstructionOperandType.SByte: output.Write("\t", TextTokenKind.Text); output.Write(instr.InstructionOperandVM.SByte.StringValue, TextTokenKind.Number); break; case InstructionOperandType.Byte: output.Write("\t", TextTokenKind.Text); output.Write(instr.InstructionOperandVM.Byte.StringValue, TextTokenKind.Number); break; case InstructionOperandType.Int32: output.Write("\t", TextTokenKind.Text); output.Write(instr.InstructionOperandVM.Int32.StringValue, TextTokenKind.Number); break; case InstructionOperandType.Int64: output.Write("\t", TextTokenKind.Text); output.Write(instr.InstructionOperandVM.Int64.StringValue, TextTokenKind.Number); break; case InstructionOperandType.Single: output.Write("\t", TextTokenKind.Text); output.Write(instr.InstructionOperandVM.Single.StringValue, TextTokenKind.Number); break; case InstructionOperandType.Double: output.Write("\t", TextTokenKind.Text); output.Write(instr.InstructionOperandVM.Double.StringValue, TextTokenKind.Number); break; case InstructionOperandType.String: output.Write("\t", TextTokenKind.Text); output.Write(instr.InstructionOperandVM.String.StringValue, TextTokenKind.String); break; case InstructionOperandType.Field: case InstructionOperandType.Method: case InstructionOperandType.Token: case InstructionOperandType.Type: case InstructionOperandType.MethodSig: case InstructionOperandType.BranchTarget: case InstructionOperandType.SwitchTargets: case InstructionOperandType.Local: case InstructionOperandType.Parameter: output.Write("\t", TextTokenKind.Text); BodyUtils.WriteObject(output, instr.InstructionOperandVM.Value); break; default: throw new InvalidOperationException(); } } if (instrs.Length > 1) { output.WriteLine(); } try { Clipboard.SetText(output.ToString()); } catch (ExternalException) { } }