]> git.draconx.ca Git - gob-dx.git/blobdiff - src/tree.h
Release 0.91.1
[gob-dx.git] / src / tree.h
index d3617a9a9b61c1a728338f032b36948004084067..c47156f5580cd53bfc1f63cb9789d88932570ce1 100644 (file)
@@ -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