public virtual void WriteShort(ITextOutput output, ILanguage language, bool showOffset) { language.WriteCommentBegin(output, true); output.WriteOffsetComment(this, showOffset); output.WriteDefinition(NameUtils.CleanName(Name), this, TextTokenKind.Comment); string extra = null; switch (resource.ResourceType) { case ResourceType.AssemblyLinked: extra = ((AssemblyLinkedResource)resource).Assembly.FullName; break; case ResourceType.Linked: var file = ((LinkedResource)resource).File; extra = string.Format("{0}, {1}, {2}", file.Name, file.ContainsNoMetaData ? "ContainsNoMetaData" : "ContainsMetaData", NumberVMUtils.ByteArrayToString(file.HashValue)); break; case ResourceType.Embedded: extra = string.Format(dnSpy_Shared_Resources.NumberOfBytes, ((EmbeddedResource)resource).Data.Length); break; } output.Write(string.Format(" ({0}{1}, {2})", extra == null ? string.Empty : string.Format("{0}, ", extra), resource.ResourceType, resource.Attributes), TextTokenKind.Comment); language.WriteCommentEnd(output, true); output.WriteLine(); }
public static bool Decompile(IDecompileNodeContext context, Stream stream, string name) { if (stream == null || stream.Length > 500 * 1024) { return(false); } stream.Position = 0; FileType type = GuessFileType.DetectFileType(stream); if (type == FileType.Binary) { return(false); } stream.Position = 0; context.Output.Write(FileReader.OpenStream(stream, Encoding.UTF8).ReadToEnd(), TextTokenKind.Text); string ext; if (type == FileType.Xml) { ext = ".xml"; } else { try { ext = Path.GetExtension(NameUtils.CleanName(name)); } catch (ArgumentException) { ext = ".txt"; } } context.HighlightingExtension = ext; return(true); }
public virtual void WriteShort(ITextOutput output, ILanguage language, bool showOffset) { language.WriteCommentBegin(output, true); output.WriteOffsetComment(this, showOffset); output.WriteDefinition(NameUtils.CleanName(Name), this, TextTokenKind.Comment); output.Write(string.Format(" = {0}", ValueString), TextTokenKind.Comment); language.WriteCommentEnd(output, true); output.WriteLine(); }
void DecompileUnknown(IFileTreeNodeData node) { var decompileSelf = node as IDecompileSelf; if (decompileSelf != null && decompileNodeContext != null) { if (decompileSelf.Decompile(decompileNodeContext)) { return; } } language.WriteCommentLine(output, NameUtils.CleanName(node.ToString(language))); }
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 override void WriteShort(ITextOutput output, ILanguage language, bool showOffset) { var smartOutput = output as ISmartTextOutput; if (smartOutput != null) { language.WriteCommentBegin(output, true); output.WriteOffsetComment(this, showOffset); smartOutput.AddUIElement(() => { return(new System.Windows.Controls.Image { Source = imageSource, }); }); output.Write(" = ", TextTokenKind.Comment); output.WriteDefinition(NameUtils.CleanName(Name), this, TextTokenKind.Comment); language.WriteCommentEnd(output, true); output.WriteLine(); return; } base.WriteShort(output, language, showOffset); }
void Decompile(IModuleReferenceNode node) { language.WriteCommentLine(output, NameUtils.CleanName(node.ModuleRef.ToString())); }
void Decompile(IDerivedTypeNode node) { language.WriteCommentLine(output, NameUtils.CleanName(node.TypeDef.ReflectionFullName)); }
public static string EscapeMenuItemHeader(string s) { return(NameUtils.CleanName(s).Replace("_", "__")); }