summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
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)
));
}