2004-12-03 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / metadata-internals.h
index 81bcf7135df887ccb2aa1c0b6d8d4ddde71a5000..ea99c71b4d6af04ee8ba0ec183c671f681c1b502 100644 (file)
@@ -100,11 +100,6 @@ struct _MonoImage {
        GHashTable *memberref_signatures;
        GHashTable *helper_signatures;
 
-       /*
-        * Indexed by MonoGenericInst.
-        */
-       GHashTable *generic_inst_cache;
-
        /*
         * Indexes namespaces to hash tables that map class name to typedef token.
         */
@@ -210,12 +205,12 @@ struct _MonoDynamicImage {
        MonoGHashTable *method_aux_hash;
        gboolean run;
        gboolean save;
+       gboolean initial_image;
        guint32 pe_kind, machine;
        char *strong_name;
        guint32 strong_name_size;
        char *win32_res;
        guint32 win32_res_size;
-       MonoDynamicStream pefile;
        MonoDynamicStream sheap;
        MonoDynamicStream code; /* used to store method headers and bytecode */
        MonoDynamicStream resources; /* managed embedded resources */
@@ -226,6 +221,71 @@ struct _MonoDynamicImage {
        MonoDynamicTable tables [64];
 };
 
+MonoClass**
+mono_metadata_interfaces_from_typedef_full  (MonoImage             *image,
+                                            guint32                table_index,
+                                            guint                 *count,
+                                            MonoGenericContext    *context);
+
+MonoArrayType *
+mono_metadata_parse_array_full              (MonoImage             *image,
+                                            MonoGenericContainer  *generic_container,
+                                            const char            *ptr,
+                                            const char           **rptr);
+
+MonoType *
+mono_metadata_parse_type_full               (MonoImage             *image,
+                                            MonoGenericContainer  *generic_container,
+                                            MonoParseTypeMode      mode,
+                                            short                  opt_attrs,
+                                            const char            *ptr,
+                                            const char           **rptr);
+
+MonoType *
+mono_type_create_from_typespec_full         (MonoImage             *image,
+                                            MonoGenericContainer  *generic_container,
+                                            guint32                type_spec);
+
+MonoMethodSignature *
+mono_metadata_parse_signature_full          (MonoImage             *image,
+                                            MonoGenericContainer  *generic_container,
+                                            guint32                token);
+
+MonoMethodSignature *
+mono_metadata_parse_method_signature_full   (MonoImage             *image,
+                                            MonoGenericContainer  *generic_container,
+                                            int                     def,
+                                            const char             *ptr,
+                                            const char            **rptr);
+
+MonoMethodHeader *
+mono_metadata_parse_mh_full                 (MonoImage             *image,
+                                            MonoGenericContainer  *generic_container,
+                                            const char            *ptr);
+
+guint
+mono_metadata_generic_method_hash           (MonoGenericMethod     *gmethod);
+
+gboolean
+mono_metadata_generic_method_equal          (MonoGenericMethod     *g1,
+                                            MonoGenericMethod     *g2);
+
+MonoGenericInst *
+mono_metadata_parse_generic_inst            (MonoImage             *image,
+                                            MonoGenericContainer  *generic_container,
+                                            int                    count,
+                                            const char            *ptr,
+                                            const char           **rptr);
+
+MonoGenericInst *
+mono_metadata_lookup_generic_inst           (MonoGenericInst       *ginst);
+
+MonoGenericClass *
+mono_metadata_lookup_generic_class          (MonoGenericClass      *gclass);
+
+MonoGenericInst *
+mono_metadata_inflate_generic_inst          (MonoGenericInst       *ginst,
+                                            MonoGenericContext    *context);
 
 #endif /* __MONO_METADATA_INTERNALS_H__ */