From c35c7890249860ea38c4f1324c57cde9ae6afe88 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 12 Oct 2015 20:49:32 +0100 Subject: Support implicit instance method calls --- .../couscous/tests/frontends/java/JavaReaderTests.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/test/java/org') diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java index 7859268..57bcaeb 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java @@ -7,6 +7,7 @@ import org.zwobble.couscous.ast.ClassNode; import org.zwobble.couscous.ast.ExpressionNode; import org.zwobble.couscous.ast.ReturnNode; import org.zwobble.couscous.ast.TernaryConditionalNode; +import org.zwobble.couscous.ast.ThisReferenceNode; import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.frontends.java.JavaReader; import org.zwobble.couscous.values.BooleanValue; @@ -74,6 +75,23 @@ public class JavaReaderTests { readExpression("\"hello\".startsWith(\"h\")")); } + @Test + public void canReadImplicitInstanceMethodCalls() { + val classNode = readClass( + "public String loop() {" + + " return loop();" + + "}"); + val returnNode = (ReturnNode) classNode.getMethods().get(0).getBody().get(0); + + assertEquals( + methodCall( + ThisReferenceNode.thisReference(TypeName.of("com.example.Example")), + "loop", + asList(), + StringValue.REF), + returnNode.getValue()); + } + @Test public void canReadStaticMethodCalls() { assertEquals( -- cgit v1.2.3