Index: ui/PRESUBMIT.py |
diff --git a/ui/PRESUBMIT.py b/ui/PRESUBMIT.py |
index 0123fc6db2e075efb67b09ea1292598e58efadeb..40098b7a0de29c61a7d6c326c01204db15785460 100644 |
--- a/ui/PRESUBMIT.py |
+++ b/ui/PRESUBMIT.py |
@@ -12,6 +12,7 @@ INCLUDE_CPP_FILES_ONLY = ( |
r'.*\.(cc|h|mm)$', |
) |
+ |
def CheckScopedPtr(input_api, output_api, |
white_list=INCLUDE_CPP_FILES_ONLY, black_list=None): |
black_list = tuple(black_list or input_api.DEFAULT_BLACK_LIST) |
@@ -22,11 +23,22 @@ def CheckScopedPtr(input_api, output_api, |
for f in input_api.AffectedSourceFiles(source_file_filter): |
for line_number, line in f.ChangedContents(): |
# Disallow: |
+ # return scoped_ptr<T>(foo); |
+ # bar = scoped_ptr<T>(foo); |
+ # But allow: |
+ # return scoped_ptr<T[]>(foo); |
+ # bar = scoped_ptr<T[]>(foo); |
+ if input_api.re.search( |
+ r'(=|\breturn)\s*scoped_ptr<[^\[\]>]+>\([^)]+\)', line): |
+ errors.append(output_api.PresubmitError( |
+ ('%s:%d uses explicit scoped_ptr constructor. ' + |
+ 'Use make_scoped_ptr() instead.') % (f.LocalPath(), line_number))) |
+ # Disallow: |
# scoped_ptr<T>() |
- if input_api.re.search(r'\bscoped_ptr<.*?>\(\)', line): |
+ if re.search(r'\bscoped_ptr<.*?>\(\)', line): |
scottmg
2015/02/24 00:18:33
i think this should be input_api.re? or there need
|
errors.append(output_api.PresubmitError( |
- '%s:%d uses scoped_ptr<T>(). Use nullptr instead.' % |
- (f.LocalPath(), line_number))) |
+ '%s:%d uses scoped_ptr<T>(). Use nullptr instead.' % |
+ (f.LocalPath(), line_number))) |
return errors |