* ConvertTest.cs: Avoid false positive in ChangeType test.
[mono.git] / mono / metadata / method-builder.c
index 18410dd757a008f624ed4ea8fbfec5941d384fb0..102422006765095f05857fcec2b5f48fe8e6454e 100644 (file)
@@ -4,8 +4,8 @@
  * Author:
  *   Paolo Molaro (lupus@ximian.com)
  *
- * (C) 2002 Ximian, Inc.  http://www.ximian.com
- *
+ * Copyright 2002-2003 Ximian, Inc (http://www.ximian.com)
+ * Copyright 2004-2009 Novell, Inc (http://www.novell.com)
  */
 
 #include "config.h"
@@ -139,7 +139,7 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
 
        image = mb->method->klass->image;
 
-       mono_loader_lock ();
+       mono_loader_lock (); /*FIXME I think this lock can go.*/
        if (mb->dynamic) {
                method = mb->method;
 
@@ -187,6 +187,11 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
        header->num_locals = mb->locals;
        header->init_locals = TRUE;
 
+       header->num_clauses = mb->num_clauses;
+       header->clauses = mb->clauses;
+
+       method->skip_visibility = mb->skip_visibility;
+
        mw = (MonoMethodWrapper*) mb->method;
        i = g_list_length (mw->method_data);
        if (i) {
@@ -518,3 +523,10 @@ mono_mb_emit_add_to_local (MonoMethodBuilder *mb, guint16 local, gint32 incr)
        mono_mb_emit_byte (mb, CEE_ADD);
        mono_mb_emit_stloc (mb, local); 
 }
+
+void
+mono_mb_set_clauses (MonoMethodBuilder *mb, int num_clauses, MonoExceptionClause *clauses)
+{
+       mb->num_clauses = num_clauses;
+       mb->clauses = clauses;
+}