summaryrefslogtreecommitdiff
path: root/scripts/lib/kdoc/kdoc_parser.py
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2025-06-21 14:35:10 -0600
committerJonathan Corbet <corbet@lwn.net>2025-06-25 11:30:26 -0600
commit2ad02b94914ab47b3b94274856e1b56cd94d3e31 (patch)
treee5c94b317314c3060b4b6832a113f78c30ab8dfe /scripts/lib/kdoc/kdoc_parser.py
parente65d54e19149601b96a19790ee9ba9ed04c59abe (diff)
docs: kdoc: coalesce the end-of-comment processing
Separate out the end-of-comment logic into its own helper and remove the duplicated code introduced earlier. Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20250621203512.223189-8-corbet@lwn.net
Diffstat (limited to 'scripts/lib/kdoc/kdoc_parser.py')
-rw-r--r--scripts/lib/kdoc/kdoc_parser.py36
1 files changed, 14 insertions, 22 deletions
diff --git a/scripts/lib/kdoc/kdoc_parser.py b/scripts/lib/kdoc/kdoc_parser.py
index 5998b02ca3a0..f7a5b85a8ed7 100644
--- a/scripts/lib/kdoc/kdoc_parser.py
+++ b/scripts/lib/kdoc/kdoc_parser.py
@@ -1351,13 +1351,10 @@ class KernelDoc:
return True
return False
- def process_decl(self, ln, line):
- """
- STATE_DECLARATION: We've seen the beginning of a declaration
- """
- if self.is_new_section(ln, line):
- return
-
+ #
+ # Helper function to detect (and effect) the end of a kerneldoc comment.
+ #
+ def is_comment_end(self, ln, line):
if doc_end.search(line):
self.dump_section()
@@ -1370,6 +1367,15 @@ class KernelDoc:
self.entry.new_start_line = ln + 1
self.state = state.PROTO
+ return True
+ return False
+
+
+ def process_decl(self, ln, line):
+ """
+ STATE_DECLARATION: We've seen the beginning of a declaration
+ """
+ if self.is_new_section(ln, line) or self.is_comment_end(ln, line):
return
if doc_content.search(line):
@@ -1406,21 +1412,7 @@ class KernelDoc:
"""
STATE_BODY: the bulk of a kerneldoc comment.
"""
- if self.is_new_section(ln, line):
- return
-
- if doc_end.search(line):
- self.dump_section()
-
- # Look for doc_com + <text> + doc_end:
- r = KernRe(r'\s*\*\s*[a-zA-Z_0-9:\.]+\*/')
- if r.match(line):
- self.emit_msg(ln, f"suspicious ending line: {line}")
-
- self.entry.prototype = ""
- self.entry.new_start_line = ln + 1
-
- self.state = state.PROTO
+ if self.is_new_section(ln, line) or self.is_comment_end(ln, line):
return
if doc_content.search(line):