| Index: cc/PRESUBMIT.py
|
| diff --git a/cc/PRESUBMIT.py b/cc/PRESUBMIT.py
|
| index f381684bfbc991e110a1087f2e9b750cb255e530..d749aac40ac66de1e0bdaf461a7e0f88492d9096 100644
|
| --- a/cc/PRESUBMIT.py
|
| +++ b/cc/PRESUBMIT.py
|
| @@ -313,6 +313,42 @@ def CheckForUseOfWrongClock(input_api,
|
| else:
|
| return []
|
|
|
| +def CheckOverrideFinal(input_api, output_api,
|
| + whitelist=CC_SOURCE_FILES, blacklist=None):
|
| + """Make sure new lines of code don't use the OVERRIDE or FINAL macros."""
|
| +
|
| + # TODO(mostynb): remove this check once the macros are removed
|
| + # from base/compiler_specific.h.
|
| +
|
| + errors = []
|
| +
|
| + source_file_filter = lambda x: input_api.FilterSourceFile(
|
| + x, white_list=CC_SOURCE_FILES, black_list=None)
|
| +
|
| + override_files = []
|
| + final_files = []
|
| +
|
| + for f in input_api.AffectedSourceFiles(source_file_filter):
|
| + contents = input_api.ReadFile(f, 'rb')
|
| +
|
| + # "override" and "final" should be used instead of OVERRIDE/FINAL now.
|
| + if re.search(r"\bOVERRIDE\b", contents):
|
| + override_files.append(f.LocalPath())
|
| +
|
| + if re.search(r"\bFINAL\b", contents):
|
| + final_files.append(f.LocalPath())
|
| +
|
| + if override_files:
|
| + return [output_api.PresubmitError(
|
| + 'These files use OVERRIDE instead of using override:',
|
| + items=override_files)]
|
| + if final_files:
|
| + return [output_api.PresubmitError(
|
| + 'These files use FINAL instead of using final:',
|
| + items=final_files)]
|
| +
|
| + return []
|
| +
|
| def CheckChangeOnUpload(input_api, output_api):
|
| results = []
|
| results += CheckAsserts(input_api, output_api)
|
| @@ -324,6 +360,7 @@ def CheckChangeOnUpload(input_api, output_api):
|
| results += CheckNamespace(input_api, output_api)
|
| results += CheckForUseOfWrongClock(input_api, output_api)
|
| results += FindUselessIfdefs(input_api, output_api)
|
| + results += CheckOverrideFinal(input_api, output_api)
|
| results += input_api.canned_checks.CheckPatchFormatted(input_api, output_api)
|
| return results
|
|
|
|
|