fun box()

in compiler/testData/codegen/box/coroutines/javaInterop/severalCaptures.kt [111:285]


fun box(): String {
    builder {
        (A.call() as SuspendRunnable).run1()
    }
    StateMachineChecker.check(2)
    StateMachineChecker.reset()

    builder {
        (A.call() as SuspendRunnable).run2()
    }
    StateMachineChecker.check(2)
    StateMachineChecker.reset()

    builder {
        (A.call2() as SuspendRunnable).run1()
    }
    StateMachineChecker.check(4)
    StateMachineChecker.reset()

    builder {
        (A.call2() as SuspendRunnable).run2()
    }
    StateMachineChecker.check(4)
    StateMachineChecker.reset()

    builder {
        (A.call3() as SuspendRunnable).run1()
    }
    StateMachineChecker.check(8)
    StateMachineChecker.reset()

    builder {
        (A.call3() as SuspendRunnable).run2()
    }
    StateMachineChecker.check(16)
    StateMachineChecker.reset()

    builder {
        (A.call4() as SuspendRunnable).run1()
    }
    StateMachineChecker.check(4)
    StateMachineChecker.reset()

    builder {
        (A.call4() as SuspendRunnable).run2()
    }
    StateMachineChecker.check(4)
    StateMachineChecker.reset()

    builder {
        (A.call5() as SuspendRunnable).run1()
    }
    StateMachineChecker.check(4)
    StateMachineChecker.reset()

    builder {
        (A.call5() as SuspendRunnable).run2()
    }
    StateMachineChecker.check(2)
    StateMachineChecker.reset()

    builder {
        inlineMe({
                     StateMachineChecker.suspendHere()
                     StateMachineChecker.suspendHere()
                 }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run1()
    }
    StateMachineChecker.check(4)
    StateMachineChecker.reset()
    builder {
        inlineMe({
                     StateMachineChecker.suspendHere()
                     StateMachineChecker.suspendHere()
                 }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run2()
    }
    StateMachineChecker.check(4)
    StateMachineChecker.reset()

    builder {
        inlineMe2 ({
                       StateMachineChecker.suspendHere()
                       StateMachineChecker.suspendHere()
                   }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run1()
    }
    StateMachineChecker.check(8)
    StateMachineChecker.reset()
    builder {
        inlineMe2 ({
                       StateMachineChecker.suspendHere()
                       StateMachineChecker.suspendHere()
                   }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run2()
    }
    StateMachineChecker.check(8)
    StateMachineChecker.reset()

    builder {
        inlineMe3 ({
                       StateMachineChecker.suspendHere()
                       StateMachineChecker.suspendHere()
                   }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run1()
    }
    StateMachineChecker.check(16)
    StateMachineChecker.reset()

    builder {
        inlineMe3 ({
                       StateMachineChecker.suspendHere()
                       StateMachineChecker.suspendHere()
                   }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run2()
    }
    StateMachineChecker.check(32)
    StateMachineChecker.reset()

    builder {
        inlineMe4 ({
                       StateMachineChecker.suspendHere()
                       StateMachineChecker.suspendHere()
                   }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run1()
    }
    StateMachineChecker.check(8)
    StateMachineChecker.reset()

    builder {
        inlineMe4 ({
                       StateMachineChecker.suspendHere()
                       StateMachineChecker.suspendHere()
                   }) {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run2()
    }
    StateMachineChecker.check(8)
    StateMachineChecker.reset()

    builder {
        inlineMe5 {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run1()
    }
    StateMachineChecker.check(8)
    StateMachineChecker.reset()

    builder {
        inlineMe5 {
            StateMachineChecker.suspendHere()
            StateMachineChecker.suspendHere()
        }.run2()
    }
    StateMachineChecker.check(2)
    StateMachineChecker.reset()

    return "OK"
}