From 060ce4397fe8b5d2c8a0f79f09748358d907f960 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 9 Apr 2016 16:23:33 +0100 Subject: Read Java type parameters --- .../org/zwobble/couscous/frontends/java/JavaExpressionReader.java | 5 +++++ .../couscous/tests/frontends/java/ExpressionReadingTests.java | 1 + 2 files changed, 6 insertions(+) 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 typeArguments = expression.typeArguments(); + List typeParameters = eagerMap(typeArguments, JavaTypes::typeOf); + @SuppressWarnings("unchecked") List 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); diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java index 91136b6..c63deda 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java @@ -257,6 +257,7 @@ public class ExpressionReadingTests { methodCall( staticReceiver("java.util.Collections"), "emptyList", + list(Types.STRING), list(), parameterizedType(ScalarType.of("java.util.List"), list(Types.STRING)), signature( -- cgit v1.2.3