summaryrefslogtreecommitdiffstats
path: root/clang/test/Refactor/Extract/ExtractExprIntoFunction.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [refactor][extract] avoid extracting expressions from types in functionsAlex Lorenz2017-11-141-2/+16
| | | | llvm-svn: 318169
* [refactor][extract] insert semicolons into extracted/inserted codeAlex Lorenz2017-11-031-2/+2
| | | | | | | | | | | | | | | | | | when needed This commit implements the semicolon insertion logic into the extract refactoring. The following rules are used: - extracting expression: add terminating ';' to the extracted function. - extracting statements that don't require terminating ';' (e.g. switch): add terminating ';' to the callee. - extracting statements with ';': move (if possible) the original ';' from the callee and add terminating ';'. - otherwise, add ';' to both places. Differential Revision: https://reviews.llvm.org/D39441 llvm-svn: 317343
* [refactor] Initial outline of implementation of "extract function" refactoringAlex Lorenz2017-10-241-0/+56
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
OpenPOWER on IntegriCloud