Tue Jul 31 20:13:59 CEST 2001 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / metadata / class.h
index 8bb6da655afa90ef8173185bcad0d181a434f7b4..114f93afd1b927f1df614a2e6ba7267630b4b17b 100644 (file)
@@ -8,16 +8,23 @@ typedef struct {
        MonoFieldType *type;
        int            offset;
        guint32        flags;
-} MonoClassFields;
-       
-typedef struct {
+} MonoClassField;
+
+typedef struct _MonoClass MonoClass;
+
+struct _MonoClass {
        MonoImage *image;
        guint32    type_token;
 
+       guint inited : 1;
+
+       MonoClass *parent;
+       
        /*
         * Computed object instance size, total.
         */
        int        instance_size;
+       int        class_size;
 
 
        /*
@@ -32,12 +39,15 @@ typedef struct {
        /*
         * Field information: Type and location from object base
         */
-       MonoClassFields *fields;
-} MonoClass;
+       MonoClassField *fields;
+       /*
+        * After the fields, there is room for the static fields...
+        */
+};
 
 MonoClass *mono_class_get       (MonoImage *image, guint32 type_token);
-void       mono_class_init      (void);
 
-int        mono_field_type_size (MonoFieldType *ft);
+int             mono_field_type_size (MonoFieldType *ft);
+MonoClassField *mono_class_get_field (MonoClass *class, guint32 field_token);
 
 #endif /* _MONO_CLI_CLASS_H_ */