diff options
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/ast.py | 2 | ||||
-rw-r--r-- | giscanner/girwriter.py | 7 | ||||
-rw-r--r-- | giscanner/glibtransformer.py | 4 |
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' |