KT-2271 fix: default param value refering another param

This commit is contained in:
Alex Tkachman
2012-08-06 08:28:38 +03:00
parent 9819095451
commit 2d63f6f970
3 changed files with 8 additions and 0 deletions
@@ -466,6 +466,7 @@ public class FunctionCodegen {
List<ValueParameterDescriptor> paramDescrs = functionDescriptor.getValueParameters();
for (int i = 0; i < paramDescrs.size(); i++) {
int size = argTypes[i + (hasReceiver ? 1 : 0)].getSize();
frameMap.enter(paramDescrs.get(i),size);
var += size;
}
@@ -0,0 +1,3 @@
fun foo(i: Int, j: Int = i) = j
fun box() = if (foo(1) == 1) "OK" else "fail"
@@ -133,6 +133,10 @@ public class FunctionGenTest extends CodegenTestCase {
blackBoxFile("regressions/kt1739.kt");
}
public void testKt2271() {
blackBoxFile("regressions/kt2271.kt");
}
public static class WithJavaFunctionGenTest extends CodegenTestCase {
private void blackBoxFileWithJava(@NotNull String ktFile) throws Exception {
File javaClassesTempDirectory = new File(FileUtil.getTempDirectory(), "java-classes");