aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaMethodReferenceReader.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaMethodReferenceReader.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaMethodReferenceReader.java
index db88310..4930ee4 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaMethodReferenceReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaMethodReferenceReader.java
@@ -81,11 +81,23 @@ public class JavaMethodReferenceReader {
arguments,
type);
} else {
- return methodCall(
- javaReader.readExpressionWithoutBoxing(scope, expression.getExpression()),
- methodName,
- arguments,
- type);
+ Expression left = expression.getExpression();
+ if (left instanceof SimpleName && ((SimpleName) left).resolveBinding().getKind() == IBinding.TYPE) {
+ if (arguments.size() != 1) {
+ throw new UnsupportedOperationException();
+ }
+ return methodCall(
+ arguments.get(0),
+ methodName,
+ list(),
+ type);
+ } else {
+ return methodCall(
+ javaReader.readExpressionWithoutBoxing(scope, left),
+ methodName,
+ arguments,
+ type);
+ }
}
}
}