X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmethod-builder.c;h=102422006765095f05857fcec2b5f48fe8e6454e;hb=2c09f50906319fad596cac81aab218d1d5eba22f;hp=18410dd757a008f624ed4ea8fbfec5941d384fb0;hpb=3331634f37c395ea87d15a2f3338b2bc66a8470a;p=mono.git diff --git a/mono/metadata/method-builder.c b/mono/metadata/method-builder.c index 18410dd757a..10242200676 100644 --- a/mono/metadata/method-builder.c +++ b/mono/metadata/method-builder.c @@ -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; +}