diff options
author | Zoltan Varga <vargaz@gmail.com> | 2015-11-18 12:19:56 +0300 |
---|---|---|
committer | Zoltan Varga <vargaz@gmail.com> | 2015-11-18 12:19:56 +0300 |
commit | d6db90d6780d5cdb37ef97ec36d0cb452ac70e9e (patch) | |
tree | d94dd67e893ac597197a07c79c5db9b9297751ae /Program.cs | |
parent | 3bf7a4b54385a2f3765a85c0bae23190169f5c0a (diff) |
Add an '--assembly' option to dump the Assembly metadata table, the output is identical to monodis --assembly.
Diffstat (limited to 'Program.cs')
-rw-r--r-- | Program.cs | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -36,6 +36,7 @@ namespace Ildasm { string outputFile = null; string inputFile = null; + MetadataTableIndex? tableToDump = null; var compatLevel = CompatLevel.None; var flags = Flags.None; @@ -44,7 +45,8 @@ namespace Ildasm var p = new OptionSet () { { "help", v => printUsage = true }, - { "out", v => outputFile = v } + { "out", v => outputFile = v }, + { "assembly", v =>tableToDump = MetadataTableIndex.Assembly }, }; args = p.Parse (args).ToArray (); if (printUsage) { @@ -117,6 +119,22 @@ namespace Ildasm PrintUsage(); return 1; } + if (tableToDump.HasValue) + { + var tableDumper = new TableDumper(inputFile); + if (outputFile != null) + { + using (StreamWriter sw = new StreamWriter(outputFile, false)) + { + tableDumper.DumpTable(sw, tableToDump.Value); + } + } + else + { + tableDumper.DumpTable(Console.Out, tableToDump.Value); + } + return 0; + } var disassembler = new Disassembler(inputFile, outputFile, compatLevel, flags); if (outputFile != null) { |