aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-09 16:28:58 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-09 16:28:58 +0100
commit2acb5bb4e52d78aefb7c71c9507105eca61e7dca (patch)
tree6702a5f1adc3aee6cad5595d913036e565179856 /src/main/java/org/zwobble/couscous
parent060ce4397fe8b5d2c8a0f79f09748358d907f960 (diff)
Extract code to get receiver
Diffstat (limited to 'src/main/java/org/zwobble/couscous')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java26
1 files changed, 12 insertions, 14 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 74de3e0..4a86fc0 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
@@ -215,27 +215,25 @@ public class JavaExpressionReader {
Type returnType = typeOf(expression);
MethodSignature signature = JavaMethods.signature(expression.resolveMethodBinding().getMethodDeclaration());
+ return methodCall(
+ getReceiver(expression),
+ methodName,
+ typeParameters,
+ arguments,
+ returnType,
+ signature);
+ }
+
+ private Receiver getReceiver(MethodInvocation expression) {
IMethodBinding methodBinding = expression.resolveMethodBinding();
Type receiverType = typeOf(methodBinding.getDeclaringClass());
if ((Modifier.isStatic(methodBinding.getModifiers()))) {
- return methodCall(
- staticReceiver(erasure(receiverType)),
- methodName,
- typeParameters,
- arguments,
- returnType,
- signature);
+ return staticReceiver(erasure(receiverType));
} else {
ExpressionNode receiver = expression.getExpression() == null
? thisReference(receiverType)
: readExpressionWithoutBoxing(expression.getExpression());
- return methodCall(
- instanceReceiver(receiver),
- methodName,
- typeParameters,
- arguments,
- returnType,
- signature);
+ return instanceReceiver(receiver);
}
}