patch from audalov for KT-1959

This commit is contained in:
Alex Tkachman
2012-07-05 15:49:24 +03:00
parent 9711bc841e
commit b989c701e9
4 changed files with 25 additions and 5 deletions
@@ -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();
@@ -0,0 +1,13 @@
open class A<T> {
open fun f(args : Array<T>) {}
}
class B(): A<String>() {
override fun f(args : Array<String>) {}
}
fun main(args: Array<String>) {
B()
}
fun box(): String = "OK"
@@ -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");
}
}