JVM_IR: Fix bug in suspend function with many default arguments.

This commit is contained in:
Mads Ager
2020-01-13 13:44:18 +01:00
committed by Ilmir Usmanov
parent e46adbae29
commit ca05ff1791
3 changed files with 53 additions and 11 deletions
@@ -24,6 +24,43 @@ fun ordinary() = "OK"
suspend fun withDefault(s: String = "OK") = s
suspend fun withManyDefault(
s0: String = "NOT OK 0",
s1: String = "NOT OK 1",
s2: String = "NOT OK 2",
s3: String = "NOT OK 3",
s4: String = "NOT OK 4",
s5: String = "NOT OK 5",
s6: String = "NOT OK 6",
s7: String = "NOT OK 7",
s8: String = "NOT OK 8",
s9: String = "NOT OK 9",
s10: String = "NOT OK 10",
s11: String = "NOT OK 11",
s12: String = "NOT OK 12",
s13: String = "NOT OK 13",
s14: String = "NOT OK 14",
s15: String = "NOT OK 15",
s16: String = "NOT OK 16",
s17: String = "NOT OK 17",
s18: String = "NOT OK 18",
s19: String = "NOT OK 19",
s20: String = "NOT OK 20",
s21: String = "NOT OK 21",
s22: String = "NOT OK 22",
s23: String = "NOT OK 23",
s24: String = "NOT OK 24",
s25: String = "NOT OK 25",
s26: String = "NOT OK 26",
s27: String = "NOT OK 27",
s28: String = "NOT OK 28",
s29: String = "NOT OK 29",
s30: String = "NOT OK 30",
s31: String = "NOT OK 31",
s32: String = "NOT OK 32",
ok: String = "OK"
) = ok
var log = ""
var proceed = {}
@@ -64,6 +101,10 @@ fun box(): String {
builder {
res = ::withDefault.callSuspendBy(emptyMap()) as String?
}
if (res != "OK") return res ?: "FAIL 5"
builder {
res = ::withManyDefault.callSuspendBy(emptyMap()) as String?
}
builder {
::suspending.callSuspendBy(emptyMap())
}