Mon Apr 15 11:37:33 CEST 2002 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / metadata / reflection.h
index 65f9d7a790b1f4b148c84d91be18af9572d4faeb..4b599ea424e753dd9178ca7a7d767629a93aa176 100644 (file)
@@ -28,26 +28,10 @@ typedef struct {
  * The followinbg structure must match the C# implementation in our corlib.
  */
 
-typedef struct {
-       MonoObject object;
-       MonoType  *type;
-} MonoReflectionType;
-
-typedef struct {
+struct _MonoReflectionMethod {
        MonoObject object;
        MonoMethod *method;
-} MonoReflectionMethod;
-
-typedef struct {
-       MonoObject obj;
-       MonoReflectionMethod *method;
-       MonoArray  *args;               
-       MonoArray  *names;              
-       MonoArray  *arg_types;  
-       MonoObject *ctx;
-       MonoObject *rval;
-       MonoObject *exc;
-} MonoMethodMessage;
+};
 
 typedef struct {
        MonoObject object;
@@ -93,6 +77,11 @@ typedef struct {
        guint32 AttrsImpl;
 } MonoReflectionParameter;
 
+typedef struct {
+       MonoObject object;
+       MonoAssembly *assembly;
+} MonoReflectionAssembly;
+
 typedef struct {
        MonoReflectionType *utype;
        MonoArray *values;
@@ -127,7 +116,7 @@ typedef struct {
        MonoString *name_space;
        MonoReflectionType *parent;
        MonoReflectionType *etype;
-       MonoAssembly *assembly;
+       MonoReflectionAssembly *assembly;
        guint32 attrs;
        guint32 rank;
        MonoBoolean isbyref, ispointer, isprimitive;
@@ -233,17 +222,13 @@ typedef struct {
        MonoDynamicTable tables [64];
 } MonoDynamicAssembly;
 
-typedef struct {
-       MonoObject object;
-       MonoAssembly *assembly;
-} MonoReflectionAssembly;
-
 typedef struct {
        MonoReflectionAssembly assembly;
        MonoDynamicAssembly *dynamic_assembly;
        MonoReflectionMethodBuilder *entry_point;
        MonoArray *modules;
        MonoString *name;
+       MonoString *dir;
        MonoArray *cattrs;
 } MonoReflectionAssemblyBuilder;
 
@@ -355,6 +340,7 @@ typedef struct {
 
 
 
+char*         mono_type_get_name         (MonoType *type);
 int           mono_reflection_parse_type (char *name, MonoTypeNameParse *info);
 MonoType*     mono_reflection_get_type   (MonoImage* image, MonoTypeNameParse *info, gboolean ignorecase);
 
@@ -372,13 +358,6 @@ MonoReflectionEvent*    mono_event_get_object    (MonoDomain *domain, MonoClass
 /* note: this one is slightly different: we keep the whole array of params in the cache */
 MonoReflectionParameter** mono_param_get_objects  (MonoDomain *domain, MonoMethod *method);
 
-
-typedef MonoObject* (*MonoInvokeFunc) (MonoMethod *method, void *obj, void **params);
-
-extern MonoInvokeFunc mono_default_runtime_invoke;
-
-void        mono_install_runtime_invoke (MonoInvokeFunc func);
-MonoObject* mono_runtime_invoke         (MonoMethod *method, void *obj, void **params);
 MonoArray*  mono_reflection_get_custom_attrs (MonoObject *obj);
 MonoArray*  mono_reflection_get_custom_attrs_blob (MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *porpValues, MonoArray *fields, MonoArray* fieldValues);