fun box()

in compiler/testData/codegen/box/reflection/callBy/inlineClasses/nullableObject/defaultArguments/extensionFunctionsWithInlineClassParameters.kt [208:498]


fun box(): String {
    val zero = S("0")
    val one = S("1")
    val two = S("2")

    val c = C()

    assertEquals(one, S::extension1_0.callBy(one))
    assertEquals(one, S::extension2_0.callBy(one))
    assertEquals(one, C::extensionDefault1_1.callBy(c, one))
    assertEquals(default, C::extensionDefault1_1.callByEmpty(c))
    assertEquals(one, C::extensionDefault1_2.callBy(c, one))
    assertEquals(default, C::extensionDefault1_2.callByEmpty(c))
    assertEquals(S("12"), S::extensionDefault1_1_1.callBy(one, two))
    assertEquals(S("1-default"), S::extensionDefault1_1_1.callByEmpty(one))
    assertEquals(S("12"), S::extensionDefault1_1_2.callBy(one, two))
    assertEquals(S("1-default"), S::extensionDefault1_1_2.callByEmpty(one))
    assertEquals(S("12"), S::extensionDefault2_1_1.callBy(one, two))
    assertEquals(S("1-default"), S::extensionDefault2_1_1.callByEmpty(one))
    assertEquals(S("12"), S::extensionDefault2_1_2.callBy(one, two))
    assertEquals(S("1-default"), S::extensionDefault2_1_2.callByEmpty(one))
    assertEquals(
        S("00"),
        C::extensionDefault32_1.callBy(
            c,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(c.extensionDefault32_1(), C::extensionDefault32_1.callByEmpty(c))
    assertEquals(
        S("00"),
        C::extensionDefault32_2.callBy(
            c,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(c.extensionDefault32_2(), C::extensionDefault32_2.callByEmpty(c))
    assertEquals(
        S("000"),
        S::extensionDefault1_32_1.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_32_1(), S::extensionDefault1_32_1.callByEmpty(zero))
    assertEquals(
        S("000"),
        S::extensionDefault1_32_2.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_32_2(), S::extensionDefault1_32_2.callByEmpty(zero))
    assertEquals(
        S("000"),
        S::extensionDefault2_32_1.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_32_1(), S::extensionDefault2_32_1.callByEmpty(zero))
    assertEquals(
        S("000"),
        S::extensionDefault2_32_2.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_32_2(), S::extensionDefault2_32_2.callByEmpty(zero))
    assertEquals(
        S("00"),
        C::extensionDefault33_1.callBy(
            c,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(c.extensionDefault33_1(), C::extensionDefault33_1.callByEmpty(c))
    assertEquals(
        S("00"),
        C::extensionDefault33_2.callBy(
            c,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(c.extensionDefault33_2(), C::extensionDefault33_2.callByEmpty(c))
    assertEquals(
        S("000"),
        S::extensionDefault1_33_1.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_33_1(), S::extensionDefault1_33_1.callByEmpty(zero))
    assertEquals(
        S("000"),
        S::extensionDefault1_33_2.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_33_2(), S::extensionDefault1_33_2.callByEmpty(zero))
    assertEquals(
        S("000"),
        S::extensionDefault2_33_1.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_33_1(), S::extensionDefault2_33_1.callByEmpty(zero))
    assertEquals(
        S("000"),
        S::extensionDefault2_33_2.callBy(
            zero,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_33_2(), S::extensionDefault2_33_2.callByEmpty(zero))

    assertEquals(one, one::extension1_0.callBy())
    assertEquals(one, one::extension2_0.callBy())
    assertEquals(one, c::extensionDefault1_1.callBy(one))
    assertEquals(default, c::extensionDefault1_1.callBy(emptyMap()))
    assertEquals(one, c::extensionDefault1_2.callBy(one))
    assertEquals(default, c::extensionDefault1_2.callBy(emptyMap()))
    assertEquals(S("12"), one::extensionDefault1_1_1.callBy(two))
    assertEquals(S("1-default"), one::extensionDefault1_1_1.callBy(emptyMap()))
    assertEquals(S("12"), one::extensionDefault1_1_2.callBy(two))
    assertEquals(S("1-default"), one::extensionDefault1_1_2.callBy(emptyMap()))
    assertEquals(S("12"), one::extensionDefault2_1_1.callBy(two))
    assertEquals(S("1-default"), one::extensionDefault2_1_1.callBy(emptyMap()))
    assertEquals(S("12"), one::extensionDefault2_1_2.callBy(two))
    assertEquals(S("1-default"), one::extensionDefault2_1_2.callBy(emptyMap()))
    assertEquals(
        S("00"),
        c::extensionDefault32_1.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(c.extensionDefault32_1(), c::extensionDefault32_1.callBy(emptyMap()))
    assertEquals(
        S("00"),
        c::extensionDefault32_2.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(c.extensionDefault32_2(), c::extensionDefault32_2.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault1_32_1.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_32_1(), zero::extensionDefault1_32_1.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault1_32_2.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_32_2(), zero::extensionDefault1_32_2.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault2_32_1.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_32_1(), zero::extensionDefault2_32_1.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault2_32_2.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_32_2(), zero::extensionDefault2_32_2.callBy(emptyMap()))
    assertEquals(
        S("00"),
        c::extensionDefault33_1.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(c.extensionDefault33_1(), c::extensionDefault33_1.callBy(emptyMap()))
    assertEquals(
        S("00"),
        c::extensionDefault33_2.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(c.extensionDefault33_2(), c::extensionDefault33_2.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault1_33_1.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_33_1(), zero::extensionDefault1_33_1.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault1_33_2.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault1_33_2(), zero::extensionDefault1_33_2.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault2_33_1.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_33_1(), zero::extensionDefault2_33_1.callBy(emptyMap()))
    assertEquals(
        S("000"),
        zero::extensionDefault2_33_2.callBy(
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
            0L, 0L, zero
        )
    )
    assertEquals(zero.extensionDefault2_33_2(), zero::extensionDefault2_33_2.callBy(emptyMap()))

    return "OK"
}