2 class Foo
{ /* Test 1 */ // CHECK: class Bar { /* Test 1 */
4 T
foo(T arg
, T
& ref
, T
* ptr
) {
8 value
= static_cast<T
>(number
);
11 static void foo(T value
) {}
17 Foo
<T
> obj
; /* Test 2 */ // CHECK: Bar<T> obj;
19 Foo
<T
>::foo(); // CHECK: Bar<T>::foo();
23 Foo
<int> i
; /* Test 3 */ // CHECK: Bar<int> i;
25 Foo
<int>::foo(0); // CHECK: Bar<int>::foo(0);
27 Foo
<bool> b
; // CHECK: Bar<bool> b;
29 Foo
<bool>::foo(false); // CHECK: Bar<bool>::foo(false);
35 // RUN: clang-rename -offset=29 -new-name=Bar %s -- -fno-delayed-template-parsing | sed 's,//.*,,' | FileCheck %s
37 // RUN: clang-rename -offset=324 -new-name=Bar %s -- -fno-delayed-template-parsing | sed 's,//.*,,' | FileCheck %s
39 // RUN: clang-rename -offset=463 -new-name=Bar %s -- -fno-delayed-template-parsing | sed 's,//.*,,' | FileCheck %s
41 // To find offsets after modifying the file, use:
42 // grep -Ubo 'Foo.*' <file>