diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-17 16:40:32 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-17 16:40:32 +0100 |
| commit | 886358792f8b2bee4fb2a2e16b8f34162be50cfe (patch) | |
| tree | 7b04edce31bc5019b65650c7c9c6597bbe51452d /src/main | |
| parent | eb006bb4f48d8e5a438bcff3047d275f4a18cf60 (diff) | |
Java: read expression statements
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java | 8 |
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: |
