From 01162459616d26ed9ba1ecbb3870873db58c8b9b Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Tue, 20 Mar 2012 01:36:06 -0700 Subject: [PATCH] Fixed excessive code reformatting. --- .../core/dom/rewrite/changegenerator/ChangeGenerator.java | 6 +++++- .../extractfunction/ExtractFunctionRefactoringTest.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java index f8a07a9b3e1..3fe59806219 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java @@ -345,8 +345,12 @@ public class ChangeGenerator extends ASTVisitor { int offset = edit.getOffset(); int end = offset + edit.getLength(); int newOffset = document.getLineInformationOfOffset(offset).getOffset(); - int newEnd = endOffset(document.getLineInformationOfOffset(end)); edit = originalEdits[i]; + int originalEnd = edit.getExclusiveEnd(); + // Expand to the end of the line unless the end of the edit region is at + // the beginning of line both, before and after the change. + int newEnd = (originalEnd == 0 || code.charAt(originalEnd - 1) == '\n') && end == newOffset ? + end : endOffset(document.getLineInformationOfOffset(end)); int offsetBefore = edit.getOffset(); int newOffsetBefore = newOffset + offsetBefore - offset; int newEndBefore = newEnd + offsetBefore + edit.getLength() - end; diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java index 37a62e9d84e..10910d20611 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/refactoring/extractfunction/ExtractFunctionRefactoringTest.java @@ -285,7 +285,7 @@ public class ExtractFunctionRefactoringTest extends RefactoringTestBase { //void main() { // /*$*/A a(""); // a.m1();/*$$*/ - // A b(a); + // A b(a); // nonstandard indent to check that it is preserved //} //==================== //class A { @@ -303,7 +303,7 @@ public class ExtractFunctionRefactoringTest extends RefactoringTestBase { // //void main() { // A a = extracted(); - // A b(a); + // A b(a); // nonstandard indent to check that it is preserved //} public void testLocalVariableDeclaration_3() throws Exception { assertRefactoringSuccess();