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 cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits