protected override void WriteToolTip(ISyntaxHighlightOutput output, ILanguage language) { output.Write(ExeUtils.GetArchString(DnSpyFile.PEImage.ImageNTHeaders.FileHeader.Machine), TextTokenKind.EnumField); output.WriteLine(); output.WriteFilename(DnSpyFile.Filename); }
SyntaxHighlightOutputToTextOutput(ISyntaxHighlightOutput output) { this.output = output; this.line = 1; this.col = 1; this.indent = 0; }
void WriteILOffset(ISyntaxHighlightOutput output, uint offset) { // Offsets are always in hex if (offset <= ushort.MaxValue) output.Write(string.Format(GetHexFormatUInt16(), offset), TextTokenKind.Number); else output.Write(string.Format(GetHexFormatUInt32(), offset), TextTokenKind.Number); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, MethodDef method, bool showToken) { output.Write(NameUtils.CleanIdentifier(method.Name), TextTokenKindUtils.GetTextTokenType(method)); output.Write("(", TextTokenKind.Operator); foreach (var p in method.Parameters) { if (p.IsHiddenThisParameter) { continue; } if (p.MethodSigIndex > 0) { output.WriteCommaSpace(); } language.WriteType(output, p.Type.ToTypeDefOrRef(), false, p.ParamDef); } if (method.CallingConvention == CallingConvention.VarArg || method.CallingConvention == CallingConvention.NativeVarArg) { if (method.MethodSig.GetParamCount() > 0) { output.WriteCommaSpace(); } output.Write("...", TextTokenKind.Operator); } output.Write(")", TextTokenKind.Operator); output.WriteSpace(); output.Write(":", TextTokenKind.Operator); output.WriteSpace(); language.WriteType(output, method.ReturnType.ToTypeDefOrRef(), false, method.Parameters.ReturnParameter.ParamDef); WriteToken(output, method, showToken); }
static void WriteShort(this ISyntaxHighlightOutput output, InstructionVM instr) { output.Write(instr.Index.ToString(), TextTokenKind.Number); output.WriteSpace(); output.Write("(", TextTokenKind.Operator); output.Write(string.Format("{0:X4}", instr.Offset), TextTokenKind.Number); output.Write(")", TextTokenKind.Operator); }
static void WriteLong(this ISyntaxHighlightOutput output, InstructionVM instr) { output.WriteShort(instr); output.WriteSpace(); output.Write(instr.Code.ToOpCode().Name, TextTokenKind.OpCode); output.WriteSpace(); Write(output, instr.InstructionOperandVM); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, FieldDef field, bool showToken) { output.Write(NameUtils.CleanIdentifier(field.Name), TextTokenKindUtils.GetTextTokenType(field)); output.WriteSpace(); output.Write(":", TextTokenKind.Operator); output.WriteSpace(); language.WriteType(output, field.FieldType.ToTypeDefOrRef(), false); WriteToken(output, field, showToken); }
public override void WriteToolTip(ISyntaxHighlightOutput output, IMemberRef member, IHasCustomAttribute typeAttributes) { if (!(member is ITypeDefOrRef) && ILLanguageUtils.Write(SyntaxHighlightOutputToTextOutput.Create(output), member)) { return; } base.WriteToolTip(output, member, typeAttributes); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, IDnSpyFile file) { var filename = GetFilename(file); var peImage = file.PEImage; if (peImage != null) output.Write(NameUtils.CleanName(filename), IsExe(peImage) ? TextTokenKind.AssemblyExe : TextTokenKind.Assembly); else output.Write(NameUtils.CleanName(filename), TextTokenKind.Text); }
protected override void Write(ISyntaxHighlightOutput output) { output.Write(dnSpy_AsmEditor_Resources.HexNode_PE_Section, TextTokenKind.Keyword); output.WriteSpace(); output.Write("#", TextTokenKind.Operator); output.Write(sectionNumber.ToString(), TextTokenKind.Number); output.Write(":", TextTokenKind.Operator); output.WriteSpace(); output.Write(string.Format("{0}", imageSectionHeaderVM.NameVM.String), TextTokenKind.Type); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, PropertyDef property, bool showToken, bool?isIndexer) { language.WriteName(output, property, isIndexer); output.WriteSpace(); output.Write(":", TextTokenKind.Operator); output.WriteSpace(); language.WriteType(output, property.PropertySig.GetRetType().ToTypeDefOrRef(), false); WriteToken(output, property, showToken); }
protected override void Write(ISyntaxHighlightOutput output) { output.Write(string.Format("{0}", index + 1), TextTokenKind.Number); if (infoTuple != null) { output.WriteSpace(); output.Write("-", TextTokenKind.Operator); output.WriteSpace(); infoTuple.Item2(output); } }
public void Write(ISyntaxHighlightOutput output, ILanguage language, EventDef @event, bool showToken) { output.Write(NameUtils.CleanIdentifier(@event.Name), TextTokenKindUtils.GetTextTokenType(@event)); output.WriteSpace(); output.Write(":", TextTokenKind.Operator); output.WriteSpace(); language.WriteType(output, @event.EventType, false); WriteToken(output, @event, showToken); }
protected override void Write(ISyntaxHighlightOutput output) { output.Write(dnSpy_AsmEditor_Resources.HexNode_StorageStream, TextTokenKind.InstanceField); output.WriteSpace(); output.Write("#", TextTokenKind.Operator); output.Write(streamNumber.ToString(), TextTokenKind.Number); output.Write(":", TextTokenKind.Operator); output.WriteSpace(); output.Write(string.Format("{0}", storageStreamVM.RCNameVM.StringZ), storageStreamType == StorageStreamType.None ? TextTokenKind.Error : TextTokenKind.Type); }
void WriteToken(ISyntaxHighlightOutput output, IMDTokenProvider tok, bool showToken) { if (!showToken) { return; } output.WriteSpace(); output.Write("@", TextTokenKind.Operator); output.Write(string.Format("{0:X8}", tok.MDToken.Raw), TextTokenKind.Number); }
protected override void Write(ISyntaxHighlightOutput output) { output.Write(string.Format("{0:X2}", (byte)tablesStreamVM.Table), TextTokenKind.Number); output.WriteSpace(); output.Write(string.Format("{0}", tablesStreamVM.Table), TextTokenKind.Type); output.WriteSpace(); output.Write("(", TextTokenKind.Operator); output.Write(string.Format("{0}", tablesStreamVM.Rows), TextTokenKind.Number); output.Write(")", TextTokenKind.Operator); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { if (name != null) { output.Write(name, TextTokenKind.Keyword); } else { base.Write(output, language); } }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { if (hidesParent) { output.Write("(", TextTokenKind.Operator); output.Write(dnSpy_Analyzer_Resources.HidesParent, TextTokenKind.Text); output.Write(")", TextTokenKind.Operator); output.WriteSpace(); } language.WriteType(output, analyzedMethod.DeclaringType, true); output.Write(".", TextTokenKind.Operator); new NodePrinter().Write(output, language, analyzedMethod, Context.ShowToken); }
void WriteILOffset(ISyntaxHighlightOutput output, uint offset) { // Offsets are always in hex if (offset <= ushort.MaxValue) { output.Write(string.Format(GetHexFormatUInt16(), offset), TextTokenKind.Number); } else { output.Write(string.Format(GetHexFormatUInt32(), offset), TextTokenKind.Number); } }
protected override void WriteToolTip(ISyntaxHighlightOutput output, ILanguage language) { output.WriteModule(DnSpyFile.ModuleDef.Name); output.WriteLine(); output.Write(TargetFrameworkInfo.Create(DnSpyFile.ModuleDef).ToString(), TextTokenKind.EnumField); output.WriteLine(); output.Write(TargetFrameworkUtils.GetArchString(DnSpyFile.ModuleDef), TextTokenKind.EnumField); output.WriteLine(); output.WriteFilename(DnSpyFile.Filename); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { var tdr = TryGetTypeDefOrRef(); if (tdr == null) { output.Write("???", TextTokenKind.Error); } else { new NodePrinter().Write(output, language, tdr, Context.ShowToken); } }
protected override void WriteToolTip(ISyntaxHighlightOutput output, ILanguage language) { output.Write(DnSpyFile.AssemblyDef); output.WriteLine(); output.Write(ExeUtils.GetDotNetVersion(DnSpyFile.AssemblyDef.ManifestModule), TextTokenKind.EnumField); output.WriteLine(); output.Write(ExeUtils.GetArchString(DnSpyFile.AssemblyDef.ManifestModule), TextTokenKind.EnumField); output.WriteLine(); output.WriteFilename(DnSpyFile.Filename); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { if (hidesParent) { output.Write("(", TextTokenKind.Operator); output.Write(dnSpy_Analyzer_Resources.HidesParent, TextTokenKind.Text); output.Write(")", TextTokenKind.Operator); output.WriteSpace(); } language.WriteType(output, analyzedEvent.DeclaringType, true); output.Write(".", TextTokenKind.Operator); new NodePrinter().Write(output, language, analyzedEvent, Context.ShowToken); }
static void Write(this ISyntaxHighlightOutput output, IList <InstructionVM> instrs) { output.Write("[", TextTokenKind.Operator); for (int i = 0; i < instrs.Count; i++) { if (i > 0) { output.Write(",", TextTokenKind.Operator); output.WriteSpace(); } output.WriteShort(instrs[i]); } output.Write("]", TextTokenKind.Operator); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, IDnSpyFile file) { var filename = GetFilename(file); var peImage = file.PEImage; if (peImage != null) { output.Write(NameUtils.CleanName(filename), IsExe(peImage) ? TextTokenKind.AssemblyExe : TextTokenKind.Assembly); } else { output.Write(NameUtils.CleanName(filename), TextTokenKind.Text); } }
public void Write(ISyntaxHighlightOutput output, ILanguage language, AssemblyDef asm, bool showToken, bool showAssemblyVersion, bool showAssemblyPublicKeyToken) { output.Write(asm.Name, IsExe(asm.ManifestModule) ? TextTokenKind.AssemblyExe : TextTokenKind.Assembly); bool showAsmVer = showAssemblyVersion; bool showPublicKeyToken = showAssemblyPublicKeyToken && !PublicKeyBase.IsNullOrEmpty2(asm.PublicKeyToken); if (showAsmVer || showPublicKeyToken) { output.WriteSpace(); output.Write("(", TextTokenKind.Operator); bool needComma = false; if (showAsmVer) { if (needComma) { output.WriteCommaSpace(); } needComma = true; output.Write(asm.Version); } if (showPublicKeyToken) { if (needComma) { output.WriteCommaSpace(); } needComma = true; var pkt = asm.PublicKeyToken; if (PublicKeyBase.IsNullOrEmpty2(pkt)) { output.Write("null", TextTokenKind.Keyword); } else { output.Write(pkt.ToString(), TextTokenKind.Number); } } output.Write(")", TextTokenKind.Operator); } WriteToken(output, asm, showToken); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, AssemblyDef asm, bool showToken, bool showAssemblyVersion, bool showAssemblyPublicKeyToken) { output.Write(asm.Name, IsExe(asm.ManifestModule) ? TextTokenKind.AssemblyExe : TextTokenKind.Assembly); bool showAsmVer = showAssemblyVersion; bool showPublicKeyToken = showAssemblyPublicKeyToken && !PublicKeyBase.IsNullOrEmpty2(asm.PublicKeyToken); if (showAsmVer || showPublicKeyToken) { output.WriteSpace(); output.Write("(", TextTokenKind.Operator); bool needComma = false; if (showAsmVer) { if (needComma) output.WriteCommaSpace(); needComma = true; output.Write(asm.Version); } if (showPublicKeyToken) { if (needComma) output.WriteCommaSpace(); needComma = true; var pkt = asm.PublicKeyToken; if (PublicKeyBase.IsNullOrEmpty2(pkt)) output.Write("null", TextTokenKind.Keyword); else output.Write(pkt.ToString(), TextTokenKind.Number); } output.Write(")", TextTokenKind.Operator); } WriteToken(output, asm, showToken); }
static void Write(this ISyntaxHighlightOutput output, InstructionOperandVM opvm) { switch (opvm.InstructionOperandType) { case MethodBody.InstructionOperandType.None: break; case MethodBody.InstructionOperandType.SByte: output.Write(opvm.SByte.StringValue, TextTokenKind.Number); break; case MethodBody.InstructionOperandType.Byte: output.Write(opvm.Byte.StringValue, TextTokenKind.Number); break; case MethodBody.InstructionOperandType.Int32: output.Write(opvm.Int32.StringValue, TextTokenKind.Number); break;; case MethodBody.InstructionOperandType.Int64: output.Write(opvm.Int64.StringValue, TextTokenKind.Number); break;; case MethodBody.InstructionOperandType.Single: output.Write(opvm.Single.StringValue, TextTokenKind.Number); break;; case MethodBody.InstructionOperandType.Double: output.Write(opvm.Double.StringValue, TextTokenKind.Number); break;; case MethodBody.InstructionOperandType.String: output.Write(opvm.String.StringValue, TextTokenKind.String); break;; case MethodBody.InstructionOperandType.Field: case MethodBody.InstructionOperandType.Method: case MethodBody.InstructionOperandType.Token: case MethodBody.InstructionOperandType.Type: case MethodBody.InstructionOperandType.MethodSig: case MethodBody.InstructionOperandType.SwitchTargets: case MethodBody.InstructionOperandType.BranchTarget: case MethodBody.InstructionOperandType.Local: case MethodBody.InstructionOperandType.Parameter: WriteObject(output, opvm.Value, WriteObjectFlags.ShortInstruction); break; default: throw new InvalidOperationException(); } }
void WriteNamespaceName(ISyntaxHighlightOutput output, int nsIndex, int nameIndex) { var ns = ReadStringsHeap(nsIndex); var name = ReadStringsHeap(nameIndex); output.Write(name, TextTokenKind.Type); if (!string.IsNullOrEmpty(ns)) { output.WriteSpace(); output.Write("-", TextTokenKind.Operator); output.WriteSpace(); var parts = ns.Split('.'); for (int i = 0; i < parts.Length; i++) { output.Write(parts[i], TextTokenKind.NamespacePart); if (i + 1 < parts.Length) { output.Write(".", TextTokenKind.Operator); } } } }
public void WriteNamespace(ISyntaxHighlightOutput output, ILanguage language, string name) { output.WriteNamespace(name); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, AssemblyRef asmRef, bool showToken) { output.Write(NameUtils.CleanIdentifier(asmRef.Name), TextTokenKind.Text); WriteToken(output, asmRef, showToken); }
protected override void WriteToolTip(ISyntaxHighlightOutput output, ILanguage language) { output.Write(TargetFrameworkUtils.GetArchString(DnSpyFile.PEImage.ImageNTHeaders.FileHeader.Machine), TextTokenKind.EnumField); output.WriteLine(); output.WriteFilename(DnSpyFile.Filename); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { output.Write(dnSpy_Analyzer_Resources.UsedByTreeNode, TextTokenKind.Text); }
public ProcessPrinter(ISyntaxHighlightOutput output, bool useHex) { this.output = output; this.useHex = useHex; }
protected abstract void Write(ISyntaxHighlightOutput output);
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { language.WriteType(output, analyzedField.DeclaringType, true); output.Write(".", TextTokenKind.Operator); new NodePrinter().Write(output, language, analyzedField, Context.ShowToken); }
/// <summary> /// Creates a new <see cref="ITextOutput"/> instance /// </summary> /// <param name="output">Output to use</param> /// <returns></returns> public static ITextOutput Create(ISyntaxHighlightOutput output) { return new SyntaxHighlightOutputToTextOutput(output); }
public FileListPrinter(ISyntaxHighlightOutput output) { this.output = output; }
void WriteToken(ISyntaxHighlightOutput output, IMDTokenProvider tok, bool showToken) { if (!showToken) return; output.WriteSpace(); output.Write("@", TextTokenKind.Operator); output.Write(string.Format("{0:X8}", tok.MDToken.Raw), TextTokenKind.Number); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { new NodePrinter().Write(output, language, property, Context.ShowToken, null); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, MethodDef method, bool showToken) { output.Write(NameUtils.CleanIdentifier(method.Name), TextTokenKindUtils.GetTextTokenType(method)); output.Write("(", TextTokenKind.Operator); foreach (var p in method.Parameters) { if (p.IsHiddenThisParameter) continue; if (p.MethodSigIndex > 0) output.WriteCommaSpace(); language.WriteType(output, p.Type.ToTypeDefOrRef(), false, p.ParamDef); } if (method.CallingConvention == CallingConvention.VarArg || method.CallingConvention == CallingConvention.NativeVarArg) { if (method.MethodSig.GetParamCount() > 0) output.WriteCommaSpace(); output.Write("...", TextTokenKind.Operator); } output.Write(")", TextTokenKind.Operator); output.WriteSpace(); output.Write(":", TextTokenKind.Operator); output.WriteSpace(); language.WriteType(output, method.ReturnType.ToTypeDefOrRef(), false, method.Parameters.ReturnParameter.ParamDef); WriteToken(output, method, showToken); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { output.Write(dnSpy_Resources.BaseTypeFolder, TextTokenKind.Text); }
public void Write(ISyntaxHighlightOutput output, TypeFormatFlags flags) { debugger.Dispatcher.UI(() => prop.Write(new OutputConverter(output), (TypePrinterFlags)flags)); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { new NodePrinter().Write(output, language, DnSpyFile.AssemblyDef, false, Context.ShowAssemblyVersion, Context.ShowAssemblyPublicKeyToken); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { Write(output); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { output.WriteFilename(Path.GetFileName(file.Filename)); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { var td = TryGetTypeDef(); if (td == null) output.Write("???", TextTokenKind.Error); else new NodePrinter().Write(output, language, td, Context.ShowToken); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { new NodePrinter().Write(output, language, moduleRef, Context.ShowToken); }
protected override void Write(ISyntaxHighlightOutput output, ILanguage language) { new NodePrinter().Write(output, language, DnSpyFile); }
public ExceptionPrinter(ISyntaxHighlightOutput output) { this.output = output; }
protected override void Write(ISyntaxHighlightOutput output) { output.Write(dnSpy_AsmEditor_Resources.HexNode_OptHeader32, TextTokenKind.Keyword); }
public void Write(ISyntaxHighlightOutput output, TypeFormatFlags flags) { debugger.Dispatcher.UI(() => frame.Write(new OutputConverter(output), (TypePrinterFlags)flags)); }
public void Write(ISyntaxHighlightOutput output, ILanguage language, ModuleDef mod, bool showToken) { output.WriteModule(mod.Name); WriteToken(output, mod, showToken); }