From 15479e909515a9249a547f7c06ed38c0094cdb8b Mon Sep 17 00:00:00 2001 From: Marco Stornelli Date: Sat, 1 Feb 2020 15:23:59 +0100 Subject: [PATCH] Bug 559669 - Fix formatter on/off tags Change-Id: Ia481703a0360ec5741d2fb079a75aa13a33bff39 Signed-off-by: Marco Stornelli --- .../formatter/CodeFormatterVisitor.java | 2 +- .../cdt/ui/tests/text/CodeFormatterTest.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java index 589bb364723..2e3ce60c7a8 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java @@ -4920,7 +4920,7 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor, } } else if (onPos != -1 && onPos > offPos) { if (inInactiveCode) { - int inactiveCodeEnd = nodeLocation.getNodeOffset() + nodeLocation.getNodeLength(); + int inactiveCodeEnd = nodeLocation.getNodeOffset(); positions.add(new InactivePosition(inactiveCodeStart, inactiveCodeEnd - inactiveCodeStart, false)); } inInactiveCode = false; diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java index 3d9e189d1cd..88a6229a737 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/CodeFormatterTest.java @@ -4717,4 +4717,21 @@ public class CodeFormatterTest extends BaseUITestCase { public void testEnumWithAttributes_Bug559545() throws Exception { assertFormatterResult(); } + + ////@formatter:off + // int a; + // + ////@formatter:on + // int b; + // int c; + + ////@formatter:off + // int a; + // + ////@formatter:on + //int b; + //int c; + public void testFormatterOnOff_Bug559669() throws Exception { + assertFormatterResult(); + } }