fun box()

in compiler/testData/codegen/box/reflection/callBy/membersWithDefaultValuesAndContextParams.kt [160:339]


fun box(): String {
    val memberFoo30Ref = findMember(A::class, "memberFoo30")
    val memberFoo30this = findInstanceParam(memberFoo30Ref)
    val memberFoo30x = findParam(memberFoo30Ref, "x")
    val memberFoo30y = findParam(memberFoo30Ref, "y")
    val memberFoo30p1 = findParam(memberFoo30Ref, "p1")
    val memberFoo30p10 = findParam(memberFoo30Ref, "p10")
    val memberFoo30p30 = findParam(memberFoo30Ref, "p30")


    assertEquals(
        "a_b_42.0_10.0_30.0",
        memberFoo30Ref.callBy(
            mapOf(
                memberFoo30this to A(),
                memberFoo30x to "a",
                memberFoo30y to "b",
                memberFoo30p1 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_42.0_30.0",
        memberFoo30Ref.callBy(
            mapOf(
                memberFoo30this to A(),
                memberFoo30x to "a",
                memberFoo30y to "b",
                memberFoo30p10 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_10.0_42.0",
        memberFoo30Ref.callBy(
            mapOf(
                memberFoo30this to A(),
                memberFoo30x to "a",
                memberFoo30y to "b",
                memberFoo30p30 to 42.0
            )
        )
    )

    val memberFoo31Ref = findMember(A::class, "memberFoo31")
    val memberFoo31this = findInstanceParam(memberFoo31Ref)
    val memberFoo31x = findParam(memberFoo31Ref, "x")
    val memberFoo31y = findParam(memberFoo31Ref, "y")
    val memberFoo31p1 = findParam(memberFoo31Ref, "p1")
    val memberFoo31p10 = findParam(memberFoo31Ref, "p10")
    val memberFoo31p31 = findParam(memberFoo31Ref, "p31")

    assertEquals(
        "a_b_42.0_10.0_31.0",
        memberFoo31Ref.callBy(
            mapOf(
                memberFoo31this to A(),
                memberFoo31x to "a",
                memberFoo31y to "b",
                memberFoo31p1 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_42.0_31.0",
        memberFoo31Ref.callBy(
            mapOf(
                memberFoo31this to A(),
                memberFoo31x to "a",
                memberFoo31y to "b",
                memberFoo31p10 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_10.0_42.0",
        memberFoo31Ref.callBy(
            mapOf(
                memberFoo31this to A(),
                memberFoo31x to "a",
                memberFoo31y to "b",
                memberFoo31p31 to 42.0
            )
        )
    )

    val memberFoo32Ref = findMember(A::class, "memberFoo32")
    val memberFoo32this = findInstanceParam(memberFoo32Ref)
    val memberFoo32x = findParam(memberFoo32Ref, "x")
    val memberFoo32y = findParam(memberFoo32Ref, "y")
    val memberFoo32p1 = findParam(memberFoo32Ref, "p1")
    val memberFoo32p10 = findParam(memberFoo32Ref, "p10")
    val memberFoo32p32 = findParam(memberFoo32Ref, "p32")

    assertEquals(
        "a_b_42.0_10.0_32.0",
        memberFoo32Ref.callBy(
            mapOf(
                memberFoo32this to A(),
                memberFoo32x to "a",
                memberFoo32y to "b",
                memberFoo32p1 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_42.0_32.0",
        memberFoo32Ref.callBy(
            mapOf(
                memberFoo32this to A(),
                memberFoo32x to "a",
                memberFoo32y to "b",
                memberFoo32p10 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_10.0_42.0",
        memberFoo32Ref.callBy(
            mapOf(
                memberFoo32this to A(),
                memberFoo32x to "a",
                memberFoo32y to "b",
                memberFoo32p32 to 42.0
            )
        )
    )

    val memberFoo33Ref = findMember(A::class, "memberFoo33")
    val memberFoo33this = findInstanceParam(memberFoo33Ref)
    val memberFoo33x = findParam(memberFoo33Ref, "x")
    val memberFoo33y = findParam(memberFoo33Ref, "y")
    val memberFoo33p1 = findParam(memberFoo33Ref, "p1")
    val memberFoo33p10 = findParam(memberFoo33Ref, "p10")
    val memberFoo33p33 = findParam(memberFoo33Ref, "p33")

    assertEquals(
        "a_b_42.0_10.0_33.0",
        memberFoo33Ref.callBy(
            mapOf(
                memberFoo33this to A(),
                memberFoo33x to "a",
                memberFoo33y to "b",
                memberFoo33p1 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_42.0_33.0",
        memberFoo33Ref.callBy(
            mapOf(
                memberFoo33this to A(),
                memberFoo33x to "a",
                memberFoo33y to "b",
                memberFoo33p10 to 42.0
            )
        )
    )

    assertEquals(
        "a_b_1.0_10.0_42.0",
        memberFoo33Ref.callBy(
            mapOf(
                memberFoo33this to A(),
                memberFoo33x to "a",
                memberFoo33y to "b",
                memberFoo33p33 to 42.0
            )
        )
    )

    return "OK"
}