• Hans Wennborg's avatar
    Revert "IWYU for bind/callback_helpers.h and ptr_util.h" · 25410c20
    Hans Wennborg authored
    This reverts commit b8ffaf4cfcb5e6b6a9916bb1b314820b10b0daf4.
    
    Reason for revert:
    This broke the build of the blink_gc_plugin, which does not use base/
    (see bug). Please don't commit to tools/clang/ without review.
    
    Original change's description:
    > IWYU for bind/callback_helpers.h and ptr_util.h
    > 
    > These missing includes are preventing removal of unused headers from
    > task_runner_util.h and consequently migration from task_runner_util.h to
    > task_runner.h's new PostTaskAndReplyWithResult member method.
    > 
    > The following script was run on every file in the codebase, prioritizing
    > .h over matching .cc to best enforce the rule of not include a header
    > included by your .h :
    > 
    > def Fix(file_path):
    >   content = refactor_lib.ReadFile(file_path)
    > 
    >   # Assume fwd-decls are correct in first pass.
    >   fwd_decls_match = re.compile(r'\n *[^/\n][^/\n][^/\n]*class (NullCallback|DoNothing|ScopedClosureRunner);', re.DOTALL).findall(content)
    >   if fwd_decls_match:
    >     print 'fwd_decls_match in %s' % (file_path)
    >     return False
    > 
    >   bind_helpers_match = re.compile(
    >       # Doesn't begin with a comment.
    >       r'\n *[^/\n][^/\n]'
    >       # Anything else after a non-comment start (and don't allow this to capture a comment start either)
    >       r'[^/\n]*'
    >       # Anything before but an open angle-bracket to avoid cases like unique_ptr<Foo> where you don't need the full definition of Foo.
    >       r'[^<]'
    >       # Only match with base:: prefix; more precise, can manually fix missing includes in //base proper in a follow-up pass if needed.
    >       r'base::(NullCallback|DoNothing|DeletePointer)\b[^*]', re.DOTALL).findall(content)
    > 
    >   callback_helpers_match = re.compile(r'\n *[^/\n][^/\n][^/\n]*[^<]base::(IsBaseCallback|EnableIfIsBaseCallback|AdaptCallbackForRepeating|ScopedClosureRunner)\b[^*]', re.DOTALL).findall(content)
    > 
    >   ptr_util_match = re.compile(r'\n *[^/\n][^/\n][^/\n]*[^<]base::WrapUnique\b[^*]', re.DOTALL).findall(content)
    > 
    >   if not bind_helpers_match and not callback_helpers_match and not ptr_util_match:
    >     return False
    > 
    >   updated_content = content
    >   if bind_helpers_match:
    >     updated_content = refactor_lib.AddInclude(file_path, updated_content, "base/bind_helpers.h")
    >   if callback_helpers_match:
    >     updated_content = refactor_lib.AddInclude(file_path, updated_content, "base/callback_helpers.h")
    >   if ptr_util_match:
    >     updated_content = refactor_lib.AddInclude(file_path, updated_content, "base/memory/ptr_util.h")
    > 
    >   if updated_content == content:
    >     return False
    > 
    >   # Write updated file
    >   refactor_lib.WriteFile(file_path, updated_content)
    > 
    >   return True
    > 
    > [email protected]
    > (mechanical change for //base API)
    > 
    > Bug: 1026641
    > Change-Id: Ic88585c62dd2f74d34c59c708faeddb231aee47f
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2087971
    > Reviewed-by: Gabriel Charette <[email protected]>
    > Reviewed-by: danakj <[email protected]>
    > Commit-Queue: Gabriel Charette <[email protected]>
    > Cr-Commit-Position: refs/heads/[email protected]{#747685}
    
    [email protected],[email protected]
    
    Change-Id: I59d6cd69bd898e9f6d10922c67d8c24ba582bf7f
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: 1026641, 1059359
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2091356Reviewed-by: default avatarHans Wennborg <[email protected]>
    Commit-Queue: Hans Wennborg <[email protected]>
    Cr-Original-Commit-Position: refs/heads/[email protected]{#747804}
    Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
    Cr-Mirrored-Commit: 7a13e2645a7cd50b0bdfd96e72bcdd9b7e9fee26
    25410c20
BaseBindRewriters.cpp 24.8 KB