From 5f852c33a8a57bd8fad58747b339961ac6c835ef Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 27 Apr 2016 22:28:29 +0100 Subject: Support passing arrays as vararg argument --- .../tests/frontends/java/ExpressionReadingTests.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/test/java') 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 fb7a25b..408c390 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 @@ -267,6 +267,24 @@ public class ExpressionReadingTests { readExpression("java.util.List", "java.util.Arrays.asList(\"one\", \"two\")")); } + @Test + public void canReadMethodCallsWithArrayAsVarargs() { + TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Arrays"), "asList"), "T"); + assertEquals( + methodCall( + staticReceiver("java.util.Arrays"), + "asList", + list(Types.STRING), + list(array(Types.STRING, list())), + parameterizedType(ScalarType.of("java.util.List"), list(Types.STRING)), + signature( + "asList", + list(typeParameter), + list(Types.array(typeParameter)), + parameterizedType(ScalarType.of("java.util.List"), list(typeParameter)))), + readExpression("java.util.List", "java.util.Arrays.asList(new String[]{})")); + } + @Test public void canReadGenericStaticMethodCallsWithExplicitTypeParameters() { TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Collections"), "emptyList"), "T"); -- cgit v1.2.3