diff options
author | Luca Bruno <lucabru@src.gnome.org> | 2011-06-26 18:59:01 +0200 |
---|---|---|
committer | Luca Bruno <lucabru@src.gnome.org> | 2011-06-26 19:00:26 +0200 |
commit | d9fe12dd7ea4479a1d23aec46a130a347e2dc421 (patch) | |
tree | 0a639bfcf1bb9f087af42691be12af7d2d59d9af /vapigen | |
parent | e1b112628e342f1a5c2fccc02bb045f012062e40 (diff) | |
download | vala-d9fe12dd7ea4479a1d23aec46a130a347e2dc421.tar.gz |
gidlparser: Add no_delegate_target metadata for fields
Diffstat (limited to 'vapigen')
-rw-r--r-- | vapigen/valagidlparser.vala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index 316e42024..137bf2cca 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -2597,6 +2597,7 @@ public class Vala.GIdlParser : CodeVisitor { string deprecated_since = null; string replacement = null; bool experimental = false; + bool no_delegate_target = false; var attributes = get_attributes ("%s.%s".printf (current_data_type.get_cname (), node.name)); if (attributes != null) { @@ -2646,6 +2647,10 @@ public class Vala.GIdlParser : CodeVisitor { array_length_cname = eval (nv[1]); } else if (nv[0] == "array_length_type") { array_length_type = eval (nv[1]); + } else if (nv[0] == "no_delegate_target") { + if (eval (nv[1]) == "1") { + no_delegate_target = true; + } } else if (nv[0] == "experimental") { if (eval (nv[1]) == "1") { experimental = true; @@ -2714,6 +2719,10 @@ public class Vala.GIdlParser : CodeVisitor { field.no_array_length = true; } + if (no_delegate_target) { + field.no_delegate_target = true; + } + return field; } |