aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java7
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java5
2 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
index f3a4a1f..4f08151 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
@@ -73,6 +73,9 @@ public class JavaExpressionReader {
case ASTNode.TYPE_LITERAL:
return readTypeLiteral((TypeLiteral)expression);
+ case ASTNode.PARENTHESIZED_EXPRESSION:
+ return readParenthesizedExpression((ParenthesizedExpression)expression);
+
case ASTNode.SIMPLE_NAME:
return readSimpleName((SimpleName)expression);
@@ -155,6 +158,10 @@ public class JavaExpressionReader {
return literal(erasure(typeOf(expression.getType())));
}
+ private ExpressionNode readParenthesizedExpression(ParenthesizedExpression expression) {
+ return readExpressionWithoutBoxing(expression.getExpression());
+ }
+
private ExpressionNode readSimpleName(SimpleName expression) {
IBinding binding = expression.resolveBinding();
if (binding.getKind() == IBinding.VARIABLE) {
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java
index 43d20b7..9291895 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java
@@ -47,6 +47,11 @@ public class ExpressionReadingTests {
}
@Test
+ public void canReadParenthesizedExpression() {
+ assertEquals(literal(42), readIntExpression("(42)"));
+ }
+
+ @Test
public void canReadThisReference() {
assertEquals(
thisReference(ScalarType.of("com.example.Example")),