/* 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 }; enum { CLASS_NODE, TYPE_NODE, CCODE_NODE, CHECK_NODE, FUNCARG_NODE, ARGUMENT_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 _Method Method; typedef struct _Variable Variable; struct _Argument { int type; char * gtktype; Type * atype; GList * flags; char * name; char * get; int get_line; char * set; int set_line; int line_no; }; struct _CCode { int type; int cctype; char * cbuf; int line_no; }; struct _Check { int type; int chtype; char * number; }; struct _Class { int type; char * otype; char * ptype; char * chunk_size; GList * nodes; }; struct _FuncArg { int type; Type * atype; char * name; GList * checks; }; struct _Method { int 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; }; struct _Type { int type; char * name; char * pointer; char * postfix; }; struct _Variable { int type; int scope; Type * vtype; char * id; int line_no; char * destructor; int destructor_line; gboolean destructor_simple; char * initializer; int initializer_line; }; union _Node { int type; Argument argument; CCode ccode; Check check; Class class; FuncArg funcarg; Method method; Type _type; Variable variable; }; /* New functions */ Node * new_argument (char * gtktype, Type * atype, GList * flags, char * name, char * get, int get_line, char * set, int set_line, int line_no); Node * new_ccode (int cctype, char * cbuf, int line_no); Node * new_check (int chtype, char * number); Node * new_class (char * otype, char * ptype, char * chunk_size, GList * nodes); Node * new_funcarg (Type * atype, char * name, GList * checks); Node * new_method (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); Node * new_type (char * name, char * pointer, char * postfix); Node * new_variable (int scope, Type * vtype, char * id, int line_no, char * destructor, int destructor_line, gboolean destructor_simple, char * initializer, int initializer_line); /* General copy/free functions */ Node * copy_node(Node *node); void free_node(Node *node); GList * copy_node_list(GList *nodes); void free_node_list(GList *nodes); /* Copy functions */ Argument * copy_argument (Argument * self); CCode * copy_ccode (CCode * self); Check * copy_check (Check * self); Class * copy_class (Class * self); FuncArg * copy_funcarg (FuncArg * self); Method * copy_method (Method * self); Type * copy_type (Type * self); Variable * copy_variable (Variable * self); /* Free functions */ void free_argument (Argument * self); void free_ccode (CCode * self); void free_check (Check * self); void free_class (Class * self); void free_funcarg (FuncArg * self); void free_method (Method * self); void free_type (Type * self); void free_variable (Variable * self); #endif /*_TREEFUNCS_H_*/