From: Aleksey Kliger Date: Wed, 27 Sep 2017 22:30:13 +0000 (-0400) Subject: [sre] Expect a new token for MonoArrayMethod and SignatureHelper X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mono.git;a=commitdiff_plain;h=b45143416802d23bbd8963bf2e15117385d95b76 [sre] Expect a new token for MonoArrayMethod and SignatureHelper --- diff --git a/mono/metadata/sre.c b/mono/metadata/sre.c index b899c830e78..29632463e1c 100644 --- a/mono/metadata/sre.c +++ b/mono/metadata/sre.c @@ -1197,16 +1197,20 @@ mono_image_create_token (MonoDynamicImage *assembly, MonoObjectHandle obj, /*g_print ("got token 0x%08x for %s\n", token, f->field->name);*/ } else if (strcmp (klass->name, "MonoArrayMethod") == 0) { MonoReflectionArrayMethodHandle m = MONO_HANDLE_CAST (MonoReflectionArrayMethod, obj); + /* always returns a fresh token */ guint32 array_token = mono_image_get_array_token (assembly, m, error); if (!is_ok (error)) goto leave; token = array_token; + how_collide = MONO_DYN_IMAGE_TOK_NEW; } else if (strcmp (klass->name, "SignatureHelper") == 0) { MonoReflectionSigHelperHandle s = MONO_HANDLE_CAST (MonoReflectionSigHelper, obj); + /* always returns a fresh token */ guint32 sig_token = MONO_TOKEN_SIGNATURE | mono_image_get_sighelper_token (assembly, s, error); if (!is_ok (error)) goto leave; token = sig_token; + how_collide = MONO_DYN_IMAGE_TOK_NEW; } else { g_error ("requested token for %s\n", klass->name); }