Commit 63f25bef authored by tfarina's avatar tfarina Committed by Commit bot

ui: Add another presubmit check to catch two more scoped_ptr usages.

This should catch the following usages:

1- return scoped_ptr<T>(foo)
2- bar = scoped_ptr<T>(foo)

And recommend the solo usage of make_scoped_ptr().

The entries were found with the following command line:

$ git grep -E '(=|\breturn)\s*scoped_ptr<.*?>([^)]+)'

BUG=None
TEST=g cl presubmit -uv
R=sky@chromium.org,maruel@chromium.org

Review URL: https://codereview.chromium.org/919253002

Cr-Commit-Position: refs/heads/master@{#317669}
parent 68c37ac8
......@@ -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):
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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment