diff options
author | Alex Lorenz <arphaman@gmail.com> | 2017-06-30 16:36:09 +0000 |
---|---|---|
committer | Alex Lorenz <arphaman@gmail.com> | 2017-06-30 16:36:09 +0000 |
commit | 4abbd92bf4c830549ff5536de9aa821012d76491 (patch) | |
tree | 20bac7715081f927841f1c350c176a53d4b5fc1f /clang/test/clang-rename/ComplexFunctionOverride.cpp | |
parent | 069e5cfaf1df6c8c71eb52b6f4d9ed410c459368 (diff) | |
download | bcm5719-llvm-4abbd92bf4c830549ff5536de9aa821012d76491.tar.gz bcm5719-llvm-4abbd92bf4c830549ff5536de9aa821012d76491.zip |
[refactor] Move clang-rename into the clang repository
The core engine of clang-rename will be used for local and global renames in the
new refactoring engine, as mentioned in
http://lists.llvm.org/pipermail/cfe-dev/2017-June/054286.html.
The clang-rename tool is still supported but might get deprecated in the future.
Differential Revision: https://reviews.llvm.org/D34696
llvm-svn: 306840
Diffstat (limited to 'clang/test/clang-rename/ComplexFunctionOverride.cpp')
-rw-r--r-- | clang/test/clang-rename/ComplexFunctionOverride.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/clang/test/clang-rename/ComplexFunctionOverride.cpp b/clang/test/clang-rename/ComplexFunctionOverride.cpp new file mode 100644 index 00000000000..ccf3a20e540 --- /dev/null +++ b/clang/test/clang-rename/ComplexFunctionOverride.cpp @@ -0,0 +1,47 @@ +struct A { + virtual void foo() {} /* Test 1 */ // CHECK: virtual void bar() {} +}; + +struct B : A { + void foo() override {} /* Test 2 */ // CHECK: void bar() override {} +}; + +struct C : B { + void foo() override {} /* Test 3 */ // CHECK: void bar() override {} +}; + +struct D : B { + void foo() override {} /* Test 4 */ // CHECK: void bar() override {} +}; + +struct E : D { + void foo() override {} /* Test 5 */ // CHECK: void bar() override {} +}; + +int main() { + A a; + a.foo(); // CHECK: a.bar(); + B b; + b.foo(); // CHECK: b.bar(); + C c; + c.foo(); // CHECK: c.bar(); + D d; + d.foo(); // CHECK: d.bar(); + E e; + e.foo(); // CHECK: e.bar(); + return 0; +} + +// Test 1. +// RUN: clang-rename -offset=26 -new-name=bar %s -- | sed 's,//.*,,' | FileCheck %s +// Test 2. +// RUN: clang-rename -offset=109 -new-name=bar %s -- | sed 's,//.*,,' | FileCheck %s +// Test 3. +// RUN: clang-rename -offset=201 -new-name=bar %s -- | sed 's,//.*,,' | FileCheck %s +// Test 4. +// RUN: clang-rename -offset=293 -new-name=bar %s -- | sed 's,//.*,,' | FileCheck %s +// Test 5. +// RUN: clang-rename -offset=385 -new-name=bar %s -- | sed 's,//.*,,' | FileCheck %s + +// To find offsets after modifying the file, use: +// grep -Ubo 'foo.*' <file> |