[vala] vapigen: Support transfer_ownership for delegates
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [vala] vapigen: Support transfer_ownership for delegates
- Date: Wed, 25 Mar 2009 17:08:39 -0400 (EDT)
commit f5b7f644b05f27f07a5419360262c4db0bc274d0
Author: Jürg Billeter <j bitron ch>
Date: Wed Mar 25 22:07:05 2009 +0100
vapigen: Support transfer_ownership for delegates
Add attribute to support owned delegate return values.
---
vapigen/valagidlparser.vala | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index 79dd6b5..81d38eb 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -292,7 +292,9 @@ public class Vala.GIdlParser : CodeVisitor {
private Delegate? parse_delegate (IdlNodeFunction f_node) {
weak IdlNode node = (IdlNode) f_node;
- var cb = new Delegate (node.name, parse_param (f_node.result), current_source_reference);
+ var return_type = parse_param (f_node.result);
+
+ var cb = new Delegate (node.name, return_type, current_source_reference);
cb.access = SymbolAccessibility.PUBLIC;
bool check_has_target = true;
@@ -313,6 +315,10 @@ public class Vala.GIdlParser : CodeVisitor {
} else if (eval (nv[1]) == "1") {
cb.has_target = true;
}
+ } else if (nv[0] == "transfer_ownership") {
+ if (eval (nv[1]) == "1") {
+ return_type.value_owned = true;
+ }
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]