Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / dynamic-image-internals.h
index 5b274071a880c494f66290304eaf09d2dbb7f3ea..bb1084e981ee9b3690626d5fe3bc44b2b25ce03b 100644 (file)
@@ -1,4 +1,5 @@
-/* 
+/**
+ * \file
  * Copyright 2016 Microsoft
  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
  */
@@ -23,15 +24,24 @@ typedef struct {
 } MonoILT;
 
 
+typedef enum {
+       MONO_DYN_IMAGE_TOK_NEW, /* assert if same token is registered already */
+       MONO_DYN_IMAGE_TOK_SAME_OK, /* allow collision only with the same object */
+       MONO_DYN_IMAGE_TOK_REPLACE, /* keep the new object, always */
+} MonoDynamicImageTokCollision;
+
 void
 mono_dynamic_images_init (void);
 
 void
-mono_dynamic_image_register_token (MonoDynamicImage *assembly, guint32 token, MonoObjectHandle obj);
+mono_dynamic_image_register_token (MonoDynamicImage *assembly, guint32 token, MonoObjectHandle obj, int tok_collision);
 
 gboolean
 mono_dynamic_image_is_valid_token (MonoDynamicImage *image, guint32 token);
 
+MonoObjectHandle
+mono_dynamic_image_get_registered_token (MonoDynamicImage *dynimage, guint32 token, MonoError *error);
+
 MonoDynamicImage*
 mono_dynamic_image_create (MonoDynamicAssembly *assembly, char *assembly_name, char *module_name);