Emit verifiable code for SWF test suite.
authorRodrigo Kumpera <kumpera@gmail.com>
Tue, 27 Jul 2010 18:56:06 +0000 (15:56 -0300)
committerRodrigo Kumpera <kumpera@gmail.com>
Tue, 27 Jul 2010 19:00:27 +0000 (16:00 -0300)
2010-07-27 Rodrigo Kumpera  <rkumpera@novell.com>

* EventLogger.cs: Emit verifiable code. This was blocking the
SWF test suite from running under the verifier.

mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/EventLogger.cs

index 2782db474d897d2c652db8155c901fd7e22157f0..01ba1f8c1463f098e673ac68943e5e3d40e52d3d 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-27 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * EventLogger.cs: Emit verifiable code. This was blocking the SWF
+       test suite from running under the verifier.
+
 2010-06-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
 
        * TabControlTest.cs: New test to assert that getting focus is not
index f561b9ee80fa205d8b7515c13541ca979795cf5d..f0ef5d2d0cb016b897e8b2f8b5858f339fa06434 100644 (file)
@@ -125,10 +125,14 @@ namespace MonoTests.System.Windows.Forms
                        \r
                        TypeBuilder logType = module.DefineType ("Logger");\r
                        FieldBuilder logField = logType.DefineField ("log", ListType, FieldAttributes.Public);\r
-                       ConstructorBuilder logCtor = logType.DefineConstructor (MethodAttributes.Public, CallingConventions.HasThis, new Type [] {ListType, typeof (object)});\r
+                       ConstructorBuilder logCtor = logType.DefineConstructor (MethodAttributes.Public, CallingConventions.HasThis, new Type [] {ListType, itemType});\r
                        logCtor.DefineParameter (1, ParameterAttributes.None, "test");\r
                        logCtor.DefineParameter (2, ParameterAttributes.None, "obj");\r
                        ILGenerator logIL = logCtor.GetILGenerator ();\r
+
+                       logIL.Emit (OpCodes.Ldarg_0);
+                       logIL.Emit (OpCodes.Call, typeof (object).GetConstructor (Type.EmptyTypes));
+
                        logIL.Emit (OpCodes.Ldarg_0);\r
                        logIL.Emit (OpCodes.Ldarg_1);\r
                        logIL.Emit (OpCodes.Stfld, logField);\r