X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/c190a2ae41238682c1430b8482683b6a7c15c66b..f31590988781d77ff5249987801d03a986368ca2:/src/tree.h diff --git a/src/tree.h b/src/tree.h index d3617a9..c47156f 100644 --- a/src/tree.h +++ b/src/tree.h @@ -42,6 +42,7 @@ struct _CCode { int type; int header; GString *cbuf; + int line_no; }; typedef struct _Class Class; @@ -57,6 +58,7 @@ struct _Type { int type; int stars; char *name; + char *postfix; }; enum { @@ -92,7 +94,10 @@ struct _Argument { GList *flags; char *name; GString *get; + int get_line; GString *set; + int set_line; + int line_no; }; /*scope type*/ @@ -102,8 +107,11 @@ enum { INIT_METHOD, CLASS_INIT_METHOD, VIRTUAL_METHOD, + PRIVATE_VIRTUAL_METHOD, SIGNAL_LAST_METHOD, SIGNAL_FIRST_METHOD, + PRIVATE_SIGNAL_LAST_METHOD, + PRIVATE_SIGNAL_FIRST_METHOD, OVERRIDE_METHOD }; @@ -119,6 +127,8 @@ struct _Method { char *onerror; GString *cbuf; int line_no; + int ccode_line; + int vararg; }; typedef struct _Variable Variable; @@ -127,6 +137,7 @@ struct _Variable { int scope; Type *vtype; char *id; + int line_no; }; union _Node { @@ -140,13 +151,13 @@ union _Node { Variable variable; }; -Node *new_ccode(int header, GString *cbuf); +Node *new_ccode(int header, GString *cbuf, int line_no); Node *new_class(char *otype, char *ptype, GList *nodes); -Node *new_type(int stars, char *name); +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, Type *mtype, char *otype, GList *gtktypes, char *id, GList *args, char *onerror, GString *cbuf,int line_no); -Node *new_argument(char *gtktype, GList *flags, char *name, GString *get, GString *set); -Node *new_variable(int scope, Type *vtype, char *id); +Node *new_method(int scope, Type *mtype, char *otype, GList *gtktypes, char *id, GList *args, char *onerror, GString *cbuf,int line_no,int ccode_line, int vararg); +Node *new_argument(char *gtktype, GList *flags, char *name, GString *get, int get_line, GString *set, int set_line, int line_no); +Node *new_variable(int scope, Type *vtype, char *id,int line_no); #endif