omtcyfz created this revision.
omtcyfz added reviewers: alexfh, klimek.
omtcyfz added a subscriber: cfe-commits.
The only difference between some tests is `-offset` passed to `clang-rename`.
It makes sense to merge them into a single file and add multiple tool
invocations.
https://reviews.llvm.org/D23158
Files:
test/clang-rename/ClassAsTemplateArgument.cpp
test/clang-rename/ClassAsTemplateArgumentFindByClass.cpp
test/clang-rename/ClassAsTemplateArgumentFindByTemplateArgument.cpp
test/clang-rename/FunctionWithClassFindByName.cpp
test/clang-rename/TemplateFunction.cpp
test/clang-rename/TemplateFunctionFindByDeclaration.cpp
test/clang-rename/TemplateFunctionFindByUse.cpp
test/clang-rename/TemplateTypename.cpp
test/clang-rename/TemplateTypenameFindByTemplateParam.cpp
test/clang-rename/TemplateTypenameFindByTypeInside.cpp
test/clang-rename/UserDefinedConversion.cpp
test/clang-rename/UserDefinedConversionFindByTypeDeclaration.cpp
Index: test/clang-rename/UserDefinedConversionFindByTypeDeclaration.cpp
===================================================================
--- test/clang-rename/UserDefinedConversionFindByTypeDeclaration.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=136 -new-name=Bar %t.cpp -i --
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
-
-class Foo { // CHECK: class Bar {
-// ^ offset must be here
-public:
- Foo() {} // CHECK: Bar() {}
-};
-
-class Baz {
-public:
- operator Foo() const { // CHECK: operator Bar() const {
- Foo foo; // CHECK: Bar foo;
- return foo;
- }
-};
-
-int main() {
- Baz boo;
- Foo foo = static_cast<Foo>(boo); // CHECK: Bar foo = static_cast<Bar>(boo);
- return 0;
-}
-
-// Use grep -FUbo 'Foo' <file> to get the correct offset of Cla when changing
-// this file.
Index: test/clang-rename/UserDefinedConversion.cpp
===================================================================
--- test/clang-rename/UserDefinedConversion.cpp
+++ test/clang-rename/UserDefinedConversion.cpp
@@ -1,13 +1,26 @@
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=205 -new-name=Bar %t.cpp -i --
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
-
-class Foo {}; // CHECK: class Bar {};
+class Foo { // CHECK: class Bar {
+public:
+ Foo() {} // CHECK: Bar() {}
+};
class Baz {
- operator Foo() const { // CHECK: operator Bar() const {
-// offset ^
- Foo foo; // CHECK: Bar foo;
+public:
+ operator Foo() const { // CHECK: operator Bar() const {
+ Foo foo; // CHECK: Bar foo;
return foo;
}
};
+
+int main() {
+ Baz boo;
+ Foo foo = static_cast<Foo>(boo); // CHECK: Bar foo = static_cast<Bar>(boo);
+ return 0;
+}
+
+// RUN: cat %s > %t_0.cpp
+// RUN: clang-rename -offset=7 -new-name=Bar %t_0.cpp -i --
+// RUN: sed 's,//.*,,' %t_0.cpp | FileCheck %s
+
+// RUN: cat %s > %t_1.cpp
+// RUN: clang-rename -offset=156 -new-name=Bar %t_1.cpp -i --
+// RUN: sed 's,//.*,,' %t_1.cpp | FileCheck %s
Index: test/clang-rename/TemplateTypenameFindByTypeInside.cpp
===================================================================
--- test/clang-rename/TemplateTypenameFindByTypeInside.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-template <typename T> // CHECK: template <typename U>
-class Foo {
-T foo(T arg, T& ref, T* ptr) { // CHECK: U foo(U arg, U& ref, U* ptr) {
- T value; // CHECK: U value;
- int number = 42;
- value = (T)number; // CHECK: value = (U)number;
- value = static_cast<T>(number); // CHECK: value = static_cast<U>(number);
- return value;
-}
-
-static void foo(T value) {} // CHECK: static void foo(U value) {}
-
-T member; // CHECK: U member;
-};
-
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=99 -new-name=U %t.cpp -i -- -fno-delayed-template-parsing
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
Index: test/clang-rename/TemplateTypenameFindByTemplateParam.cpp
===================================================================
--- test/clang-rename/TemplateTypenameFindByTemplateParam.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-template <typename T> // CHECK: template <typename U>
-class Foo {
-T foo(T arg, T& ref, T* ptr) { // CHECK: U foo(U arg, U& ref, U* ptr) {
- T value; // CHECK: U value;
- int number = 42;
- value = (T)number; // CHECK: value = (U)number;
- value = static_cast<T>(number); // CHECK: value = static_cast<U>(number);
- return value;
-}
-
-static void foo(T value) {} // CHECK: static void foo(U value) {}
-
-T member; // CHECK: U member;
-};
-
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=19 -new-name=U %t.cpp -i -- -fno-delayed-template-parsing
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
Index: test/clang-rename/TemplateTypename.cpp
===================================================================
--- test/clang-rename/TemplateTypename.cpp
+++ test/clang-rename/TemplateTypename.cpp
@@ -1,12 +1,22 @@
-// Currently unsupported test.
-// RUN: cat %s > %t.cpp
-// FIXME: clang-rename should be able to rename template parameters correctly.
-
-template <typename T>
-T foo(T arg, T& ref, T* ptr) {
- T value;
+template <typename T> // CHECK: template <typename U>
+class Foo {
+T foo(T arg, T& ref, T* ptr) { // CHECK: U foo(U arg, U& ref, U* ptr) {
+ T value; // CHECK: U value;
int number = 42;
- value = (T)number;
- value = static_cast<T>(number);
+ value = (T)number; // CHECK: value = (U)number;
+ value = static_cast<T>(number); // CHECK: value = static_cast<U>(number);
return value;
}
+
+static void foo(T value) {} // CHECK: static void foo(U value) {}
+
+T member; // CHECK: U member;
+};
+
+// RUN: cat %s > %t_0.cpp
+// RUN: clang-rename -offset=19 -new-name=U %t_0.cpp -i -- -fno-delayed-template-parsing
+// RUN: sed 's,//.*,,' %t_0.cpp | FileCheck %s
+
+// RUN: cat %s > %t_1.cpp
+// RUN: clang-rename -offset=99 -new-name=U %t_1.cpp -i -- -fno-delayed-template-parsing
+// RUN: sed 's,//.*,,' %t_1.cpp | FileCheck %s
Index: test/clang-rename/TemplateFunctionFindByUse.cpp
===================================================================
--- test/clang-rename/TemplateFunctionFindByUse.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=233 -new-name=bar %t.cpp -i --
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
-
-template <typename T>
-T foo(T value) { // CHECK: T bar(T value) {
- return value;
-}
-
-int main() {
- foo<bool>(false); // CHECK: bar<bool>(false);
- foo<int>(0); // CHECK: bar<int>(0);
- return 0;
-}
Index: test/clang-rename/TemplateFunctionFindByDeclaration.cpp
===================================================================
--- test/clang-rename/TemplateFunctionFindByDeclaration.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=154 -new-name=bar %t.cpp -i --
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
-
-template <typename T>
-T foo(T value) { // CHECK: T bar(T value) {
- return value;
-}
-
-int main() {
- foo<bool>(false); // CHECK: bar<bool>(false);
- foo<int>(0); // CHECK: bar<int>(0);
- return 0;
-}
-
-// Use grep -FUbo 'foo' <file> to get the correct offset of foo when changing
-// this file.
Index: test/clang-rename/TemplateFunction.cpp
===================================================================
--- /dev/null
+++ test/clang-rename/TemplateFunction.cpp
@@ -0,0 +1,18 @@
+template <typename T>
+T foo(T value) { // CHECK: T bar(T value) {
+ return value;
+}
+
+int main() {
+ foo<bool>(false); // CHECK: bar<bool>(false);
+ foo<int>(0); // CHECK: bar<int>(0);
+ return 0;
+}
+
+// RUN: cat %s > %t_0.cpp
+// RUN: clang-rename -offset=24 -new-name=bar %t_0.cpp -i --
+// RUN: sed 's,//.*,,' %t_0.cpp | FileCheck %s
+
+// RUN: cat %s > %t_1.cpp
+// RUN: clang-rename -offset=104 -new-name=bar %t_1.cpp -i --
+// RUN: sed 's,//.*,,' %t_1.cpp | FileCheck %s
Index: test/clang-rename/FunctionWithClassFindByName.cpp
===================================================================
--- test/clang-rename/FunctionWithClassFindByName.cpp
+++ test/clang-rename/FunctionWithClassFindByName.cpp
@@ -12,4 +12,3 @@
Foo *Pointer = 0; // CHECK: Bar *Pointer = 0;
return 0;
}
-
Index: test/clang-rename/ClassAsTemplateArgumentFindByTemplateArgument.cpp
===================================================================
--- test/clang-rename/ClassAsTemplateArgumentFindByTemplateArgument.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=304 -new-name=Bar %t.cpp -i --
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
-
-class Foo {}; // CHECK: class Bar {};
-
-template <typename T>
-void func() {}
-
-template <typename T>
-class Baz {};
-
-int main() {
- func<Foo>(); // CHECK: func<Bar>();
- Baz<Foo> obj; // CHECK: Baz<Bar> obj;
- return 0;
-}
-
-// Use grep -FUbo 'Foo' <file> to get the correct offset of Cla when changing
-// this file.
Index: test/clang-rename/ClassAsTemplateArgumentFindByClass.cpp
===================================================================
--- test/clang-rename/ClassAsTemplateArgumentFindByClass.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// RUN: cat %s > %t.cpp
-// RUN: clang-rename -offset=136 -new-name=Bar %t.cpp -i --
-// RUN: sed 's,//.*,,' %t.cpp | FileCheck %s
-
-class Foo {}; // CHECK: class Bar {};
-
-template <typename T>
-void func() {}
-
-template <typename T>
-class Baz {};
-
-int main() {
- func<Foo>(); // CHECK: func<Bar>();
- Baz<Foo> obj; // CHECK: Baz<Bar> obj;
- return 0;
-}
-
-// Use grep -FUbo 'Foo' <file> to get the correct offset of Foo when changing
-// this file.
Index: test/clang-rename/ClassAsTemplateArgument.cpp
===================================================================
--- /dev/null
+++ test/clang-rename/ClassAsTemplateArgument.cpp
@@ -0,0 +1,21 @@
+class Foo {}; // CHECK: class Bar {};
+
+template <typename T>
+void func() {}
+
+template <typename T>
+class Baz {};
+
+int main() {
+ func<Foo>(); // CHECK: func<Bar>();
+ Baz<Foo> obj; // CHECK: Baz<Bar> obj;
+ return 0;
+}
+
+// RUN: cat %s > %t_0.cpp
+// RUN: clang-rename -offset=7 -new-name=Bar %t_0.cpp -i --
+// RUN: sed 's,//.*,,' %t_0.cpp | FileCheck %s
+
+// RUN: cat %s > %t_1.cpp
+// RUN: clang-rename -offset=175 -new-name=Bar %t_1.cpp -i --
+// RUN: sed 's,//.*,,' %t_1.cpp | FileCheck %s
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits