From 0e2f92ed79e3c976ab5a41d40380e761e7f69d3a Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Wed, 20 Nov 2024 22:51:58 +0800 Subject: [PATCH] build(clint): make NOLINT work with header checks (#31281) Problem: NOLINT doesn't work with header checks. Solution: Move these checks after ProcessLine() calls. --- src/clint.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/clint.py b/src/clint.py index b57bbe354b..8044607098 100755 --- a/src/clint.py +++ b/src/clint.py @@ -897,7 +897,7 @@ def CheckIncludes(filename, lines, error): if (not name.endswith('.h.generated.h') and not name.endswith('/defs.h') and not name.endswith('_defs.h') and - not name.endswith('h.inline.generated.h') and + not name.endswith('.h.inline.generated.h') and not name.endswith('_defs.generated.h') and not name.endswith('_enum.generated.h')): error(filename, i, 'build/include_defs', 5, @@ -2206,12 +2206,6 @@ def ProcessFileData(filename, file_extension, lines, error, error = RecordedError - if file_extension == 'h': - CheckForHeaderGuard(filename, lines, error) - CheckIncludes(filename, lines, error) - if filename.endswith('/defs.h') or filename.endswith('_defs.h'): - CheckNonSymbols(filename, lines, error) - RemoveMultiLineComments(filename, lines, error) clean_lines = CleansedLines(lines, init_lines) for line in range(clean_lines.NumLines()): @@ -2219,6 +2213,12 @@ def ProcessFileData(filename, file_extension, lines, error, nesting_state, error, extra_check_functions) + if file_extension == 'h': + CheckForHeaderGuard(filename, lines, error) + CheckIncludes(filename, lines, error) + if filename.endswith('/defs.h') or filename.endswith('_defs.h'): + CheckNonSymbols(filename, lines, error) + # We check here rather than inside ProcessLine so that we see raw # lines rather than "cleaned" lines. CheckForBadCharacters(filename, lines, error)