Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: c_lex: setup a logger to report tokenizer issues

Report file that has issues detected via CMatch and CTokenizer.

This is done by setting up a logger that will be overriden by
kdoc_parser, when used on it.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <903ad83ae176196a50444e66177a4f5bcdef5199.1773770483.git.mchehab+huawei@kernel.org>

authored by

Mauro Carvalho Chehab and committed by
Jonathan Corbet
024e200e 2f07ddbd

+19 -1
+16
tools/lib/python/kdoc/c_lex.py
··· 22 22 23 23 log = logging.getLogger(__name__) 24 24 25 + def tokenizer_set_log(logger, prefix = ""): 26 + """ 27 + Replace the module‑level logger with a LoggerAdapter that 28 + prepends *prefix* to every message. 29 + """ 30 + global log 31 + 32 + class PrefixAdapter(logging.LoggerAdapter): 33 + """ 34 + Ancillary class to set prefix on all message logs. 35 + """ 36 + def process(self, msg, kwargs): 37 + return f"{prefix}{msg}", kwargs 38 + 39 + # Wrap the provided logger in our adapter 40 + log = PrefixAdapter(logger, {"prefix": prefix}) 25 41 26 42 class CToken(): 27 43 """
+3 -1
tools/lib/python/kdoc/kdoc_parser.py
··· 13 13 import re 14 14 from pprint import pformat 15 15 16 - from kdoc.c_lex import CTokenizer 16 + from kdoc.c_lex import CTokenizer, tokenizer_set_log 17 17 from kdoc.kdoc_re import KernRe 18 18 from kdoc.kdoc_item import KdocItem 19 19 ··· 252 252 self.fname = fname 253 253 self.config = config 254 254 self.xforms = xforms 255 + 256 + tokenizer_set_log(self.config.log, f"{self.fname}: CMatch: ") 255 257 256 258 # Initial state for the state machines 257 259 self.state = state.NORMAL