|
From: <exo...@us...> - 2003-07-13 13:27:10
|
Update of /cvsroot/nmock/nmock/src/NMock/Dynamic
In directory sc8-pr-cvs1:/tmp/cvs-serv24746/src/NMock/Dynamic
Modified Files:
ClassGenerator.cs
Log Message:
added support for remotable mocks
Index: ClassGenerator.cs
===================================================================
RCS file: /cvsroot/nmock/nmock/src/NMock/Dynamic/ClassGenerator.cs,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** ClassGenerator.cs 27 Jun 2003 21:17:10 -0000 1.11
--- ClassGenerator.cs 13 Jul 2003 13:27:06 -0000 1.12
***************
*** 53,69 ****
AssemblyBuilder assemblyBuilder = appDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("MockModule");
! Type superClass;
! Type[] interfaces;
! if (originalType.IsInterface)
! {
! superClass = null;
! interfaces = new Type[] {originalType};
! }
! else
! {
! superClass = originalType;
! interfaces = new Type[0];
! }
! return moduleBuilder.DefineType(name, TypeAttributes.Public, superClass, interfaces);
}
--- 53,67 ----
AssemblyBuilder assemblyBuilder = appDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("MockModule");
! return moduleBuilder.DefineType(name, TypeAttributes.Public, getSuperClass(originalType), getInterfaces(originalType));
! }
!
! protected virtual Type getSuperClass(Type originalType)
! {
! return (originalType.IsInterface) ? null : originalType;
! }
!
! protected virtual Type[] getInterfaces(Type originalType)
! {
! return (originalType.IsInterface) ? new Type[] { originalType } : new Type[0];
}
|