summaryrefslogtreecommitdiff
path: root/giscanner/annotationparser.py
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2010-06-15 11:01:37 -0400
committerDavid Zeuthen <davidz@redhat.com>2010-06-24 11:53:18 -0400
commit11cfe386c37ced44a8e3efb5556bde3a43a11171 (patch)
treea01903a4e4596ca80c79abbc8d35c33dc665e526 /giscanner/annotationparser.py
parent751ffa016e410a031028282e63f98a94cc444b7b (diff)
Allow attributes on parameters and return values
Any annotation where the key has a dot in the name will go into the attribute list. For example * @arg: (foo.bar baz): some arg the parameter @arg will get the attribute with key foo.bar and value baz. This also works for. * Returns: (foo.bar2 baz2): the return value Also add tests for this new feature. See https://bugzilla.gnome.org/show_bug.cgi?id=571548 Signed-off-by: David Zeuthen <davidz@redhat.com>
Diffstat (limited to 'giscanner/annotationparser.py')
-rw-r--r--giscanner/annotationparser.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py
index 43ca03c..01cbb1a 100644
--- a/giscanner/annotationparser.py
+++ b/giscanner/annotationparser.py
@@ -635,6 +635,12 @@ class AnnotationApplier(object):
if tag is not None and tag.comment is not None:
node.doc = tag.comment
+ for key in options:
+ if '.' in key:
+ value = options.get(key)
+ if value:
+ node.attributes.append((key, value.one()))
+
def _extract_direction(self, node, options):
caller_allocates = False
if (OPT_INOUT in options or