summaryrefslogtreecommitdiff
path: root/giscanner
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner')
-rw-r--r--giscanner/ast.py2
-rw-r--r--giscanner/girwriter.py7
-rw-r--r--giscanner/glibtransformer.py4
3 files changed, 7 insertions, 6 deletions
diff --git a/giscanner/ast.py b/giscanner/ast.py
index 1d2e5185..38f03130 100644
--- a/giscanner/ast.py
+++ b/giscanner/ast.py
@@ -44,6 +44,7 @@ class VFunction(Function):
class Type(Node):
def __init__(self, name):
Node.__init__(self, name)
+ self.cidentifier = name
def __repr__(self):
return 'Type(%r)' % (self.name,)
@@ -92,7 +93,6 @@ class Return(Node):
Node.__init__(self)
self.type = Type(type_name)
self.transfer = 'none'
- self.ctype = self.type
def __repr__(self):
return 'Return(%r)' % (self.type,)
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py
index 1b0e49b3..79367c8f 100644
--- a/giscanner/girwriter.py
+++ b/giscanner/girwriter.py
@@ -76,8 +76,7 @@ class GIRWriter(XMLWriter):
def _write_return_type(self, return_):
if not return_:
return
- attrs = [('c:identifer', return_.type.name)]
- with self.tagcontext('return-value', attrs):
+ with self.tagcontext('return-value'):
if isinstance(return_.type, Sequence):
self._write_sequence(return_.type)
else:
@@ -100,7 +99,9 @@ class GIRWriter(XMLWriter):
self._write_type(parameter.type)
def _write_type(self, type):
- self.write_tag('type', [('name', type.name)])
+ attrs = [('name', type.name),
+ ('c:identifier', type.cidentifier)]
+ self.write_tag('type', attrs)
def _write_sequence(self, sequence):
attrs = [('c:owner', sequence.cowner)]
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py
index 0635c58a..305899f2 100644
--- a/giscanner/glibtransformer.py
+++ b/giscanner/glibtransformer.py
@@ -341,8 +341,8 @@ class GLibTransformer(object):
def _introspect_signals(self, node, type_id):
for signal_info in cgobject.signal_list(type_id):
- retval = Return(cgobject.type_name(signal_info.return_type))
- signal = GLibSignal(signal_info.signal_name, retval)
+ return_ = Return(cgobject.type_name(signal_info.return_type))
+ signal = GLibSignal(signal_info.signal_name, return_)
for i, parameter in enumerate(signal_info.get_params()):
if i == 0:
name = 'object'