| template <typename T, int x> // CHECK1: rename local [[@LINE]]:20 -> [[@LINE]]:21 |
| class Foo { // CHECK2: rename local [[@LINE-1]]:27 -> [[@LINE-1]]:28 |
| |
| T func(); // CHECK1-NEXT: rename local [[@LINE]]:1 -> [[@LINE]]:2 |
| |
| int array[x]; // CHECK2-NEXT: rename local [[@LINE]]:11 -> [[@LINE]]:12 |
| }; |
| |
| // CHECK1-NOT: rename |
| // CHECK2-NOT: rename |
| |
| // RUN: clang-refactor-test rename-initiate -at=%s:1:20 -new-name=U %s -fno-delayed-template-parsing | FileCheck --check-prefix=CHECK1 %s |
| // RUN: clang-refactor-test rename-initiate -at=%s:1:27 -new-name=U %s -fno-delayed-template-parsing | FileCheck --check-prefix=CHECK2 %s |
| |
| template<typename T, int x> |
| T Foo<T, x>::func() { return T(); } |
| |
| template <template<typename> class H, typename S> // CHECK3: rename local [[@LINE]]:36 -> [[@LINE]]:37 |
| // CHECK4: rename local [[@LINE-1]]:48 -> [[@LINE-1]]:49 |
| void templateTemplateParam(const H<S> &value) { // CHECK3-NEXT: rename local [[@LINE]]:34 -> [[@LINE]]:35 |
| // CHECK4-NEXT: rename local [[@LINE-1]]:36 -> [[@LINE-1]]:37 |
| } |
| |
| // RUN: clang-refactor-test rename-initiate -at=%s:18:36 -at=%s:20:34 -new-name=U %s -fno-delayed-template-parsing | FileCheck --check-prefix=CHECK3 %s |
| // RUN: clang-refactor-test rename-initiate -at=%s:18:48 -at=%s:20:36 -new-name=U %s -fno-delayed-template-parsing | FileCheck --check-prefix=CHECK4 %s |