diff options
Diffstat (limited to 'giscanner/girwriter.py')
-rw-r--r-- | giscanner/girwriter.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py index e9910d47..c54a5389 100644 --- a/giscanner/girwriter.py +++ b/giscanner/girwriter.py @@ -170,7 +170,7 @@ and/or use gtk-doc annotations. ''') with self.tagcontext(tag_name, attrs): self._write_generic(callable) self._write_return_type(callable.retval, parent=callable) - self._write_parameters(callable, callable.parameters) + self._write_parameters(callable) def _write_function(self, func, tag_name='function'): attrs = [] @@ -206,14 +206,16 @@ and/or use gtk-doc annotations. ''') self._write_generic(return_) self._write_type(return_.type, function=parent) - def _write_parameters(self, parent, parameters): - if not parameters: + def _write_parameters(self, callable): + if not callable.parameters and callable.instance_parameter is None: return with self.tagcontext('parameters'): - for parameter in parameters: - self._write_parameter(parent, parameter) + if callable.instance_parameter: + self._write_parameter(callable, callable.instance_parameter, 'instance-parameter') + for parameter in callable.parameters: + self._write_parameter(callable, parameter) - def _write_parameter(self, parent, parameter): + def _write_parameter(self, parent, parameter, nodename='parameter'): attrs = [] if parameter.argname is not None: attrs.append(('name', parameter.argname)) @@ -236,7 +238,7 @@ and/or use gtk-doc annotations. ''') attrs.append(('destroy', '%d' % (idx, ))) if parameter.skip: attrs.append(('skip', '1')) - with self.tagcontext('parameter', attrs): + with self.tagcontext(nodename, attrs): self._write_generic(parameter) self._write_type(parameter.type, function=parent) @@ -585,4 +587,4 @@ and/or use gtk-doc annotations. ''') with self.tagcontext('glib:signal', attrs): self._write_generic(signal) self._write_return_type(signal.retval) - self._write_parameters(signal, signal.parameters) + self._write_parameters(signal) |