summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-28 13:42:59 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-28 13:42:59 +0100
commite64daf38c0b6c98ccd75af777c58708c395b1b95 (patch)
tree23b3245c8b148e724147521548a7719715991b03 /src/main/java
parenta1f0d93e232b407c9c71c78936e783f664fc3b2d (diff)
Use IOException rather than RuntimeException for unrecognised tag
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java
index 36052d5..3a7f0ff 100644
--- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java
+++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java
@@ -804,15 +804,10 @@ public class JavaTransient0Generator implements Generator {
cases.add(new JavaSwitchRule(
new JavaCaseDefault(),
new JavaBlock(List.of(
- new JavaThrowStatement(new JavaNewExpression(
- JavaTypeRef.RUNTIME_EXCEPTION,
- List.of(
- new JavaBinaryOperation(
- JavaBinaryOperator.ADD,
- new JavaStringLiteral("unrecognised variant tag for " + sumDefinition.type().describe() + ": "),
- new JavaRef(variantTag)
- )
- )
+ throwIoException(new JavaBinaryOperation(
+ JavaBinaryOperator.ADD,
+ new JavaStringLiteral("unrecognised variant tag for " + sumDefinition.type().describe() + ": "),
+ new JavaRef(variantTag)
))
))
));
@@ -1637,9 +1632,13 @@ public class JavaTransient0Generator implements Generator {
}
private static JavaThrowStatement throwIoException(String errorMessage) {
+ return throwIoException(new JavaStringLiteral(errorMessage));
+ }
+
+ private static JavaThrowStatement throwIoException(JavaExpression errorMessage) {
return new JavaThrowStatement(new JavaNewExpression(
JavaTypeRef.IO_EXCEPTION,
- List.of(new JavaStringLiteral(errorMessage))
+ List.of(errorMessage)
));
}