diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 8ce7e33559e..b3787b5592c 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -1156,7 +1156,7 @@ public class JavaDescriptorResolver { JetType varargElementType; if (psiType instanceof PsiEllipsisType) { - varargElementType = JetStandardLibrary.getInstance().getArrayElementType(outType); + varargElementType = JetStandardLibrary.getInstance().getArrayElementType(TypeUtils.makeNotNullable(outType)); } else { varargElementType = null; diff --git a/compiler/testData/readJavaBinaryClass/vararg/VarargInt.java b/compiler/testData/readJavaBinaryClass/vararg/VarargInt.java new file mode 100644 index 00000000000..2e0a2b94b28 --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/vararg/VarargInt.java @@ -0,0 +1,5 @@ +package test; + +class VarargInt { + void vararg(int... p) {} +} diff --git a/compiler/testData/readJavaBinaryClass/vararg/VarargInt.kt b/compiler/testData/readJavaBinaryClass/vararg/VarargInt.kt new file mode 100644 index 00000000000..93ebbed91d0 --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/vararg/VarargInt.kt @@ -0,0 +1,5 @@ +package test + +open class VarargInt() : java.lang.Object() { + open fun vararg(vararg p0: Int): Unit = #() +} diff --git a/compiler/testData/readJavaBinaryClass/vararg/VarargInt.txt b/compiler/testData/readJavaBinaryClass/vararg/VarargInt.txt new file mode 100644 index 00000000000..11a443c40e6 --- /dev/null +++ b/compiler/testData/readJavaBinaryClass/vararg/VarargInt.txt @@ -0,0 +1,6 @@ +namespace test + +open class test.VarargInt : java.lang.Object { + final /*constructor*/ fun (): test.VarargInt + open fun vararg(/*0*/ vararg p0: jet.Int): jet.Tuple0 +}