コード例 #1
0
        /// <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());
        }
コード例 #2
0
ファイル: BaseTypeNodeImpl.cs プロジェクト: manojdjoshi/dnSpy
		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));
		}
コード例 #3
0
		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);
			}
		}
コード例 #4
0
ファイル: MetaDataTableNode.cs プロジェクト: 0xd4d/dnSpy
		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, ")");
		}
コード例 #5
0
ファイル: ImageSectionHeaderNode.cs プロジェクト: 0xd4d/dnSpy
		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));
		}
コード例 #6
0
		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);
			}
		}
コード例 #7
0
 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));
 }
コード例 #8
0
 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, ")");
 }
コード例 #9
0
 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, ")");
 }
コード例 #10
0
 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));
 }
コード例 #11
0
 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);
     }
 }
コード例 #12
0
		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);
			}
		}
コード例 #13
0
		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);
			}
		}
コード例 #14
0
		/// <summary>
		/// ToString()
		/// </summary>
		/// <param name="options">Options</param>
		/// <returns></returns>
		public string ToString(DocumentNodeWriteOptions options = DocumentNodeWriteOptions.None) =>
			ToString(Context.Decompiler, options);
コード例 #15
0
		/// <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();
		}
コード例 #16
0
ファイル: ResourceNode.cs プロジェクト: dukeofdisaster/dnSpy
 /// <inheritdoc/>
 protected sealed override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 output.WriteFilename(Resource.Name);
コード例 #17
0
		protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.HexCor20Header, dnSpy_AsmEditor_Resources.HexNode_Cor20_Header);
コード例 #18
0
ファイル: MessageNodeImpl.cs プロジェクト: manojdjoshi/dnSpy
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.Text, Message);
コード例 #19
0
ファイル: PENode.cs プロジェクト: manojdjoshi/dnSpy
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.Text, dnSpy_AsmEditor_Resources.HexNode_PE);
コード例 #20
0
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.Text, dnSpy_Resources.ResourcesFolder);
コード例 #21
0
 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);
     }
 }
コード例 #22
0
ファイル: TablesStreamNode.cs プロジェクト: 0xd4d/dnSpy
		protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.HexTablesStream, dnSpy_AsmEditor_Resources.HexNode_TablesStream);
コード例 #23
0
		protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.HexStorageSignature, dnSpy_AsmEditor_Resources.HexNode_StorageSignature);
コード例 #24
0
ファイル: PEDocumentNodeImpl.cs プロジェクト: dotfornet/dnSPy
        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);
            }
        }
コード例 #25
0
 /// <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;
コード例 #26
0
 /// <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);
コード例 #27
0
 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));
     }
 }
コード例 #28
0
ファイル: StorageStreamNode.cs プロジェクト: 0xd4d/dnSpy
		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));
		}
コード例 #29
0
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options)
 {
 }
コード例 #30
0
ファイル: HexNode.cs プロジェクト: manojdjoshi/dnSpy
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) => WriteCore(output, options);
コード例 #31
0
 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));
     }
 }
コード例 #32
0
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 output.Write(BoxedTextColor.Text, dnSpy_Resources.ReferencesFolder);
コード例 #33
0
		protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.HexPeOptionalHeader64, dnSpy_AsmEditor_Resources.HexNode_OptHeader64);
コード例 #34
0
ファイル: NewDsDocument.cs プロジェクト: manojdjoshi/dnSpy
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			output.WriteFilename(Path.GetFileName(document.Filename));
コード例 #35
0
ファイル: NamespaceNodeImpl.cs プロジェクト: yaegaki/dnSpy
 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);
     }
 }
コード例 #36
0
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 new NodePrinter().Write(output, decompiler, TypeDef, GetShowToken(options));
コード例 #37
0
 /// <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);
コード例 #38
0
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 output.WriteFilename(Path.GetFileName(document.Filename));
コード例 #39
0
 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);
     }
 }
コード例 #40
0
 /// <summary>
 /// ToString()
 /// </summary>
 /// <param name="options">Options</param>
 /// <returns></returns>
 public string ToString(DocumentNodeWriteOptions options = DocumentNodeWriteOptions.None) =>
 ToString(Context.Decompiler, options);
コード例 #41
0
ファイル: NamespaceNodeImpl.cs プロジェクト: zz110/dnSpy
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 new NodePrinter().WriteNamespace(output, decompiler, Name);
コード例 #42
0
 protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) =>
 output.Write(BoxedTextColor.HexStorageSignature, dnSpy_AsmEditor_Resources.HexNode_StorageSignature);
コード例 #43
0
ファイル: HexNode.cs プロジェクト: manojdjoshi/dnSpy
		protected abstract void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options);
コード例 #44
0
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 output.Write(BoxedTextColor.Comment, Message);
コード例 #45
0
 /// <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;
コード例 #46
0
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 output.Write(BoxedTextColor.Text, "Assembly Child");
コード例 #47
0
		/// <inheritdoc/>
		protected sealed override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			output.WriteFilename(resourceElement.Name);
コード例 #48
0
ファイル: PENode.cs プロジェクト: idkwim/dnSpy
 protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
 output.Write(BoxedTextColor.Text, dnSpy_AsmEditor_Resources.HexNode_PE);
コード例 #49
0
        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));
                }
            }
        }
コード例 #50
0
		/// <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;
コード例 #51
0
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			new NodePrinter().Write(output, decompiler, ModuleRef, GetShowToken(options));
コード例 #52
0
ファイル: TablesStreamNode.cs プロジェクト: YUJUNWEIF/dnSpy-1
 protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options) =>
 output.Write(BoxedTextColor.HexTablesStream, dnSpy_AsmEditor_Resources.HexNode_TablesStream);
コード例 #53
0
        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));
            }
        }
コード例 #54
0
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			new NodePrinter().Write(output, decompiler, Document);