diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-31 16:30:43 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-31 16:30:43 +0000 |
| commit | a5e68ab6528f62c891479f387877118f90dfa2b8 (patch) | |
| tree | 6caf076e16e854a837e913203d9a4e1fc6e7e788 /src/main/java/org | |
| parent | e512a23e1b2ed73239db9692184f71a982362477 (diff) | |
Fix reading of methods
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); |
