fix gen switch statement

This commit is contained in:
Maxim Medvedev
2011-05-24 12:17:12 +04:00
parent 4a8d79ee6d
commit 21451154b2
3 changed files with 13 additions and 7 deletions
@@ -92,8 +92,9 @@ public class SwitchStatementGenerator {
new ExpressionGenerator(builder, context),
section
);
builder.append(") {\n");
builder.append(") ");
}
builder.append("{\n");
final ExpressionContext extended = context.extend();
CodeBlockGenerator generator = new CodeBlockGenerator(builder, extended);
@@ -110,8 +111,9 @@ public class SwitchStatementGenerator {
}
}
builder.append("}");
if (isCase && i + 1 < caseSections.length) {
builder.append("}\nelse ");
builder.append("\nelse ");
StringBuilder elseBuilder = new StringBuilder();
final ExpressionContext elseContext = context.extend();
@@ -119,7 +121,9 @@ public class SwitchStatementGenerator {
GenerationUtil.insertStatementFromContextBefore(builder, elseContext);
builder.append(elseBuilder);
}
if (context.myStatements.size() > 0) context.setInsertCurlyBrackets();
if (context.myStatements.size() > 0) {
context.setInsertCurlyBrackets();
}
}
});
}
@@ -6,5 +6,6 @@ print("bbb");
else if (org.codehaus.groovy.runtime.DefaultGroovyMethods.isCase(new java.util.Date(45, 1, 2), date)) {
print("bbb");
}
else print("ccc");
else {
print("ccc");
}
@@ -6,5 +6,6 @@ print("bbb");
else if (org.codehaus.groovy.runtime.DefaultGroovyMethods.isCase(new java.util.ArrayList<java.lang.Integer>(java.util.Arrays.asList(1)), date)) {
print("bbb");
}
else print("ccc");
else {
print("ccc");
}