diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/javatransient0/JavaTransient0Generator.java | 19 |
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) )); } |
