Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(644)

Unified Diff: presubmit_canned_checks.py

Issue 9756001: Allow 'class Singleton<T>' in header files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: add unit test Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/presubmit_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: presubmit_canned_checks.py
diff --git a/presubmit_canned_checks.py b/presubmit_canned_checks.py
index b033f6257bf58888a3c479b77d073fc66c220121..576d58d743c2501e30545203eb4dd7085dbc1260 100644
--- a/presubmit_canned_checks.py
+++ b/presubmit_canned_checks.py
@@ -824,17 +824,17 @@ def _CheckConstNSObject(input_api, output_api, source_file_filter):
return []
-def _CheckSingletonInHeaders(input_api, output_api, source_file_filter):
+def CheckSingletonInHeaders(input_api, output_api, source_file_filter=None):
"""Checks to make sure no header files have |Singleton<|."""
- pattern = input_api.re.compile(r'Singleton\s*<')
+ pattern = input_api.re.compile(r'(?<!class\s)Singleton\s*<')
files = []
for f in input_api.AffectedSourceFiles(source_file_filter):
if (f.LocalPath().endswith('.h') or f.LocalPath().endswith('.hxx') or
f.LocalPath().endswith('.hpp') or f.LocalPath().endswith('.inl')):
contents = input_api.ReadFile(f)
for line in contents.splitlines(False):
- line = input_api.re.sub(r'//.*$', '', line) # Strip C++ comment.
- if pattern.search(line):
+ if (not input_api.re.match(r'//', line) and # Strip C++ comment.
+ pattern.search(line)):
files.append(f)
break
@@ -924,7 +924,7 @@ def PanProjectChecks(input_api, output_api,
results.extend(_CheckConstNSObject(
input_api, output_api, source_file_filter=sources))
snapshot("checking singletons")
- results.extend(_CheckSingletonInHeaders(
+ results.extend(CheckSingletonInHeaders(
input_api, output_api, source_file_filter=sources))
# The following checks are only done on commit, since the commit bot will
« no previous file with comments | « no previous file | tests/presubmit_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698