/* Generated by generate_treefuncs.pl from treefuncs.def! * Do not edit by hand! */ #ifndef TREEFUNCS_H #define TREEFUNCS_H /* for ccode type */ enum { A_CCODE, AT_CCODE, C_CCODE, H_CCODE, HT_CCODE, PH_CCODE }; /* check type */ enum { NULL_CHECK, TYPE_CHECK, LT_CHECK, GT_CHECK, LE_CHECK, GE_CHECK, EQ_CHECK, NE_CHECK }; /* scope type */ enum { NO_SCOPE, PUBLIC_SCOPE, PRIVATE_SCOPE, PROTECTED_SCOPE, CLASS_SCOPE }; /* method type */ enum { REGULAR_METHOD, INIT_METHOD, CLASS_INIT_METHOD, VIRTUAL_METHOD, SIGNAL_LAST_METHOD, SIGNAL_FIRST_METHOD, OVERRIDE_METHOD }; typedef long NodeType; enum { CLASS_NODE, TYPE_NODE, CCODE_NODE, CHECK_NODE, FUNCARG_NODE, ARGUMENT_NODE, PROPERTY_NODE, METHOD_NODE, VARIABLE_NODE, LAST_NODE_TYPE }; typedef union _Node Node; typedef struct _Class Class; typedef struct _Type Type; typedef struct _CCode CCode; typedef struct _Check Check; typedef struct _FuncArg FuncArg; typedef struct _Argument Argument; typedef struct _Property Property; typedef struct _Method Method; typedef struct _Variable Variable; struct _Argument { NodeType type; char * gtktype; Type * atype; GList * flags; char * name; char * get; int get_line; char * set; int set_line; int line_no; }; struct _CCode { NodeType type; int cctype; char * cbuf; int line_no; }; struct _Check { NodeType type; int chtype; char * number; }; struct _Class { NodeType type; char * otype; char * ptype; char * bonobo_x_class; char * chunk_size; GList * nodes; }; struct _FuncArg { NodeType type; Type * atype; char * name; GList * checks; }; struct _Method { NodeType type; int scope; int method; Type * mtype; char * otype; GList * gtktypes; GList * flags; char * id; GList * args; char * onerror; char * defreturn; char * cbuf; int line_no; int ccode_line; gboolean vararg; int unique_id; gboolean bonobo_x_func; }; struct _Property { NodeType type; char * gtktype; Type * ptype; GList * flags; char * name; char * nick; char * blurb; char * minimum; char * maximum; char * default_value; char * extra_gtktype; gboolean link; gboolean export; char * get; int get_line; char * set; int set_line; int line_no; }; struct _Type { NodeType type; char * name; char * pointer; char * postfix; }; struct _Variable { NodeType type; int scope; Type * vtype; char * id; int line_no; gboolean destructor_unref; char * destructor; int destructor_line; gboolean destructor_simple; char * initializer; int initializer_line; }; union _Node { NodeType type; Argument argument; CCode ccode; Check check; Class class; FuncArg funcarg; Method method; Property property; Type _type; Variable variable; }; /* General copy/free functions */ Node * node_copy (Node *node); void node_free (Node *node); GList * node_list_copy (GList *nodes); void node_list_free (GList *nodes); /* Node new/set functions */ Node * node_new (NodeType type, ...); void node_set (Node *node, ...); #endif /* TREEFUNCS_H */