diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2016-02-06 17:21:20 -0800 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2016-02-06 17:21:20 -0800 |
commit | 2728f7bd81a9da729247851199fc0858f6b84aed (patch) | |
tree | 4968674eac5a7921187213f829ca9f85fa961c03 /util/style.py | |
parent | 5592798865ece858bab2b444bc782d19121e2566 (diff) | |
download | gem5-2728f7bd81a9da729247851199fc0858f6b84aed.tar.xz |
util: added line length and boolean comparison style checkers
Added checkers for line length and boolean comparisons
(== true/== false) to the style script.
Diffstat (limited to 'util/style.py')
-rw-r--r-- | util/style.py | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/util/style.py b/util/style.py index ee3c0bf94..7ee58dfa6 100644 --- a/util/style.py +++ b/util/style.py @@ -404,12 +404,6 @@ class SortedIncludes(Verifier): f.write('\n') f.close() -# list of all verifier classes -all_verifiers = [ - Whitespace, - ControlSpace, - SortedIncludes -] def linelen(line): tabs = line.count('\t') @@ -425,6 +419,48 @@ def linelen(line): return count +class LineLength(Verifier): + languages = set(('C', 'C++', 'swig', 'python', 'asm', 'isa', 'scons')) + test_name = 'line length' + opt_name = 'length' + + def check_line(self, line): + return linelen(line) <= 78 + + def fix(self, filename, regions=all_regions): + self.write("Warning: cannot automatically fix overly long lines.\n") + + +class BoolCompare(Verifier): + languages = set(('C', 'C++', 'python')) + test_name = 'boolean comparison' + opt_name = 'boolcomp' + + regex = re.compile(r'\s*==\s*([Tt]rue|[Ff]alse)\b') + + def check_line(self, line): + return self.regex.search(line) == None + + def fix_line(self, line): + match = self.regex.search(line) + if match: + if match.group(1) in ('true', 'True'): + line = self.regex.sub('', line) + else: + self.write("Warning: cannot automatically fix " + "comparisons with false/False.\n") + return line + + +# list of all verifier classes +all_verifiers = [ + Whitespace, + ControlSpace, + LineLength, + BoolCompare, + SortedIncludes +] + class ValidationStats(object): def __init__(self): self.toolong = 0 |