aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
index 8037540..26936ee 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java
@@ -10,6 +10,7 @@ import org.eclipse.jdt.core.dom.ClassInstanceCreation;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.ConditionalExpression;
import org.eclipse.jdt.core.dom.Expression;
+import org.eclipse.jdt.core.dom.ExpressionStatement;
import org.eclipse.jdt.core.dom.FieldAccess;
import org.eclipse.jdt.core.dom.FieldDeclaration;
import org.eclipse.jdt.core.dom.IBinding;
@@ -32,6 +33,7 @@ import org.zwobble.couscous.ast.ClassNode;
import org.zwobble.couscous.ast.ClassNodeBuilder;
import org.zwobble.couscous.ast.ConstructorCallNode;
import org.zwobble.couscous.ast.ExpressionNode;
+import org.zwobble.couscous.ast.ExpressionStatementNode;
import org.zwobble.couscous.ast.FieldAccessNode;
import org.zwobble.couscous.ast.LiteralNode;
import org.zwobble.couscous.ast.MethodCallNode;
@@ -105,6 +107,8 @@ public class JavaReader {
switch (statement.getNodeType()) {
case ASTNode.RETURN_STATEMENT:
return readReturnStatement((ReturnStatement)statement);
+ case ASTNode.EXPRESSION_STATEMENT:
+ return readExpressionStatement((ExpressionStatement)statement);
default:
throw new RuntimeException("Unsupported statement: " + statement.getClass());
}
@@ -114,6 +118,10 @@ public class JavaReader {
return new ReturnNode(readExpression(statement.getExpression()));
}
+ private static StatementNode readExpressionStatement(ExpressionStatement statement) {
+ return new ExpressionStatementNode(readExpression(statement.getExpression()));
+ }
+
private static ExpressionNode readExpression(Expression expression) {
switch (expression.getNodeType()) {
case ASTNode.BOOLEAN_LITERAL: