]> git.draconx.ca Git - gob-dx.git/blobdiff - src/treefuncs.h
Release 1.99.2
[gob-dx.git] / src / treefuncs.h
index f7ba204bb362ef3376e7fbeafe915ae13a296433..33801d83fe324271575d7c1fd2de588a4ec0c66c 100644 (file)
@@ -60,6 +60,10 @@ enum {
        PROPERTY_NODE,
        METHOD_NODE,
        VARIABLE_NODE,
+       ENUMDEF_NODE,
+       ENUMVALUE_NODE,
+       FLAGS_NODE,
+       ERROR_NODE,
        LAST_NODE_TYPE
 };
 
@@ -73,6 +77,10 @@ typedef struct _Argument Argument;
 typedef struct _Property Property;
 typedef struct _Method Method;
 typedef struct _Variable Variable;
+typedef struct _EnumDef EnumDef;
+typedef struct _EnumValue EnumValue;
+typedef struct _Flags Flags;
+typedef struct _Error Error;
 
 
 struct _Argument {
@@ -105,11 +113,39 @@ struct _Class {
        NodeType type;
        char * otype;
        char * ptype;
-       char * bonobo_x_class;
+       char * bonobo_object_class;
        char * chunk_size;
+       GList * interfaces;
        GList * nodes;
 };
 
+struct _EnumDef {
+       NodeType type;
+       char * etype;
+       char * prefix;
+       GList * values;
+};
+
+struct _EnumValue {
+       NodeType type;
+       char * name;
+       char * value;
+};
+
+struct _Error {
+       NodeType type;
+       char * etype;
+       char * prefix;
+       GList * values;
+};
+
+struct _Flags {
+       NodeType type;
+       char * ftype;
+       char * prefix;
+       GList * values;
+};
+
 struct _FuncArg {
        NodeType type;
        Type * atype;
@@ -134,7 +170,8 @@ struct _Method {
        int ccode_line;
        gboolean vararg;
        int unique_id;
-       gboolean bonobo_x_func;
+       gboolean bonobo_object_func;
+       char * interface;
 };
 
 struct _Property {
@@ -185,6 +222,10 @@ union _Node {
        CCode ccode;
        Check check;
        Class class;
+       EnumDef enumdef;
+       EnumValue enumvalue;
+       Error error;
+       Flags flags;
        FuncArg funcarg;
        Method method;
        Property property;