summaryrefslogtreecommitdiff
path: root/giscanner/girparser.py
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-08-18 20:16:57 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-08-18 20:16:57 +0000
commitdc6b0cbcc496505ef9573fd7f99ed2658f4bc57f (patch)
tree73bfc9481820bf0c09bf8d6e5ee9c0569419b481 /giscanner/girparser.py
parent7e63a6289afb7d9162b47853fdbce63a5ef337db (diff)
downloadgobject-introspection-dc6b0cbcc496505ef9573fd7f99ed2658f4bc57f.tar.gz
Redo type resolving and validation. Add a couple of new tests. Patch
2008-08-18 Johan Dahlin <johan@gnome.org> * giscanner/ast.py: * giscanner/girparser.py: * giscanner/girwriter.py: * giscanner/glibast.py: * giscanner/glibtransformer.py: * giscanner/transformer.py: * tests/scanner/Foo-expected.gir: * tests/scanner/foo-object.h: * tests/scanner/utility-expected.gir: * tests/scanner/utility.h: Redo type resolving and validation. Add a couple of new tests. Patch mostly written by Colin. svn path=/trunk/; revision=398
Diffstat (limited to 'giscanner/girparser.py')
-rw-r--r--giscanner/girparser.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/giscanner/girparser.py b/giscanner/girparser.py
index d326f1b6..6550a682 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -91,7 +91,8 @@ class GIRParser(object):
def _parse_alias(self, node):
return Alias(node.attrib['name'],
- node.attrib['target'])
+ node.attrib['target'],
+ node.attrib.get(_cns('type')))
def _parse_object_interface(self, node):
if node.tag == _corens('interface'):
@@ -121,7 +122,8 @@ class GIRParser(object):
parameters.append(Parameter(paramnode.attrib['name'],
self._parse_type(paramnode)))
if klass is Callback:
- return klass(name, retval, parameters)
+ return klass(name, retval, parameters,
+ node.attrib.get(_cns('type')))
else:
identifier = node.attrib.get(_cns('identifier'))
return klass(name, retval, parameters, identifier)