X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/e10d6e307623d0952f6e1f5d9fee8720ddab4808..3b10bbd3a88d6e16146414d91d06bb2f36347bfc:/src/tree.h diff --git a/src/tree.h b/src/tree.h index 9d85329..66d1819 100644 --- a/src/tree.h +++ b/src/tree.h @@ -37,6 +37,8 @@ enum { /* for ccode type */ enum { + A_CCODE, + AT_CCODE, C_CCODE, H_CCODE, HT_CCODE, @@ -136,6 +138,7 @@ struct _Method { Type *mtype; char *otype; /*for override methods*/ GList *gtktypes; /*GTK types for a signal*/ + GList *flags; /* GTK_RUN_* flags for a signal */ char *id; GList *args; char *onerror; @@ -152,6 +155,11 @@ struct _Variable { Type *vtype; char *id; int line_no; + char *destructor; + int destructor_line; + gboolean destructor_simple; + char *initializer; + int initializer_line; }; union _Node { @@ -170,8 +178,18 @@ Node *new_class(char *otype, char *ptype, GList *nodes); Node *new_type(int stars, char *name, char *postfix); Node *new_check(int chtype, char *number); Node *new_funcarg(Type *atype, char *name, GList *checks); -Node *new_method(int scope, int method, Type *mtype, char *otype, GList *gtktypes, char *id, GList *args, char *onerror, char *cbuf, int line_no, int ccode_line, gboolean vararg); -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_variable(int scope, Type *vtype, char *id,int line_no); +Node *new_method(int scope, int method, Type *mtype, char *otype, + GList *gtktypes, GList *flags, char *id, GList *args, + char *onerror, char *cbuf, int line_no, int ccode_line, + gboolean vararg); +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_variable(int scope, Type *vtype, char *id, int line_no, + char *destructor, int destructor_line, + gboolean destructor_simple, + char *initializer, int initializer_line); + +Type *copy_type(Type *type); #endif