diff options
author | Pavel Holejsovsky <pholejs@src.gnome.org> | 2011-08-13 13:10:34 +0200 |
---|---|---|
committer | Pavel Holejsovsky <pholejs@src.gnome.org> | 2011-08-16 10:43:27 +0200 |
commit | 64848acb817369436d629d153c5750789c0addc3 (patch) | |
tree | e6113f9b9a8d8dd524a73b8f53d34c26f27215f9 /giscanner | |
parent | 684bc3384e23b8168b06c480de09f6650a7ddd63 (diff) | |
download | gobject-introspection-64848acb817369436d629d153c5750789c0addc3.tar.gz |
Teach scanner's girparser about fundamentals
Make sure that fundamental attribute and associated
functions (ref-func, unref-func, set-value-func and get-value-func)
are parsed, otherwise we fail reparse-validating girs containing
fundamentals.
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/girparser.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/giscanner/girparser.py b/giscanner/girparser.py index d7a59b83..51ef9340 100644 --- a/giscanner/girparser.py +++ b/giscanner/girparser.py @@ -239,6 +239,14 @@ class GIRParser(object): type_struct = node.attrib.get(_glibns('type-struct')) if type_struct: obj.glib_type_struct = self._namespace.type_from_name(type_struct) + if klass == ast.Class: + is_fundamental = node.attrib.get(_glibns('fundamental')) + if is_fundamental and is_fundamental != '0': + obj.fundamental = True + for func_id in ['ref-func', 'unref-func', + 'set-value-func', 'get-value-func']: + func_name = node.attrib.get(_glibns(func_id)) + obj.__dict__[func_id.replace('-', '_')] = func_name self._namespace.append(obj) if self._types_only: |