diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java | 3 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java | 4 |
2 files changed, 4 insertions, 3 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 4a86fc0..0fa3c30 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaExpressionReader.java @@ -12,6 +12,7 @@ import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; +import static java.util.Arrays.asList; import static org.zwobble.couscous.ast.ArrayNode.array; import static org.zwobble.couscous.ast.CastNode.cast; import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall; @@ -206,7 +207,7 @@ 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<ITypeBinding> typeArguments = asList(expression.resolveMethodBinding().getTypeArguments()); List<Type> typeParameters = eagerMap(typeArguments, JavaTypes::typeOf); @SuppressWarnings("unchecked") List<ExpressionNode> arguments = readArguments( 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 f99f129..43d20b7 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 @@ -1,6 +1,5 @@ package org.zwobble.couscous.tests.frontends.java; -import org.junit.Ignore; import org.junit.Test; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.ast.identifiers.Identifiers; @@ -224,6 +223,7 @@ public class ExpressionReadingTests { methodCall( staticReceiver("java.util.Arrays"), "asList", + list(Types.STRING), list(array(Types.STRING, list())), parameterizedType(ScalarType.of("java.util.List"), list(Types.STRING)), signature( @@ -241,6 +241,7 @@ public class ExpressionReadingTests { methodCall( staticReceiver("java.util.Arrays"), "asList", + list(Types.STRING), list(array(Types.STRING, list(literal("one"), literal("two")))), parameterizedType(ScalarType.of("java.util.List"), list(Types.STRING)), signature( @@ -270,7 +271,6 @@ public class ExpressionReadingTests { } @Test - @Ignore("WIP") public void canReadGenericStaticMethodCallsWithImplicitTypeParameters() { TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Collections"), "emptyList"), "T"); assertEquals( |
