Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikdasm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2015-11-18 12:19:56 +0300
committerZoltan Varga <vargaz@gmail.com>2015-11-18 12:19:56 +0300
commitd6db90d6780d5cdb37ef97ec36d0cb452ac70e9e (patch)
treed94dd67e893ac597197a07c79c5db9b9297751ae /Program.cs
parent3bf7a4b54385a2f3765a85c0bae23190169f5c0a (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.cs20
1 files changed, 19 insertions, 1 deletions
diff --git a/Program.cs b/Program.cs
index da197b2..1a8c39a 100644
--- a/Program.cs
+++ b/Program.cs
@@ -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)
{