From cd17d74157b9c6bb56241efb848b4238e2519e04 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 21 Sep 2011 14:28:09 +0200 Subject: [PATCH] Bug 357300 - Function parameter line wrapping wraps commas separating parameters --- .../internal/formatter/CodeFormatterVisitor.java | 14 ++++++-------- .../cdt/ui/tests/text/CodeFormatterTest.java | 8 ++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) 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 8cc1eb756e9..553f2c6b5e3 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 @@ -2089,14 +2089,6 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor, int i; for (i = 0; i < elementsLength; i++) { final IASTNode node= elements.get(i); - if (i < elementsLength - 1) { - scribe.setTailFormatter( - new TrailingTokenFormatter(options.fSeparatorToken, - options.fSpaceBeforeSeparator, - options.fSpaceAfterSeparator)); - } else { - scribe.setTailFormatter(tailFormatter); - } scribe.alignFragment(alignment, i); if (node instanceof ICPPASTConstructorChainInitializer) { // Constructor chain initializer is a special case. @@ -2105,7 +2097,13 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor, node.accept(this); } if (i < elementsLength - 1) { + scribe.setTailFormatter( + new TrailingTokenFormatter(options.fSeparatorToken, + options.fSpaceBeforeSeparator, + options.fSpaceAfterSeparator)); scribe.runTailFormatter(); + } else { + scribe.setTailFormatter(tailFormatter); } } if (addEllipsis) { 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 b21646a106a..92735889a07 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 @@ -2688,4 +2688,12 @@ public class CodeFormatterTest extends BaseUITestCase { assertFormatterResult(); } + //void wrap_when_necessary(more_than_one_template_argument_t p1, no_template_arguments_t p2, no_template_arguments_t p3) {} + + //void wrap_when_necessary(more_than_one_template_argument_t p1, + // no_template_arguments_t p2, no_template_arguments_t p3) { + //} + public void testTemplateIdInParameterList_Bug357300() throws Exception { + assertFormatterResult(); + } }