diff options
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java | 29 |
1 files changed, 9 insertions, 20 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 601e565..c08e447 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaReader.java @@ -244,32 +244,21 @@ public class JavaReader { @SuppressWarnings("unchecked") List<ExpressionNode> arguments = readArguments(expression.arguments()); final TypeName type = typeOf(expression); - if (expression.getExpression() == null) { - IMethodBinding methodBinding = expression.resolveMethodBinding(); - TypeName receiverType = typeOf(methodBinding.getDeclaringClass()); - if ((methodBinding.getModifiers() & Modifier.STATIC) != 0) { - return StaticMethodCallNode.staticMethodCall( - receiverType, - methodName, - arguments, - type); - } else { - return MethodCallNode.methodCall( - ThisReferenceNode.thisReference(receiverType), - methodName, - arguments, - type); - } - } else if (expression.getExpression().getNodeType() == ASTNode.SIMPLE_NAME) { - Expression receiver = expression.getExpression(); + + IMethodBinding methodBinding = expression.resolveMethodBinding(); + TypeName receiverType = typeOf(methodBinding.getDeclaringClass()); + if ((methodBinding.getModifiers() & Modifier.STATIC) != 0) { return StaticMethodCallNode.staticMethodCall( - typeOf(receiver), + receiverType, methodName, arguments, type); } else { + ExpressionNode receiver = expression.getExpression() == null + ? ThisReferenceNode.thisReference(receiverType) + : readExpression(expression.getExpression()); return MethodCallNode.methodCall( - readExpression(expression.getExpression()), + receiver, methodName, arguments, type); |
