aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-09 16:23:33 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-09 16:23:33 +0100
commit060ce4397fe8b5d2c8a0f79f09748358d907f960 (patch)
treed4d365c9f5c4850c08b8719ac29fef2df1f346b1 /src/main/java/org/zwobble
parent45a87e8fa907a86b5eab48fe37189bf539b38403 (diff)
Read Java type parameters
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java5
1 files changed, 5 insertions, 0 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 0d19cd1..74de3e0 100644
--- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
+++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java
@@ -206,6 +206,9 @@ public class JavaExpressionReader {
private ExpressionNode readMethodInvocation(MethodInvocation expression) {
String methodName = expression.getName().getIdentifier();
@SuppressWarnings("unchecked")
+ List<org.eclipse.jdt.core.dom.Type> typeArguments = expression.typeArguments();
+ List<Type> typeParameters = eagerMap(typeArguments, JavaTypes::typeOf);
+ @SuppressWarnings("unchecked")
List<ExpressionNode> arguments = readArguments(
expression.resolveMethodBinding(),
expression.arguments());
@@ -218,6 +221,7 @@ public class JavaExpressionReader {
return methodCall(
staticReceiver(erasure(receiverType)),
methodName,
+ typeParameters,
arguments,
returnType,
signature);
@@ -228,6 +232,7 @@ public class JavaExpressionReader {
return methodCall(
instanceReceiver(receiver),
methodName,
+ typeParameters,
arguments,
returnType,
signature);