Browse Source

Fix output of varargs methods in disassembler

pull/1198/head
Siegfried Pammer 8 years ago
parent
commit
e704b89109
  1. 5
      ICSharpCode.Decompiler/Disassembler/DomExtensions.cs

5
ICSharpCode.Decompiler/Disassembler/DomExtensions.cs

@ -290,6 +290,8 @@ namespace ICSharpCode.Decompiler.Disassembler
for (int i = 0; i < methodSignature.ParameterTypes.Length; ++i) { for (int i = 0; i < methodSignature.ParameterTypes.Length; ++i) {
if (i > 0) if (i > 0)
output.Write(", "); output.Write(", ");
if (i == methodSignature.RequiredParameterCount)
output.Write("..., ");
methodSignature.ParameterTypes[i](ILNameSyntax.SignatureNoNamedTypeParameters); methodSignature.ParameterTypes[i](ILNameSyntax.SignatureNoNamedTypeParameters);
} }
output.Write(")"); output.Write(")");
@ -337,7 +339,8 @@ namespace ICSharpCode.Decompiler.Disassembler
{ {
switch (parentHandle.Kind) { switch (parentHandle.Kind) {
case HandleKind.MethodDefinition: case HandleKind.MethodDefinition:
new Metadata.MethodDefinition(module, (MethodDefinitionHandle)parentHandle).WriteTo(output); var methodDef = metadata.GetMethodDefinition((MethodDefinitionHandle)parentHandle);
new Metadata.TypeDefinition(module, methodDef.GetDeclaringType()).WriteTo(output, syntax);
break; break;
case HandleKind.ModuleReference: case HandleKind.ModuleReference:
output.Write('['); output.Write('[');

Loading…
Cancel
Save