1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-07 08:15:48 +02:00

Bug 353022 - Fix format switch without parenthesis

Change-Id: I8d8a6498abe5c08c65c03f86b563563910f01098
Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
This commit is contained in:
Marco Stornelli 2019-05-17 20:27:35 +02:00
parent 6452688c18
commit 1cd5180642
2 changed files with 23 additions and 1 deletions

View file

@ -3998,11 +3998,13 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
}
// switch body
String brace_position = preferences.brace_position_for_switch;
boolean hasOpenBrace = false;
int braceIndent = -1;
IASTStatement bodyStmt = node.getBody();
if (!startsWithMacroExpansion(bodyStmt)) {
boolean insertSpaceBeforeOpeningBrace = preferences.insert_space_before_opening_brace_in_switch;
formatAttributes(bodyStmt, insertSpaceBeforeOpeningBrace, false);
hasOpenBrace = peekNextToken() == Token.tLBRACE;
formatOpeningBrace(brace_position, insertSpaceBeforeOpeningBrace);
scribe.startNewLine();
braceIndent = scribe.numberOfIndentations;
@ -4142,7 +4144,8 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
}
scribe.startNewLine();
formatClosingBrace(brace_position);
if (hasOpenBrace)
formatClosingBrace(brace_position);
}
exitNode(bodyStmt);
return PROCESS_SKIP;

View file

@ -4223,4 +4223,23 @@ public class CodeFormatterTest extends BaseUITestCase {
public void testAlignmentOfLambda3_Bug500000() throws Exception {
assertFormatterResult();
}
//void foo() {
// int a;
// switch (a)
// default: {
// break;
// }
//}
//void foo() {
// int a;
// switch (a)
// default: {
// break;
// }
//}
public void testSwitchNoParen_Bug353022() throws Exception {
assertFormatterResult();
}
}