+2008-02-23 Jürg Billeter <j@bitron.ch>
+
+ * vala/valainterfacewriter.vala: fix support for instance delegates
+
+ * vapigen/valagidlparser.vala: support instance delegates in
+ bindings generator
+
2008-02-23 Raffaele Sandrini <raffaele@sandrini.ch>
* vala/valaerrortype.vala: fix typo
write_indent ();
write_accessibility (cb);
- write_string ("static delegate ");
+ if (!cb.instance) {
+ write_string ("static ");
+ }
+ write_string ("delegate ");
write_return_type (cb.return_type);
foreach (weak IdlNodeParam param in f_node.parameters) {
weak IdlNode param_node = (IdlNode) param;
-
- var p = new FormalParameter (param_node.name, parse_param (param));
- cb.add_parameter (p);
+
+ if (param_node.name == "user_data") {
+ // hide user_data parameter for instance delegates
+ cb.instance = true;
+ } else {
+ var p = new FormalParameter (param_node.name, parse_param (param));
+ cb.add_parameter (p);
+ }
}
return cb;
// hide array length param
hide_param = true;
+ } else if (last_param != null && p.name == "user_data") {
+ // last_param is delegate
+
+ // hide deleate target param
+ hide_param = true;
}
if (!hide_param) {