diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java index 19568ea91b0..24918f4c652 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java @@ -61,6 +61,13 @@ public class FunctionCodegen { List typeParameters = (functionDescriptor instanceof PropertyAccessorDescriptor ? ((PropertyAccessorDescriptor)functionDescriptor).getCorrespondingProperty(): functionDescriptor).getTypeParameters(); int flags = ACC_PUBLIC; // TODO. + + if (!functionDescriptor.getValueParameters().isEmpty() + && functionDescriptor.getValueParameters().get(functionDescriptor.getValueParameters().size() - 1) + .getVarargElementType() != null) + { + flags |= ACC_VARARGS; + } OwnerKind kind = context.getContextKind(); diff --git a/compiler/testData/compileJavaAgainstKotlin/Vararg.java b/compiler/testData/compileJavaAgainstKotlin/Vararg.java new file mode 100644 index 00000000000..c40d5079407 --- /dev/null +++ b/compiler/testData/compileJavaAgainstKotlin/Vararg.java @@ -0,0 +1,9 @@ +import java.util.List; +import java.util.ArrayList; + +class Vararg { + { + List list = new ArrayList(); + List r = namespace.gg(list, 3, 4, 5, 6); + } +} diff --git a/compiler/testData/compileJavaAgainstKotlin/Vararg.kt b/compiler/testData/compileJavaAgainstKotlin/Vararg.kt new file mode 100644 index 00000000000..7a584e978d5 --- /dev/null +++ b/compiler/testData/compileJavaAgainstKotlin/Vararg.kt @@ -0,0 +1,3 @@ +import java.util.List; + +fun gg(list: List, vararg ints: Int) = list