diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 539635056d8..8c89653e336 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -19,11 +19,7 @@
-
-
-
-
-
+
diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java
index e12babfb45e..8afadc62fc2 100644
--- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java
+++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionCodegen.java
@@ -543,6 +543,9 @@ public class FunctionCodegen {
if (argType.getSort() == Type.OBJECT) {
StackValue.onStack(JetTypeMapper.TYPE_OBJECT).put(method.getArgumentTypes()[i], iv);
}
+ else if (argType.getSort() == Type.ARRAY) {
+ StackValue.onStack(JetTypeMapper.ARRAY_GENERIC_TYPE).put(method.getArgumentTypes()[i], iv);
+ }
//noinspection AssignmentToForLoopParameter
reg += argType.getSize();
@@ -584,6 +587,9 @@ public class FunctionCodegen {
if (argType.getSort() == Type.OBJECT) {
StackValue.onStack(JetTypeMapper.TYPE_OBJECT).put(method.getArgumentTypes()[i], iv);
}
+ else if (argType.getSort() == Type.ARRAY) {
+ StackValue.onStack(JetTypeMapper.ARRAY_GENERIC_TYPE).put(method.getArgumentTypes()[i], iv);
+ }
//noinspection AssignmentToForLoopParameter
reg += argType.getSize();
diff --git a/compiler/testData/codegen/regressions/kt1959.kt b/compiler/testData/codegen/regressions/kt1959.kt
new file mode 100644
index 00000000000..e7bfcbaa2c8
--- /dev/null
+++ b/compiler/testData/codegen/regressions/kt1959.kt
@@ -0,0 +1,13 @@
+open class A {
+ open fun f(args : Array) {}
+}
+
+class B(): A() {
+ override fun f(args : Array) {}
+}
+
+fun main(args: Array) {
+ B()
+}
+
+fun box(): String = "OK"
diff --git a/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java
index d94b30d473c..42f4832a91c 100644
--- a/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java
+++ b/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java
@@ -23,4 +23,9 @@ public class BridgeMethodGenTest extends CodegenTestCase {
createEnvironmentWithMockJdkAndIdeaAnnotations(CompilerSpecialMode.JDK_HEADERS);
blackBoxFile("bridge.jet");
}
+
+ public void testKt1959() {
+ createEnvironmentWithMockJdkAndIdeaAnnotations(CompilerSpecialMode.JDK_HEADERS);
+ blackBoxFile("regressions/kt1959.kt");
+ }
}