summaryrefslogtreecommitdiff
path: root/hobgoblin/src/output/lang/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-11 17:11:54 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-11 17:11:54 +0100
commiteb4ce8b7ebceac4bbf68b779b9f6d6f4439ddbba (patch)
treeb90df6f69f2a8b25f4d43e525b6351e0c3e6b4e4 /hobgoblin/src/output/lang/java
parent10317b0c2841591a85530a5c4c38cac0c4bf5fe8 (diff)
Add switch statement to Java AST
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 {