FILE /multipleImplicitReceivers.kt
  CLASS OBJECT A
    CONSTRUCTOR private constructor A()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='A'
  CLASS OBJECT B
    CONSTRUCTOR private constructor B()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='B'
  CLASS INTERFACE IFoo
    PROPERTY public open val A.foo: B
      FUN public open fun A.<get-foo>(): B
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-foo>() on A: B'
            GET_OBJECT 'B' type=B
  CLASS INTERFACE IInvoke
    FUN public open operator fun B.invoke(): kotlin.Int
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='invoke() on B: Int'
          CONST Int type=kotlin.Int value='42'
  FUN public fun test(fooImpl: IFoo, invokeImpl: IInvoke): kotlin.Unit
    BLOCK_BODY
      CALL 'with(A, A.() -> Int): Int' type=kotlin.Int operator=null
        receiver: GET_OBJECT 'A' type=A
        block: BLOCK type=A.() -> kotlin.Int operator=LAMBDA
          FUN local final fun A.<anonymous>(): kotlin.Int
            BLOCK_BODY
              RETURN type=kotlin.Nothing from='<anonymous>() on A: Int'
                CALL 'with(IFoo, IFoo.() -> Int): Int' type=kotlin.Int operator=null
                  receiver: GET_VAR 'value-parameter fooImpl: IFoo' type=IFoo operator=null
                  block: BLOCK type=IFoo.() -> kotlin.Int operator=LAMBDA
                    FUN local final fun IFoo.<anonymous>(): kotlin.Int
                      BLOCK_BODY
                        RETURN type=kotlin.Nothing from='<anonymous>() on IFoo: Int'
                          CALL 'with(IInvoke, IInvoke.() -> Int): Int' type=kotlin.Int operator=null
                            receiver: GET_VAR 'value-parameter invokeImpl: IInvoke' type=IInvoke operator=null
                            block: BLOCK type=IInvoke.() -> kotlin.Int operator=LAMBDA
                              FUN local final fun IInvoke.<anonymous>(): kotlin.Int
                                BLOCK_BODY
                                  RETURN type=kotlin.Nothing from='<anonymous>() on IInvoke: Int'
                                    CALL 'invoke() on B: Int' type=kotlin.Int operator=INVOKE
                                      $this: $RECEIVER of '<anonymous>() on IInvoke: Int' type=IInvoke
                                      $receiver: CALL '<get-foo>() on A: B' type=B operator=GET_PROPERTY
                                        $this: $RECEIVER of '<anonymous>() on IFoo: Int' type=IFoo
                                        $receiver: $RECEIVER of '<anonymous>() on A: Int' type=A
                              CALLABLE_REFERENCE '<anonymous>() on IInvoke: Int' type=IInvoke.() -> kotlin.Int operator=LAMBDA
                    CALLABLE_REFERENCE '<anonymous>() on IFoo: Int' type=IFoo.() -> kotlin.Int operator=LAMBDA
          CALLABLE_REFERENCE '<anonymous>() on A: Int' type=A.() -> kotlin.Int operator=LAMBDA
