diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/togglefunction/ToggleRefactoringTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/togglefunction/ToggleRefactoringTest.java index d41289a42ef..77f4bee5d61 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/togglefunction/ToggleRefactoringTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/togglefunction/ToggleRefactoringTest.java @@ -3648,4 +3648,22 @@ public class ToggleRefactoringTest extends RefactoringTestBase { public void testToggleWithLambdaExpression_518271() throws Exception { assertRefactoringSuccess(); } + + //Test.cpp + //class MyClass { + // void MyMethod(); + //}; + // + //void MyClass::/*$*/MyMethod/*$$*/() { + //// A comment + //} + //==================== + //class MyClass { + // void MyMethod() { + // // A comment + // } + //}; + public void testToggleWithCommentsInSameFile_486036() throws Exception { + assertRefactoringSuccess(); + } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java index 48ea14176d9..a78096648d6 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/togglefunction/ToggleFromImplementationToHeaderOrClassStrategy.java @@ -146,6 +146,10 @@ public class ToggleFromImplementationToHeaderOrClassStrategy implements IToggleR } private void copyAllCommentsToNewLocation(IASTNode node, final ASTRewrite oldRw, final ASTRewrite newRw) { + //Bug 486036: In case oldRw == newRw (same file), there's no need to copy anything, the comments will follow along. + if (oldRw == newRw) { + return; + } node.accept(new CPPASTAllVisitor() { @Override public int visitAll(IASTNode node){