diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/overridemethods/OverrideMethodsRefactoringTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/overridemethods/OverrideMethodsRefactoringTest.java index 7002675e29b..9147c8b2a52 100755 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/overridemethods/OverrideMethodsRefactoringTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/overridemethods/OverrideMethodsRefactoringTest.java @@ -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(); + } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/overridemethods/Method.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/overridemethods/Method.java index 7da8987a12e..9a92f39f46e 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/overridemethods/Method.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/overridemethods/Method.java @@ -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