blob: 2318a560731220877d3cdc29afaf2afed3ae6789 [file] [log] [blame]
struct AbstractClass {
virtual void pureMethod() = 0;
};
#ifdef HAS_BODY
#define BODY { }
#else
#define BODY ;
#endif
struct Target1 : AbstractClass {
void method1() BODY
};
// CHECK1: "void pureMethod() override;\n\n" [[@LINE-1]]:1
// CHECK2: "void pureMethod() override { \n <#code#>\n}\n\n" [[@LINE-2]]:1
struct Target2 : AbstractClass {
void method1() BODY
void method2() BODY
};
// CHECK1: "void pureMethod() override;\n\n" [[@LINE-1]]:1
// CHECK2: "void pureMethod() override { \n <#code#>\n}\n\n" [[@LINE-2]]:1
struct Target2_1 : AbstractClass {
void method1() BODY
void method2();
};
// CHECK1: "void pureMethod() override;\n\n" [[@LINE-1]]:1
// CHECK2: "void pureMethod() override;\n\n" [[@LINE-2]]:1
struct Target3 : AbstractClass {
void method1() BODY
void method2() BODY
void method3() BODY
};
// CHECK1: "void pureMethod() override;\n\n" [[@LINE-1]]:1
// CHECK2: "void pureMethod() override { \n <#code#>\n}\n\n" [[@LINE-2]]:1
struct Target4 : AbstractClass {
void method1() BODY
void method2() BODY
void method3() BODY
void method4() BODY
};
// CHECK1: "void pureMethod() override;\n\n" [[@LINE-1]]:1
// CHECK2: "void pureMethod() override { \n <#code#>\n}\n\n" [[@LINE-2]]:1
// RUN: clang-refactor-test perform -action fill-in-missing-abstract-methods -at=%s:12:1 -at=%s:18:1 -at=%s:25:1 -at=%s:32:1 -at=%s:40:1 %s | FileCheck --check-prefix=CHECK1 %s
// RUN: clang-refactor-test perform -action fill-in-missing-abstract-methods -at=%s:12:1 -at=%s:18:1 -at=%s:25:1 -at=%s:32:1 -at=%s:40:1 %s -DHAS_BODY | FileCheck --check-prefix=CHECK2 %s