summaryrefslogtreecommitdiff
path: root/giscanner/girparser.py
diff options
context:
space:
mode:
authorColin Walters <walters@src.gnome.org>2008-09-13 00:12:34 +0000
committerColin Walters <walters@src.gnome.org>2008-09-13 00:12:34 +0000
commitbd198cca7e55ef8308a154ef005ea3b10c56af7f (patch)
tree003e58521a666eb8cd98a27dd35bc93c767a11ca /giscanner/girparser.py
parenta7e15d415dbfe2734fc4aca57b2c327b0b813f59 (diff)
downloadgobject-introspection-bd198cca7e55ef8308a154ef005ea3b10c56af7f.tar.gz
Parse c:type for boxed records/unions; try resolving types using the GType names.
* giscanner/girparser.py: Parse c:type for boxed records/unions. * giscanner/glibast.py: Avoid overwriting ctype. * giscsanner/transformer.py: Try resolving types using the GType names. svn path=/trunk/; revision=594
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 e344fb42..f3eedf14 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -144,7 +144,8 @@ class GIRParser(object):
if _glibns('type-name') in node.attrib:
struct = GLibBoxedStruct(node.attrib['name'],
node.attrib[_glibns('type-name')],
- node.attrib[_glibns('get-type')])
+ node.attrib[_glibns('get-type')],
+ node.attrib.get(_cns('type')))
else:
struct = Struct(node.attrib['name'],
node.attrib[_cns('type')])
@@ -154,7 +155,8 @@ class GIRParser(object):
if _glibns('type-name') in node.attrib:
struct = GLibBoxedUnion(node.attrib['name'],
node.attrib[_glibns('type-name')],
- node.attrib[_glibns('get-type')])
+ node.attrib[_glibns('get-type')],
+ node.attrib.get(_cns('type')))
else:
struct = Union(node.attrib['name'],
node.attrib[_cns('type')])