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
+1 -5
View File
@@ -19,11 +19,7 @@
<entry name="?*.kt" />
<entry name="?*.template" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
<annotationProcessing enabled="false" useClasspath="true" />
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_STRING" value="-target 1.6" />
@@ -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");
}
}