vala r1039 - in trunk: . vala vapigen
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r1039 - in trunk: . vala vapigen
- Date: Sat, 23 Feb 2008 17:42:27 +0000 (GMT)
Author: juergbi
Date: Sat Feb 23 17:42:27 2008
New Revision: 1039
URL: http://svn.gnome.org/viewvc/vala?rev=1039&view=rev
Log:
2008-02-23 Juerg Billeter <j bitron ch>
* vala/valainterfacewriter.vala: fix support for instance delegates
* vapigen/valagidlparser.vala: support instance delegates in
bindings generator
Modified:
trunk/ChangeLog
trunk/vala/valainterfacewriter.vala
trunk/vapigen/valagidlparser.vala
Modified: trunk/vala/valainterfacewriter.vala
==============================================================================
--- trunk/vala/valainterfacewriter.vala (original)
+++ trunk/vala/valainterfacewriter.vala Sat Feb 23 17:42:27 2008
@@ -526,7 +526,10 @@
write_indent ();
write_accessibility (cb);
- write_string ("static delegate ");
+ if (!cb.instance) {
+ write_string ("static ");
+ }
+ write_string ("delegate ");
write_return_type (cb.return_type);
Modified: trunk/vapigen/valagidlparser.vala
==============================================================================
--- trunk/vapigen/valagidlparser.vala (original)
+++ trunk/vapigen/valagidlparser.vala Sat Feb 23 17:42:27 2008
@@ -296,9 +296,14 @@
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;
@@ -1306,6 +1311,11 @@
// 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) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]