KT-2271 fix: default param value refering another param
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user