diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-09 16:28:58 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-09 16:28:58 +0100 |
| commit | 2acb5bb4e52d78aefb7c71c9507105eca61e7dca (patch) | |
| tree | 6702a5f1adc3aee6cad5595d913036e565179856 /src/main/java/org | |
| parent | 060ce4397fe8b5d2c8a0f79f09748358d907f960 (diff) | |
Extract code to get receiver
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java | 26 |
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); } } |
