/// <summary> /// ToString() /// </summary> /// <param name="decompiler">Decompiler</param> /// <param name="options">Options</param> /// <returns></returns> public string ToString(IDecompiler decompiler, DocumentNodeWriteOptions options = DocumentNodeWriteOptions.None) { var output = new StringBuilderTextColorOutput(); WriteCore(output, decompiler, options); return(output.ToString()); }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { var tdr = TryGetTypeDefOrRef(); if (tdr == null) output.Write(BoxedTextColor.Error, "???"); else new NodePrinter().Write(output, decompiler, tdr, GetShowToken(options)); }
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) { output.Write(BoxedTextColor.Number, string.Format("{0}", index + 1)); if (infoTuple != null) { output.WriteSpace(); output.Write(BoxedTextColor.Operator, "-"); output.WriteSpace(); infoTuple.Item2(output); } }
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) { output.Write(BoxedTextColor.Number, string.Format("{0:X2}", (byte)MetaDataTableVM.Table)); output.WriteSpace(); output.Write(BoxedTextColor.HexTableName, string.Format("{0}", MetaDataTableVM.Table)); output.WriteSpace(); output.Write(BoxedTextColor.Punctuation, "("); output.Write(BoxedTextColor.Number, string.Format("{0}", MetaDataTableVM.Rows)); output.Write(BoxedTextColor.Punctuation, ")"); }
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) { output.Write(BoxedTextColor.HexPeSection, dnSpy_AsmEditor_Resources.HexNode_PE_Section); output.WriteSpace(); output.Write(BoxedTextColor.Operator, "#"); output.Write(BoxedTextColor.Number, SectionNumber.ToString()); output.Write(BoxedTextColor.Punctuation, ":"); output.WriteSpace(); output.Write(BoxedTextColor.HexPeSectionName, string.Format("{0}", imageSectionHeaderVM.NameVM.String)); }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { if ((options & DocumentNodeWriteOptions.ToolTip) == 0) new NodePrinter().Write(output, decompiler, Document); else { output.Write(BoxedTextColor.Text, TargetFrameworkUtils.GetArchString(Document.PEImage.ImageNTHeaders.FileHeader.Machine)); output.WriteLine(); output.WriteFilename(Document.Filename); } }
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) { output.Write(BoxedTextColor.HexStorageStream, dnSpy_AsmEditor_Resources.HexNode_StorageStream); output.WriteSpace(); output.Write(BoxedTextColor.Operator, "#"); output.Write(BoxedTextColor.Number, StreamNumber.ToString()); output.Write(BoxedTextColor.Punctuation, ":"); output.WriteSpace(); output.Write(StorageStreamType == StorageStreamType.None ? BoxedTextColor.HexStorageStreamNameInvalid : BoxedTextColor.HexStorageStreamName, string.Format("{0}", storageStreamVM.RCNameVM.StringZ)); }
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) { output.Write(BoxedTextColor.Number, ((byte)MetadataTableVM.Table).ToString("X2")); output.WriteSpace(); output.Write(BoxedTextColor.HexTableName, MetadataTableVM.Table.ToString()); output.WriteSpace(); output.Write(BoxedTextColor.Punctuation, "("); output.Write(BoxedTextColor.Number, MetadataTableVM.Rows.ToString()); output.Write(BoxedTextColor.Punctuation, ")"); }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { if ((options & DocumentNodeWriteOptions.ToolTip) == 0) new NodePrinter().Write(output, decompiler, Document.ModuleDef, false); else { output.WriteModule(Document.ModuleDef.Name); output.WriteLine(); output.Write(BoxedTextColor.Text, TargetFrameworkInfo.Create(Document.ModuleDef).ToString()); output.WriteLine(); output.Write(BoxedTextColor.Text, TargetFrameworkUtils.GetArchString(Document.ModuleDef)); output.WriteLine(); output.WriteFilename(Document.Filename); } }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { if ((options & DocumentNodeWriteOptions.ToolTip) == 0) new NodePrinter().Write(output, decompiler, Document.AssemblyDef, false, Context.ShowAssemblyVersion, Context.ShowAssemblyPublicKeyToken); else { output.Write(Document.AssemblyDef); output.WriteLine(); output.Write(BoxedTextColor.Text, TargetFrameworkInfo.Create(Document.AssemblyDef.ManifestModule).ToString()); output.WriteLine(); output.Write(BoxedTextColor.Text, TargetFrameworkUtils.GetArchString(Document.AssemblyDef.ManifestModule)); output.WriteLine(); output.WriteFilename(Document.Filename); } }
/// <summary> /// ToString() /// </summary> /// <param name="options">Options</param> /// <returns></returns> public string ToString(DocumentNodeWriteOptions options = DocumentNodeWriteOptions.None) => ToString(Context.Decompiler, options);
/// <summary> /// ToString() /// </summary> /// <param name="decompiler">Decompiler</param> /// <param name="options">Options</param> /// <returns></returns> public string ToString(IDecompiler decompiler, DocumentNodeWriteOptions options = DocumentNodeWriteOptions.None) { var output = new StringBuilderTextColorOutput(); WriteCore(output, decompiler, options); return output.ToString(); }
/// <inheritdoc/> protected sealed override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.WriteFilename(Resource.Name);
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.HexCor20Header, dnSpy_AsmEditor_Resources.HexNode_Cor20_Header);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.Text, Message);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.Text, dnSpy_AsmEditor_Resources.HexNode_PE);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.Text, dnSpy_Resources.ResourcesFolder);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { output.Write(BoxedTextColor.Text, dnSpy_Resources.TreeViewFieldsFolder); if ((options & DocumentNodeWriteOptions.ToolTip) != 0) { output.WriteLine(); WriteScope(output, scope); } }
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.HexTablesStream, dnSpy_AsmEditor_Resources.HexNode_TablesStream);
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.HexStorageSignature, dnSpy_AsmEditor_Resources.HexNode_StorageSignature);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { if ((options & DocumentNodeWriteOptions.ToolTip) == 0) { new NodePrinter().Write(output, decompiler, Document); } else { output.Write(BoxedTextColor.Text, TargetFrameworkUtils.GetArchString(Document.PEImage.ImageNTHeaders.FileHeader.Machine)); output.WriteLine(); output.WriteFilename(Document.Filename); } }
/// <summary> /// Returns true if <see cref="WriteCore(ITextColorWriter, IDecompiler, DocumentNodeWriteOptions)"/> should show tokens /// </summary> /// <param name="options">Options</param> /// <returns></returns> protected bool GetShowToken(DocumentNodeWriteOptions options) => (options & DocumentNodeWriteOptions.ToolTip) != 0 || (options & DocumentNodeWriteOptions.Title) == 0 ? Context.ShowToken : false;
/// <summary> /// Writes the contents /// </summary> /// <param name="output">Output</param> /// <param name="decompiler">Decompiler</param> /// <param name="options">Options</param> public void Write(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => WriteCore(output, decompiler, options);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { if ((options & DocumentNodeWriteOptions.ToolTip) != 0) { output.Write(AssemblyRef); output.WriteLine(); WriteFilename(output); } else { new NodeFormatter().Write(output, decompiler, AssemblyRef, GetShowToken(options)); } }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => WriteCore(output, options);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { if ((options & DocumentNodeWriteOptions.ToolTip) != 0) { WriteMemberRef(output, decompiler, TypeRef); output.WriteLine(); WriteScope(output, TypeRef.Scope); } else { new NodeFormatter().Write(output, decompiler, TypeRef, GetShowToken(options)); } }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.Text, dnSpy_Resources.ReferencesFolder);
protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.HexPeOptionalHeader64, dnSpy_AsmEditor_Resources.HexNode_OptHeader64);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.WriteFilename(Path.GetFileName(document.Filename));
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { new NodeFormatter().WriteNamespace(output, decompiler, Name); if ((options & DocumentNodeWriteOptions.ToolTip) != 0) { output.WriteLine(); WriteFilename(output); } }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => new NodePrinter().Write(output, decompiler, TypeDef, GetShowToken(options));
/// <summary> /// Writes the contents /// </summary> /// <param name="output">Output</param> /// <param name="decompiler">Decompiler</param> /// <param name="options">Options</param> protected abstract void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { output.Write(BoxedTextColor.Text, dnSpy_Resources.DerivedTypes); if ((options & DocumentNodeWriteOptions.ToolTip) != 0) { output.WriteLine(); WriteFilename(output); } }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => new NodePrinter().WriteNamespace(output, decompiler, Name);
protected abstract void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.Comment, Message);
/// <summary> /// Returns true if <see cref="WriteCore(ITextColorWriter, IDecompiler, DocumentNodeWriteOptions)"/> should show tokens /// </summary> /// <param name="options">Options</param> /// <returns></returns> protected bool GetShowToken(DocumentNodeWriteOptions options) => (options & DocumentNodeWriteOptions.Title) != 0 ? false : Context.ShowToken;
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.Write(BoxedTextColor.Text, "Assembly Child");
/// <inheritdoc/> protected sealed override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => output.WriteFilename(resourceElement.Name);
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { var td = TryGetTypeDef(); if ((options & DocumentNodeWriteOptions.ToolTip) != 0) { WriteMemberRef(output, decompiler, td); output.WriteLine(); WriteFilename(output); } else { if (td is null) { output.Write(BoxedTextColor.Error, "???"); } else { new NodeFormatter().Write(output, decompiler, td, GetShowToken(options)); } } }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => new NodePrinter().Write(output, decompiler, ModuleRef, GetShowToken(options));
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) { var td = TryGetTypeDef(); if (td == null) { output.Write(BoxedTextColor.Error, "???"); } else { new NodePrinter().Write(output, decompiler, td, GetShowToken(options)); } }
protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => new NodePrinter().Write(output, decompiler, Document);