summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2010-04-28 14:32:14 +0200
committerTomeu Vizoso <tomeu@sugarlabs.org>2010-04-28 14:33:33 +0200
commit24711bc9ee6073fd77c99f10fa3d90e7e108af24 (patch)
treebd642fe91458aecc28c2c643d3b786546c512c06
parentf4e796c7391d23fd9fb1a8fd1b7609516b9a42af (diff)
downloadgobject-introspection-24711bc9ee6073fd77c99f10fa3d90e7e108af24.tar.gz
Warn about annotations for unknown args
https://bugzilla.gnome.org/show_bug.cgi?id=615890
-rw-r--r--giscanner/annotationparser.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py
index c693a97d..a4ba6fbf 100644
--- a/giscanner/annotationparser.py
+++ b/giscanner/annotationparser.py
@@ -496,7 +496,21 @@ class AnnotationApplier(object):
return
field.type.name = self._transformer.resolve_type_name(t.one())
+ def _check_arg_annotations(self, parent, params, block):
+ if block is None:
+ return
+ for tag in block.tags.keys():
+ if tag == TAG_RETURNS:
+ continue
+ for param in params:
+ if param.name == tag:
+ break
+ else:
+ print 'WARNING: annotation for "%s" refers to unknown ' \
+ 'argument "%s"' % (parent.name, tag)
+
def _parse_params(self, parent, params, block):
+ self._check_arg_annotations(parent, params, block)
for param in params:
tag = self._get_tag(block, param.name)
self._parse_param(parent, param, tag)