diff options
author | Colin Walters <walters@verbum.org> | 2010-10-19 08:45:13 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2010-10-19 08:45:13 -0400 |
commit | 2e8e7530fc66b3222525a236a395b8d24eecf404 (patch) | |
tree | 1fd8ecaa781bc480c8abe1bf3dd9e30934e38a06 | |
parent | f97cc8687469f25752f7927545ad4daecef8ab44 (diff) | |
download | gobject-introspection-2e8e7530fc66b3222525a236a395b8d24eecf404.tar.gz |
Accept trailing whitespace at the start of a comment block
Might as well be liberal here, as long as we have a test case.
https://bugzilla.gnome.org/show_bug.cgi?id=631690
-rw-r--r-- | giscanner/annotationparser.py | 8 | ||||
-rw-r--r-- | tests/scanner/Annotation-1.0-expected.gir | 7 | ||||
-rw-r--r-- | tests/scanner/annotation.c | 11 | ||||
-rw-r--r-- | tests/scanner/annotation.h | 3 |
4 files changed, 24 insertions, 5 deletions
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py index 5e45e5dc..03a88832 100644 --- a/giscanner/annotationparser.py +++ b/giscanner/annotationparser.py @@ -25,9 +25,6 @@ import re from . import message from .odict import odict -# All gtk-doc comments needs to start with this: -_COMMENT_HEADER = '*\n ' - # Tags - annotations applyed to comment blocks TAG_VFUNC = 'virtual' TAG_SINCE = 'since' @@ -405,6 +402,7 @@ class DocOption(object): class AnnotationParser(object): + COMMENT_HEADER_RE = re.compile(r'^\*[ \t]*\n ') WHITESPACE_RE = re.compile(r'^\s*$') ASCII_TEXT_RE = re.compile(r'\s*[A-Za-z]+') OPTION_RE = re.compile(r'\([A-Za-z]+[^(]*\)') @@ -434,9 +432,9 @@ class AnnotationParser(object): # comment, filename, lineno = cmt comment = comment.lstrip() - if not comment.startswith(_COMMENT_HEADER): + if not self.COMMENT_HEADER_RE.search(comment): return - comment = comment[len(_COMMENT_HEADER):] + comment = self.COMMENT_HEADER_RE.sub('', comment, count=1) comment = comment.strip() if not comment.startswith('* '): return diff --git a/tests/scanner/Annotation-1.0-expected.gir b/tests/scanner/Annotation-1.0-expected.gir index 050d888b..6dcb23c3 100644 --- a/tests/scanner/Annotation-1.0-expected.gir +++ b/tests/scanner/Annotation-1.0-expected.gir @@ -737,6 +737,13 @@ detection, and fixing it via annotations.</doc> </parameter> </parameters> </function> + <function name="space_after_comment_bug631690" + c:identifier="annotation_space_after_comment_bug631690"> + <doc xml:whitespace="preserve">Explicitly test having a space after the ** here.</doc> + <return-value transfer-ownership="none"> + <type name="none" c:type="void"/> + </return-value> + </function> <function name="string_array_length" c:identifier="annotation_string_array_length"> <return-value transfer-ownership="none"> diff --git a/tests/scanner/annotation.c b/tests/scanner/annotation.c index 280a9e58..4c25178c 100644 --- a/tests/scanner/annotation.c +++ b/tests/scanner/annotation.c @@ -771,3 +771,14 @@ annotation_test_parsing_bug630862 (void) { return NULL; } + + +/** + * annotation_space_after_comment_bug631690: + * + * Explicitly test having a space after the ** here. + */ +void +annotation_space_after_comment_bug631690 (void) +{ +} diff --git a/tests/scanner/annotation.h b/tests/scanner/annotation.h index ef05ddb2..e315af5b 100644 --- a/tests/scanner/annotation.h +++ b/tests/scanner/annotation.h @@ -158,5 +158,8 @@ void annotation_ptr_array (GPtrArray *array); GObject * annotation_test_parsing_bug630862 (void); +void annotation_space_after_comment_bug631690 (void); + + #endif /* __ANNOTATION_OBJECT_H__ */ |