HomePhabricator

[refactor] Initial outline of implementation of "extract function" refactoring

Authored by arphaman on Oct 24 2017, 10:18 AM.

Description

[refactor] Initial outline of implementation of "extract function" refactoring

This commit adds an initial, skeleton outline of the "extract function"
refactoring. The extracted function doesn't capture variables / rewrite code
yet, it just basically does a simple copy-paste.
The following initiation rules are specified:

  • extraction can only be done for executable code in a function/method/block. This means that you can't extract a global variable initialize into a function right now.
  • simple literals and references are not extractable.

This commit also adds support for full source ranges to clang-refactor's test
mode.

Differential Revision: https://reviews.llvm.org/D38982

llvm-svn: 316465

Details