Use .span() for positions, and separate line_no argument in Match
This reverts a previous change where line_no was removed and put into
a triple tuple. It was discovered that re.Match.span() conveniently
returns (start, end), so separating line_no again makes the code cleaner.
The legibility of the code heavily outweighs the issues pointed out by
Pylint (hence disabled).
Signed-off-by: Yuto Takano <yuto.takano@arm.com>
diff --git a/tests/scripts/check_names.py b/tests/scripts/check_names.py
index ecb0045..604dfd4 100755
--- a/tests/scripts/check_names.py
+++ b/tests/scripts/check_names.py
@@ -67,13 +67,15 @@
Fields:
* filename: the file that the match was in.
* line: the full line containing the match.
- * pos: a tuple of (line_no, start, end) positions on the file line where the
- match is.
+ * line_no: the line number.
+ * pos: a tuple of (start, end) positions on the line where the match is.
* name: the match itself.
"""
- def __init__(self, filename, line, pos, name):
+ def __init__(self, filename, line, line_no, pos, name):
+ # pylint: disable=too-many-arguments
self.filename = filename
self.line = line
+ self.line_no = line_no
self.pos = pos
self.name = name
@@ -81,8 +83,8 @@
"""
Return a formatted code listing representation of the erroneous line.
"""
- gutter = format(self.pos[0], "4d")
- underline = self.pos[1] * " " + (self.pos[2] - self.pos[1]) * "^"
+ gutter = format(self.line_no, "4d")
+ underline = self.pos[0] * " " + (self.pos[1] - self.pos[0]) * "^"
return (
" {0} |\n".format(" " * len(gutter)) +
@@ -338,7 +340,8 @@
macros.append(Match(
header_file,
line,
- (line_no, macro.start(), macro.end()),
+ line_no,
+ macro.span("macro"),
macro.group("macro")))
return macros
@@ -372,9 +375,9 @@
mbed_words.append(Match(
filename,
line,
- (line_no, name.start(), name.end()),
- name.group(0)
- ))
+ line_no,
+ name.span(0),
+ name.group(0)))
return mbed_words
@@ -425,9 +428,8 @@
enum_consts.append(Match(
header_file,
line,
- (line_no,
- enum_const.start("enum_const"),
- enum_const.end("enum_const")),
+ line_no,
+ enum_const.span("enum_const"),
enum_const.group("enum_const")))
return enum_consts
@@ -533,7 +535,8 @@
identifiers.append(Match(
header_file,
line,
- (line_no, identifier.start(), identifier.end()),
+ line_no,
+ identifier.span(),
group))
return identifiers
@@ -722,7 +725,8 @@
problems.append(PatternMismatch(check_pattern, item_match))
# Double underscore should not be used for names
if re.search(r".*__.*", item_match.name):
- problems.append(PatternMismatch("double underscore", item_match))
+ problems.append(
+ PatternMismatch("no double underscore allowed", item_match))
self.output_check_result(
"Naming patterns of {}".format(group_to_check),