1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-28 02:33:18 +02:00

Bug 548138 - Fix override method with implementation

Change-Id: Icbea4fe97e8f3b481ea187f905661c8adcc7cc06
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
This commit is contained in:
Marco Stornelli 2019-06-11 17:45:20 +02:00
parent 903722ec8f
commit f1e2d9549d
2 changed files with 32 additions and 3 deletions

View file

@ -640,4 +640,36 @@ public class OverrideMethodsRefactoringTest extends RefactoringTestBase {
selectedMethods = new String[] { "baseFunc(void *)const" };
assertRefactoringSuccess();
}
//A.h
//class Base {
//public:
// virtual ~Base();
// virtual void baseFunc() const {
// }
//};
//class X: public Base {
//public:
// X();
// /*$*//*$$*/
//};
//====================
//class Base {
//public:
// virtual ~Base();
// virtual void baseFunc() const {
// }
//};
//class X: public Base {
//public:
// X();
// virtual void baseFunc() const;
//};
//
//inline void X::baseFunc() const {
//}
public void testWithHeaderOnlyImpl_Bug548138() throws Exception {
selectedMethods = new String[] { "baseFunc()const" };
assertRefactoringSuccess();
}
}

View file

@ -137,9 +137,6 @@ public class Method {
return null;
IASTDeclarator declarator = (IASTDeclarator) declaration.getParent();
IASTNode parent = declarator.getParent();
if (!(parent instanceof IASTSimpleDeclaration))
return null;
/**
* We can't just copy the original nodes here but we need to create a new node. We can't do it