aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/frontends
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-27 21:56:02 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-27 21:56:02 +0100
commitd310a8cf9487f253fbc4152d182dfdef460aeb6d (patch)
treeb20dc5d9d250556ce68ca98191e4d83d0a9a274d /src/main/java/org/zwobble/couscous/frontends
parentcaa7e3a069fa0dfe81834d48850384c38594dd3a (diff)
Read return statements without value
Diffstat (limited to 'src/main/java/org/zwobble/couscous/frontends')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java
index e75585f..6b71684 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaStatementReader.java
@@ -93,7 +93,10 @@ class JavaStatementReader {
}
private StatementNode readReturnStatement(ReturnStatement statement) {
- return ReturnNode.returns(readExpression(returnType.get(), statement.getExpression()));
+ ExpressionNode value = statement.getExpression() == null
+ ? LiteralNode.UNIT
+ : readExpression(returnType.get(), statement.getExpression());
+ return ReturnNode.returns(value);
}
private StatementNode readThrowStatement(ThrowStatement statement) {