From 7f1b5019a5f760a936ab56aa76417a9cf12b3deb Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Wed, 31 May 2017 16:08:36 +0200 Subject: [PATCH] Doxygen: transform ENUM_BITFIELD and comments starting with '/**'. 2017-05-31 Martin Liska * filter_params.py: Transform ENUM_BITFIELD and comments starting with '/**' From-SVN: r248741 --- contrib/ChangeLog | 5 +++++ contrib/filter_params.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 20b390db223..e2cbd7902fc 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2017-05-31 Martin Liska + + * filter_params.py: + Transform ENUM_BITFIELD and comments starting with '/**' + 2017-05-31 David Malcolm Martin Liska diff --git a/contrib/filter_params.py b/contrib/filter_params.py index f94d201bbf8..a82a8d5728c 100644 --- a/contrib/filter_params.py +++ b/contrib/filter_params.py @@ -34,6 +34,11 @@ def filter_src(text): # so that doxygen will parse them. # # Only comments that begin on the left-most column are converted. + # + text = re.sub(r'^/\*\* ', + r'/** @verbatim ', + text, + flags=re.MULTILINE) text = re.sub(r'^/\* ', r'/** @verbatim ', text, @@ -58,6 +63,11 @@ def filter_src(text): r'(\1)', text) + # Replace 'ENUM_BITFIELD(enum_name)' with 'enum enum_name'. + text = re.sub('ENUM_BITFIELD\s*\(([^\)]*)\)', + r'enum \1', + text) + return text class FilteringTests(unittest.TestCase): @@ -81,6 +91,21 @@ class FilteringTests(unittest.TestCase): ' NEXT_LINE\n' ' FINAL_LINE. @endverbatim */\n')) + def test_comment_example_gengtype(self): + self.assert_filters_to( + ('/** Allocate and initialize an input buffer state.\n' + ' * @param file A readable stream.\n' + ' * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.\n' + ' * \n' + ' * @return the allocated buffer state.\n' + ' */'), + ('/** @verbatim Allocate and initialize an input buffer state.\n' + ' * @param file A readable stream.\n' + ' * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.\n' + ' * \n' + ' * @return the allocated buffer state.\n' + ' @endverbatim */')) + def test_oneliner_comment(self): self.assert_filters_to( '/* Returns the string representing CLASS. */\n', @@ -131,6 +156,11 @@ class FilteringTests(unittest.TestCase): 'char *strcpy PARAMS ((char *dest, char *source));\n', 'char *strcpy (char *dest, char *source);\n') + def test_ENUM_BITFIELD(self): + self.assert_filters_to( + ' ENUM_BITFIELD (sym_intent) intent:2;\n', + ' enum sym_intent intent:2;\n') + def act_on_files(argv): for filename in argv[1:]: with open(filename) as f: -- 2.30.2