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:
Diffstat (limited to 'Disassembler.cs')
-rw-r--r--Disassembler.cs34
1 files changed, 31 insertions, 3 deletions
diff --git a/Disassembler.cs b/Disassembler.cs
index 063e294..56c9778 100644
--- a/Disassembler.cs
+++ b/Disassembler.cs
@@ -2029,9 +2029,37 @@ namespace Ildasm
for (int i = 0; i < referencedAssemblies.Length; i++)
{
AssemblyName asm = referencedAssemblies[i];
- lw.Write(".assembly extern {0}{1}",
- asm.ContentType == AssemblyContentType.WindowsRuntime && (compat == CompatLevel.None || compat >= CompatLevel.V45) ? "windowsruntime " : "",
- QuoteIdentifier(asm.Name));
+ lw.Write(".assembly extern ");
+ if ((asm.Flags & AssemblyNameFlags.Retargetable) != 0)
+ {
+ lw.Write("retargetable ");
+ }
+ if (asm.ContentType == AssemblyContentType.WindowsRuntime && (compat == CompatLevel.None || compat >= CompatLevel.V45))
+ {
+ lw.Write("windowsruntime ");
+ }
+ switch (asm.ProcessorArchitecture)
+ {
+ case ProcessorArchitecture.MSIL:
+ lw.Write("cil ");
+ break;
+ case ProcessorArchitecture.X86:
+ lw.Write("x86 ");
+ break;
+ case ProcessorArchitecture.IA64:
+ lw.Write("ia64 ");
+ break;
+ case ProcessorArchitecture.Amd64:
+ lw.Write("amd64 ");
+ break;
+ case ProcessorArchitecture.Arm:
+ if (compat == CompatLevel.None)
+ {
+ lw.Write("/*arm*/ ");
+ }
+ break;
+ }
+ lw.Write(QuoteIdentifier(asm.Name));
if (asm.Name != this.referencedAssemblies[resolvedAssemblies[i]])
{
lw.Write(" as {0}", QuoteIdentifier(this.referencedAssemblies[resolvedAssemblies[i]]));