Browse Source

Fix GetPopDelta() for calli instructions that call instance methods.

pull/252/merge
Daniel Grunwald 14 years ago
parent
commit
0c9faf13f5
  1. 4
      ICSharpCode.Decompiler/CecilExtensions.cs

4
ICSharpCode.Decompiler/CecilExtensions.cs

@ -100,8 +100,10 @@ namespace ICSharpCode.Decompiler @@ -100,8 +100,10 @@ namespace ICSharpCode.Decompiler
IMethodSignature method = (IMethodSignature) instruction.Operand;
int count = method.HasParameters ? method.Parameters.Count : 0;
if (code == OpCodes.Calli || (method.HasThis && code != OpCodes.Newobj))
if (method.HasThis && code != OpCodes.Newobj)
++count;
if (code == OpCodes.Calli)
++count; // calli takes a function pointer in additional to the normal args
return count;
}

Loading…
Cancel
Save