-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);
+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);