diff options
author | Giovanni Campagna <gcampagna@src.gnome.org> | 2011-04-21 22:24:11 +0200 |
---|---|---|
committer | Giovanni Campagna <gcampagna@src.gnome.org> | 2011-05-11 22:04:32 +0200 |
commit | b8247d8291f3386363933710d09f698e5e8e98bd (patch) | |
tree | 3db14925820bbd01f7b852c772ccf7ab629538e2 /giscanner | |
parent | 6ecd7815921ead3d9d4209ab5d21da19bb5ed7eb (diff) | |
download | gobject-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.py | 10 |
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) |