From 7b089d55499e00ea0934f07ffd99f7b6475521ef Mon Sep 17 00:00:00 2001 From: kumpera Date: Mon, 21 Jun 2010 13:17:10 +0000 Subject: [PATCH] 2010-06-21 Rodrigo Kumpera * object-internals.h: Map new PropertyBuilder fields. * reflection.c (property_encode_signature): Emit an instance signature if property's callconv is hasthis. * appdomain.c: Bump corlib version. git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mono@159261 e3ebcda4-bce8-0310-ba0a-eca2169e7518 --- mono/metadata/ChangeLog | 9 +++++++++ mono/metadata/appdomain.c | 2 +- mono/metadata/object-internals.h | 6 ++++++ mono/metadata/reflection.c | 5 ++++- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index 6f7d17e60..be9a390c6 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,12 @@ +2010-06-21 Rodrigo Kumpera + + * object-internals.h: Map new PropertyBuilder fields. + + * reflection.c (property_encode_signature): Emit an instance + signature if property's callconv is hasthis. + + * appdomain.c: Bump corlib version. + 2010-06-20 Jb Evain * metadata-verify.c: do not consider the assembly invalid if it diff --git a/mono/metadata/appdomain.c b/mono/metadata/appdomain.c index 64a3fcf47..731ef771e 100644 --- a/mono/metadata/appdomain.c +++ b/mono/metadata/appdomain.c @@ -73,7 +73,7 @@ * Changes which are already detected at runtime, like the addition * of icalls, do not require an increment. */ -#define MONO_CORLIB_VERSION 90 +#define MONO_CORLIB_VERSION 91 typedef struct { diff --git a/mono/metadata/object-internals.h b/mono/metadata/object-internals.h index 76c76dfc6..26cc1c40c 100644 --- a/mono/metadata/object-internals.h +++ b/mono/metadata/object-internals.h @@ -1066,6 +1066,12 @@ typedef struct { MonoReflectionMethodBuilder *set_method; MonoReflectionMethodBuilder *get_method; gint32 table_idx; + MonoObject *type_builder; + MonoArray *returnModReq; + MonoArray *returnModOpt; + MonoArray *paramModReq; + MonoArray *paramModOpt; + guint32 call_conv; } MonoReflectionPropertyBuilder; struct _MonoReflectionModule { diff --git a/mono/metadata/reflection.c b/mono/metadata/reflection.c index 7f2ff72f6..eeca3793f 100644 --- a/mono/metadata/reflection.c +++ b/mono/metadata/reflection.c @@ -1983,7 +1983,10 @@ property_encode_signature (MonoDynamicImage *assembly, MonoReflectionPropertyBui if (!mb && smb && smb->parameters) nparams = mono_array_length (smb->parameters) - 1; sigbuffer_init (&buf, 32); - sigbuffer_add_byte (&buf, 0x08); + if (fb->call_conv & 0x20) + sigbuffer_add_byte (&buf, 0x28); + else + sigbuffer_add_byte (&buf, 0x08); sigbuffer_add_value (&buf, nparams); if (mb) { encode_reflection_type (assembly, (MonoReflectionType*)mb->rtype, &buf); -- 2.11.4.GIT