Пример #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
		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
		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
		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
 /// <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
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			output.Write(BoxedTextColor.Text, Message);
Пример #19
0
		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);
 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
		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
        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
		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
		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));
     }
 }
Пример #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
		protected override void WriteCore(ITextColorWriter output, IDecompiler decompiler, DocumentNodeWriteOptions options) =>
			output.WriteFilename(Path.GetFileName(document.Filename));
Пример #35
0
 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);
 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
 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
		protected abstract void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options);
 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
 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
 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);