X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fmetadata-internals.h;h=6b8fdcb44ca396a788f220bac28c4795f2bd4752;hb=0fa33056a6742b2ee02604596b355d661d9bdc41;hp=3c478158da88e67a4efa939159de2f8caf696fcf;hpb=624b8764d790a3fa3ee7ab06613c864709951cdf;p=mono.git diff --git a/mono/metadata/metadata-internals.h b/mono/metadata/metadata-internals.h index 3c478158da8..6b8fdcb44ca 100644 --- a/mono/metadata/metadata-internals.h +++ b/mono/metadata/metadata-internals.h @@ -111,6 +111,7 @@ typedef struct { GHashTable *delegate_end_invoke_cache; GHashTable *runtime_invoke_cache; GHashTable *runtime_invoke_vtype_cache; + GHashTable *runtime_invoke_sig_cache; /* * indexed by SignaturePointerPair @@ -389,6 +390,11 @@ struct _MonoImage { /* The loader used to load this image */ MonoImageLoader *loader; + // Containers for MonoGenericParams associated with this image but not with any specific class or method. Created on demand. + // This could happen, for example, for MonoTypes associated with TypeSpec table entries. + MonoGenericContainer *anonymous_generic_class_container; + MonoGenericContainer *anonymous_generic_method_container; + /* * No other runtime locks must be taken while holding this lock. * It's meant to be used only to mutate and query structures part of this image. @@ -715,19 +721,6 @@ mono_metadata_interfaces_from_typedef_full (MonoImage *image, MonoGenericContext *context, MonoError *error); -MonoArrayType * -mono_metadata_parse_array_full (MonoImage *image, - MonoGenericContainer *container, - const char *ptr, - const char **rptr); - -MONO_API MonoType * -mono_metadata_parse_type_full (MonoImage *image, - MonoGenericContainer *container, - short opt_attrs, - const char *ptr, - const char **rptr); - MONO_API MonoMethodSignature * mono_metadata_parse_method_signature_full (MonoImage *image, MonoGenericContainer *generic_container, @@ -739,7 +732,8 @@ mono_metadata_parse_method_signature_full (MonoImage *image, MONO_API MonoMethodHeader * mono_metadata_parse_mh_full (MonoImage *image, MonoGenericContainer *container, - const char *ptr); + const char *ptr, + MonoError *error); gboolean mono_method_get_header_summary (MonoMethod *method, MonoMethodHeaderSummary *summary); @@ -759,7 +753,8 @@ mono_metadata_parse_generic_inst (MonoImage *image, MonoGenericContainer *container, int count, const char *ptr, - const char **rptr); + const char **rptr, + MonoError *error); MonoGenericInst * mono_metadata_get_generic_inst (int type_argc, @@ -779,7 +774,7 @@ gboolean mono_metadata_generic_param_equal (MonoGenericParam *p1, MonoGenericParam *p2); void mono_dynamic_stream_reset (MonoDynamicStream* stream); -void mono_assembly_addref (MonoAssembly *assembly); +MONO_API void mono_assembly_addref (MonoAssembly *assembly); void mono_assembly_load_friends (MonoAssembly* ass); gboolean mono_assembly_has_skip_verification (MonoAssembly* ass); @@ -898,5 +893,14 @@ mono_method_get_wrapper_cache (MonoMethod *method); MonoType* mono_metadata_parse_type_checked (MonoImage *m, MonoGenericContainer *container, short opt_attrs, gboolean transient, const char *ptr, const char **rptr, MonoError *error); +MonoGenericContainer * +get_anonymous_container_for_image (MonoImage *image, gboolean is_mvar); + +char * +mono_image_set_description (MonoImageSet *); + +MonoImageSet * +mono_find_image_set_owner (void *ptr); + #endif /* __MONO_METADATA_INTERNALS_H__ */