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 --- .../java/org/zwobble/couscous/frontends/java/JavaReader.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/main/java/org') 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 f39428c..9cb6097 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java @@ -156,7 +156,14 @@ public class JavaReader { private static ExpressionNode readMethodInvocation(MethodInvocation expression) { val methodName = expression.getName().getIdentifier(); val arguments = readArguments(expression.arguments()); - if (expression.getExpression().getNodeType() == ASTNode.SIMPLE_NAME) { + if (expression.getExpression() == null) { + val methodBinding = expression.resolveMethodBinding(); + return MethodCallNode.methodCall( + ThisReferenceNode.thisReference(typeOf(methodBinding.getDeclaringClass())), + methodName, + arguments, + typeOf(expression)); + } else if (expression.getExpression().getNodeType() == ASTNode.SIMPLE_NAME) { val receiver = expression.getExpression(); return StaticMethodCallNode.staticMethodCall(typeOf(receiver), methodName, arguments); } else { -- cgit v1.2.3