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(); + } }