summaryrefslogtreecommitdiff
path: root/giscanner
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagna@src.gnome.org>2011-04-21 22:24:11 +0200
committerGiovanni Campagna <gcampagna@src.gnome.org>2011-05-11 22:04:32 +0200
commitb8247d8291f3386363933710d09f698e5e8e98bd (patch)
tree3db14925820bbd01f7b852c772ccf7ab629538e2 /giscanner
parent6ecd7815921ead3d9d4209ab5d21da19bb5ed7eb (diff)
downloadgobject-introspection-b8247d8291f3386363933710d09f698e5e8e98bd.tar.gz
giscanner: read (array) and (element-type) annotations for fields
This way fields are no longer limited to basic types, and can be supported without accessor methods. https://bugzilla.gnome.org/show_bug.cgi?id=646635
Diffstat (limited to 'giscanner')
-rw-r--r--giscanner/maintransformer.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index f8bf9f1e..1a104346 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -696,9 +696,13 @@ usage is void (*_gtk_reserved1)(void);"""
if not tag:
return
t = tag.options.get(OPT_TYPE)
- if not t:
- return
- field.type = self._transformer.create_type_from_user_string(t.one())
+ if t:
+ field.type = self._transformer.create_type_from_user_string(t.one())
+
+ try:
+ self._adjust_container_type(parent, field, tag.options)
+ except AttributeError:
+ pass
def _apply_annotations_property(self, parent, prop):
prefix = self._get_annotation_name(parent)