diff options
author | Aleksey Kliger <aleksey@xamarin.com> | 2017-09-28 01:30:13 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2017-10-06 12:12:06 +0300 |
commit | 72c4a0ca0847c2c16e984866b05050e56595e421 (patch) | |
tree | 8db18c11fcc4b2db264a75fbb1ec2a6d532d8f41 | |
parent | 9685274a8af3683216d715e971ee24293a458212 (diff) |
[sre] Expect a new token for MonoArrayMethod and SignatureHelper
-rw-r--r-- | mono/metadata/sre.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mono/metadata/sre.c b/mono/metadata/sre.c index 03bd8881ed8..eb06bcf72cf 100644 --- a/mono/metadata/sre.c +++ b/mono/metadata/sre.c @@ -1191,16 +1191,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); } |