summaryrefslogtreecommitdiff
path: root/hobgoblin/src/output/lang/java
diff options
context:
space:
mode:
Diffstat (limited to 'hobgoblin/src/output/lang/java')
-rw-r--r--hobgoblin/src/output/lang/java/ast.hob12
1 files changed, 12 insertions, 0 deletions
diff --git a/hobgoblin/src/output/lang/java/ast.hob b/hobgoblin/src/output/lang/java/ast.hob
index 16000ed..4553236 100644
--- a/hobgoblin/src/output/lang/java/ast.hob
+++ b/hobgoblin/src/output/lang/java/ast.hob
@@ -132,6 +132,7 @@ sum JavaBlockStatement {
variant JavaIfStatement;
variant JavaLocalVariableDeclaration;
variant JavaReturn;
+ variant JavaSwitchStatement;
}
struct JavaBasicForStatement {
@@ -168,6 +169,17 @@ struct JavaReturn {
field value: JavaExpression;
}
+struct JavaSwitchStatement {
+ field selectorExpression: JavaExpression;
+ field rules: List[JavaSwitchRule];
+}
+
+struct JavaSwitchRule {
+ field type: JavaTypeRef;
+ field variableName: JavaIdentifier;
+ field body: JavaBlock;
+}
+
// == Expressions ==
sum JavaExpression {