summaryrefslogtreecommitdiff
path: root/giscanner
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2009-11-22 12:49:37 -0500
committerDan Winship <danw@gnome.org>2009-11-23 11:07:29 -0500
commit91cc82321e38febd65cd79ecaef2850b475f8ff2 (patch)
tree06c8f31e972f71e41b530ae2b301ccf3b581b228 /giscanner
parentab127091d84336a851e0cec9cfdd0435065d9e2a (diff)
downloadgobject-introspection-91cc82321e38febd65cd79ecaef2850b475f8ff2.tar.gz
Make (skip) annotation work everywhere
Previously it only worked for toplevel nodes. Now it works for any node except <field>, since skipping a field would cause the description of the struct layout to be wrong. https://bugzilla.gnome.org/show_bug.cgi?id=602652
Diffstat (limited to 'giscanner')
-rw-r--r--giscanner/girwriter.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py
index 76a77d80..78e34c9c 100644
--- a/giscanner/girwriter.py
+++ b/giscanner/girwriter.py
@@ -152,6 +152,8 @@ and/or use gtk-doc annotations. ''')
self.write_tag('alias', attrs)
def _write_callable(self, callable, tag_name, extra_attrs):
+ if callable.skip:
+ return
attrs = [('name', callable.name)]
attrs.extend(extra_attrs)
if callable.doc:
@@ -304,6 +306,8 @@ and/or use gtk-doc annotations. ''')
self._write_member(member)
def _write_member(self, member):
+ if member.skip:
+ return
attrs = [('name', member.name),
('value', str(member.value)),
('c:identifier', member.symbol)]
@@ -376,6 +380,8 @@ and/or use gtk-doc annotations. ''')
self._write_method(method)
def _write_property(self, prop):
+ if prop.skip:
+ return
attrs = [('name', prop.name)]
self._append_version(prop, attrs)
self._append_deprecated(prop, attrs)
@@ -493,6 +499,8 @@ and/or use gtk-doc annotations. ''')
self._write_type(field.type)
def _write_signal(self, signal):
+ if signal.skip:
+ return
attrs = [('name', signal.name)]
if signal.doc:
attrs.append(('doc', signal.doc))