2004-05-25 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mono / metadata / reflection.h
index b2be9cfcf89a86472af4a087bdb0f261dc30e968..d31deae81772b73955842cde8eb6c3a16d97c9d0 100644 (file)
@@ -86,6 +86,7 @@ typedef struct {
 typedef struct {
        MonoObject object;
        MonoAssembly *assembly;
+       MonoObject *resolve_event_holder;
 } MonoReflectionAssembly;
 
 typedef struct {
@@ -166,6 +167,7 @@ typedef struct {
        MonoObject object;
        MonoReflectionType *type;
        MonoString *name;
+       MonoBoolean is_pinned;
 } MonoReflectionLocalBuilder;
 
 typedef struct {
@@ -280,6 +282,7 @@ typedef struct {
                guint32 offset;
                guint32 attrs;
        } sections [MONO_SECTION_MAX];
+       GHashTable *typespec;
        GHashTable *typeref;
        GHashTable *handleref;
        MonoGHashTable *tokens;
@@ -429,12 +432,15 @@ typedef struct {
 
 typedef struct {
        MonoReflectionType type;
-       MonoObject *refobj;
-       guint32 index;
+       MonoReflectionTypeBuilder *tbuilder;
+       MonoReflectionMethodBuilder *mbuilder;
        MonoString *name;
-       guint32 flags;
-       MonoArray *constraints;
-       guint32 initialized;
+       guint32 index;
+       MonoReflectionType *base_type;
+       MonoArray *iface_constraints;
+       MonoBoolean has_ctor_constraint;
+       MonoBoolean has_reference_type;
+       MonoBoolean has_value_type;
 } MonoReflectionGenericParam;
 
 typedef struct _MonoReflectionGenericInst MonoReflectionGenericInst;
@@ -601,15 +607,17 @@ MonoReflectionType* mono_reflection_create_runtime_class  (MonoReflectionTypeBui
 
 void mono_reflection_create_dynamic_method (MonoReflectionDynamicMethod *m);
 
-MonoReflectionGenericParam *mono_reflection_define_generic_parameter (MonoReflectionTypeBuilder *tb, MonoReflectionMethodBuilder *mb, MonoString *name, guint32 index);
-void mono_reflection_initialize_generic_parameter (MonoReflectionGenericParam *gparam);
+void        mono_reflection_initialize_generic_parameter (MonoReflectionGenericParam *gparam);
 
 MonoType*
-mono_reflection_bind_generic_parameters (MonoReflectionType *type, int type_argc, MonoType **types, MonoType *nested_in);
+mono_reflection_bind_generic_parameters (MonoReflectionType *type, int type_argc, MonoType **types);
 MonoReflectionMethod*
 mono_reflection_bind_generic_method_parameters (MonoReflectionMethod *method, MonoArray *types);
 void
-mono_reflection_generic_inst_initialize (MonoReflectionGenericInst *type, MonoArray *methods, MonoArray *ctors, MonoArray *fields, MonoArray *properties);
+mono_reflection_generic_inst_initialize (MonoReflectionGenericInst *type, MonoArray *methods, MonoArray *ctors, MonoArray *fields, MonoArray *properties, MonoArray *events);
+MonoReflectionEvent *
+mono_reflection_event_builder_get_event_info (MonoReflectionTypeBuilder *tb, MonoReflectionEventBuilder *eb);
+
 
 MonoArray  *mono_reflection_sighelper_get_signature_local (MonoReflectionSigHelper *sig);