ASTokenFormatter: ensure else without if is considered control flow, and mark if it is missing optional braces
diff --git a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
index 534f77e..7282906 100644
--- a/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
+++ b/formatter/src/main/java/org/apache/royale/formatter/ASTokenFormatter.java
@@ -850,7 +850,9 @@
&& nextTokenNotComment.getType() == ASTokenTypes.TOKEN_KEYWORD_IF) {
requiredSpace = true;
} else {
- blockStack.add(new BlockStackItem(token));
+ BlockStackItem stackItem = new BlockStackItem(token);
+ stackItem.controlFlow = true;
+ blockStack.add(stackItem);
blockOpenPending = true;
if (nextToken != null && nextToken.getType() == ASTokenTypes.TOKEN_SEMICOLON) {
blockStack.remove(blockStack.size() - 1);
@@ -862,6 +864,7 @@
&& !skipWhitespaceBeforeSemicolon) {
indent = increaseIndent(indent);
numRequiredNewLines = Math.max(numRequiredNewLines, 1);
+ stackItem.braces = false;
}
}
break;