VARIABLE_NODE
};
+/* for ccode type */
+enum {
+ A_CCODE,
+ AT_CCODE,
+ C_CCODE,
+ H_CCODE,
+ HT_CCODE,
+ PH_CCODE
+};
+
typedef union _Node Node;
typedef struct _CCode CCode;
struct _CCode {
int type;
- int header;
+ int cctype;
char *cbuf;
int line_no;
};
NO_SCOPE,
PUBLIC_SCOPE,
PRIVATE_SCOPE,
- PROTECTED_SCOPE,
+ PROTECTED_SCOPE
};
/* method type */
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;
char *cbuf;
int line_no;
int ccode_line;
- int vararg;
+ gboolean vararg;
};
typedef struct _Variable Variable;
Type *vtype;
char *id;
int line_no;
+ char *destructor;
+ int destructor_line;
+ gboolean destructor_simple;
+ char *initializer;
+ int initializer_line;
};
union _Node {
Variable variable;
};
-Node *new_ccode(int header, char *cbuf, int line_no);
+Node *new_ccode(int cctype, char *cbuf, int line_no);
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, int 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