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 @@ -290,6 +290,8 @@ namespace ICSharpCode.Decompiler.Disassembler
for (int i = 0; i < methodSignature.ParameterTypes.Length; ++i) {
if (i > 0)
output.Write(", ");
if (i == methodSignature.RequiredParameterCount)
output.Write("..., ");
methodSignature.ParameterTypes[i](ILNameSyntax.SignatureNoNamedTypeParameters);
}
output.Write(")");
@ -337,7 +339,8 @@ namespace ICSharpCode.Decompiler.Disassembler @@ -337,7 +339,8 @@ namespace ICSharpCode.Decompiler.Disassembler
{
switch (parentHandle.Kind) {
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;
case HandleKind.ModuleReference:
output.Write('[');

Loading…
Cancel
Save