llvm-project/clang/test/Refactor/tool-test-support.c
Alex Lorenz 7fe441b20d [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
2017-10-24 17:18:45 +00:00

47 lines
1.4 KiB
C

// RUN: clang-refactor local-rename -selection=test:%s -new-name=test -v %s -- | FileCheck %s
/*range=*/int test;
/*range named=*/int test2;
/*range= +1*/int test3;
/* range = +100 */int test4;
/*range named =+0*/int test5;
/*range =->+0:22*/int test6;
// CHECK: Test selection group '':
// CHECK-NEXT: 105-105
// CHECK-NEXT: 158-158
// CHECK-NEXT: 197-197
// CHECK-NEXT: 248-251
// CHECK-NEXT: Test selection group 'named':
// CHECK-NEXT: 132-132
// CHECK-NEXT: 218-218
// The following invocations are in the default group:
// CHECK: invoking action 'local-rename':
// CHECK-NEXT: -selection={{.*}}tool-test-support.c:3:11
// CHECK: invoking action 'local-rename':
// CHECK-NEXT: -selection={{.*}}tool-test-support.c:7:15
// CHECK: invoking action 'local-rename':
// CHECK-NEXT: -selection={{.*}}tool-test-support.c:9:29
// CHECK: invoking action 'local-rename':
// CHECK-NEXT: -selection={{.*}}tool-test-support.c:13:19 -> {{.*}}tool-test-support.c:13:22
// The following invocations are in the 'named' group, and they follow
// the default invocation even if some of their ranges occur prior to the
// ranges from the default group because the groups are tested one-by-one:
// CHECK: invoking action 'local-rename':
// CHECK-NEXT: -selection={{.*}}tool-test-support.c:5:17
// CHECK: invoking action 'local-rename':
// CHECK-NEXT: -selection={{.*}}tool-test-support.c:11:20