Пример #1
0
        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();
        }
Пример #2
0
        public virtual void Decompile(Language language, ITextOutput output)
        {
            language.WriteComment(output, string.Empty);
            output.WriteOffsetComment(this);
            output.WriteDefinition(UIUtils.CleanUpName(Name), this, TextTokenType.Comment);
            string extra = null;

            if (r.ResourceType == ResourceType.AssemblyLinked)
            {
                extra = ((AssemblyLinkedResource)r).Assembly.FullName;
            }
            else if (r.ResourceType == ResourceType.Linked)
            {
                var file = ((LinkedResource)r).File;
                extra = string.Format("{0}, {1}, {2}", file.Name, file.ContainsNoMetaData ? "ContainsNoMetaData" : "ContainsMetaData", NumberVMUtils.ByteArrayToString(file.HashValue));
            }
            else if (r.ResourceType == ResourceType.Embedded)
            {
                extra = string.Format("{0} bytes", ((EmbeddedResource)r).Data.Length);
            }
            output.Write(string.Format(" ({0}{1}, {2})", extra == null ? string.Empty : string.Format("{0}, ", extra), r.ResourceType, r.Attributes), TextTokenType.Comment);
            output.WriteLine();
        }