mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 19:36:38 +00:00

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
47 lines
1.4 KiB
C
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
|