|
From: <nic...@us...> - 2003-06-27 21:34:11
|
Update of /cvsroot/nmock/nmock/src/NMock/Dynamic
In directory sc8-pr-cvs1:/tmp/cvs-serv27171/src/NMock/Dynamic
Modified Files:
ClassGenerator.cs
Log Message:
Corrected msil to handle 64 bit arguments
Index: ClassGenerator.cs
===================================================================
RCS file: /cvsroot/nmock/nmock/src/NMock/Dynamic/ClassGenerator.cs,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** ClassGenerator.cs 1 Jun 2003 09:48:49 -0000 1.10
--- ClassGenerator.cs 27 Jun 2003 21:17:10 -0000 1.11
***************
*** 125,133 ****
private void EmitMethodSignature(MethodInfo methodInfo, Type[] paramTypes, ILGenerator il)
{
! foreach (Type paramType in paramTypes)
! {
! il.DeclareLocal(paramType);
! }
!
il.Emit(OpCodes.Ldarg_0);
il.Emit(OpCodes.Ldfld, mockFieldBuilder);
--- 125,129 ----
private void EmitMethodSignature(MethodInfo methodInfo, Type[] paramTypes, ILGenerator il)
{
! il.DeclareLocal( typeof(object) );
il.Emit(OpCodes.Ldarg_0);
il.Emit(OpCodes.Ldfld, mockFieldBuilder);
***************
*** 175,183 ****
}
il.DeclareLocal(returnType);
! il.Emit(OpCodes.Stloc_0);
Label l = il.DefineLabel();
il.Emit(OpCodes.Br_S, l);
il.MarkLabel(l);
! il.Emit(OpCodes.Ldloc_0);
}
il.Emit(OpCodes.Ret);
--- 171,179 ----
}
il.DeclareLocal(returnType);
! il.Emit(OpCodes.Stloc_1);
Label l = il.DefineLabel();
il.Emit(OpCodes.Br_S, l);
il.MarkLabel(l);
! il.Emit(OpCodes.Ldloc_1);
}
il.Emit(OpCodes.Ret);
|