import test.* fun testExtensionInClass() : String { var res = with(Z(1)) { "1".run("OK") } if (res != "1OK") return "failed in class 1: $res" res = with(Z(1)) { "1".run() } if (res != "1null") return "failed in class 2: $res" res = with(Z(2)) { "3".run("OK", {(a, b) -> a + b + value }, 1) } if (res != "OK123") return "failed in class 3: $res" res = with(Z(3)) { "4".run(lambda = {(a, b) -> a + b + value }) } if (res != "034") return "failed in class 4: $res" return "OK" } fun box(): String { var res = "1".run("OK") if (res != "1OK") return "failed 1: $res" res = "1".run() if (res != "1null") return "failed 2: $res" res = "3".run("OK", {(a, b) -> a + b}, 1) if (res != "OK13") return "failed 3: $res" res = "4".run(lambda = {(a, b) -> a + b}) if (res != "04") return "failed 4: $res" return testExtensionInClass() }