https://bugzilla.novell.com/show_bug.cgi?id=378011

User [EMAIL PROTECTED] added comment
https://bugzilla.novell.com/show_bug.cgi?id=378011#c3





--- Comment #3 from Andrea Carlo Ornstein <[EMAIL PROTECTED]>  2008-04-09 
04:31:11 MST ---
in GetPopDelta and GetPushDelta
instruction.operand for FlowControll.Call aren't always a MethodReference
they can also be a CallSite

the patch has to be patched :) with

GetPopDelta:
        case StackBehaviour.Varpush:
                if (code.FlowControl != FlowControl.Call)
                        break;

!               IMethodSignature method =
(IMethodSignature)instruction.Operand;
                return IsVoid (method.ReturnType.ReturnType) ? 0 : 1;

GetPushDelta:
        case StackBehaviour.Varpop:
                if (code == OpCodes.Ret)
                        return IsVoid (current.ReturnType.ReturnType) ? 0 : 1;

                if (code.FlowControl != FlowControl.Call)
                        break;

!               IMethodSignature method =
(IMethodSignature)instruction.Operand;
                int count = method.Parameters.Count;
                if (method.HasThis && code != OpCodes.Newobj)
                        ++count;

                return count;


With this changes it seems to work for us.
Thanks


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to