// RUN_PIPELINE_TILL: BACKEND
class A {
    fun foo() = 1

    fun B.bar() = 3
}

class B {
    fun foo() = 2

    fun A.bar() = 4
}

fun test(a: A, b: B) {
    with(b) {
        with(a) {
            foo()
            bar()
        }
    }
    with(a) {
        with(b) {
            foo()
            bar()
        }
    }
}

/* GENERATED_FIR_TAGS: classDeclaration, funWithExtensionReceiver, functionDeclaration, integerLiteral, lambdaLiteral */
