Files
kotlin-fork/compiler/testData/ir/irText/lambdas/multipleImplicitReceivers.txt
T
Dmitry Petrov fa4dc26814 Put 'thisReceiver' declaration in class
Interfaces also have 'thisReceiver'
2017-05-04 09:33:03 +03:00

83 lines
4.9 KiB
Plaintext
Vendored

FILE /multipleImplicitReceivers.kt
CLASS OBJECT A
$this: VALUE_PARAMETER this@A: A
CONSTRUCTOR private constructor A()
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='A'
FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
CLASS OBJECT B
$this: VALUE_PARAMETER this@B: B
CONSTRUCTOR private constructor B()
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='B'
FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
CLASS INTERFACE IFoo
$this: VALUE_PARAMETER this@IFoo: IFoo
PROPERTY public open val A.foo: B
FUN public open fun A.<get-foo>(): B
$this: VALUE_PARAMETER this@IFoo: IFoo
$receiver: VALUE_PARAMETER this@foo: A
BLOCK_BODY
RETURN type=kotlin.Nothing from='<get-foo>() on A: B'
GET_OBJECT 'B' type=B
FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
CLASS INTERFACE IInvoke
$this: VALUE_PARAMETER this@IInvoke: IInvoke
FUN public open operator fun B.invoke(): kotlin.Int
$this: VALUE_PARAMETER this@IInvoke: IInvoke
$receiver: VALUE_PARAMETER this@invoke: B
BLOCK_BODY
RETURN type=kotlin.Nothing from='invoke() on B: Int'
CONST Int type=kotlin.Int value='42'
FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
FUN public fun test(fooImpl: IFoo, invokeImpl: IInvoke): kotlin.Unit
VALUE_PARAMETER value-parameter fooImpl: IFoo
VALUE_PARAMETER value-parameter invokeImpl: IInvoke
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'with(A, A.() -> Int): Int' type=kotlin.Int origin=null
<T>: A
<R>: Int
receiver: GET_OBJECT 'A' type=A
block: BLOCK type=A.() -> kotlin.Int origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA local final fun A.<anonymous>(): kotlin.Int
$receiver: VALUE_PARAMETER this@<anonymous>: A
BLOCK_BODY
RETURN type=kotlin.Nothing from='<anonymous>() on A: Int'
CALL 'with(IFoo, IFoo.() -> Int): Int' type=kotlin.Int origin=null
<T>: IFoo
<R>: Int
receiver: GET_VAR 'value-parameter fooImpl: IFoo' type=IFoo origin=null
block: BLOCK type=IFoo.() -> kotlin.Int origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA local final fun IFoo.<anonymous>(): kotlin.Int
$receiver: VALUE_PARAMETER this@<anonymous>: IFoo
BLOCK_BODY
RETURN type=kotlin.Nothing from='<anonymous>() on IFoo: Int'
CALL 'with(IInvoke, IInvoke.() -> Int): Int' type=kotlin.Int origin=null
<T>: IInvoke
<R>: Int
receiver: GET_VAR 'value-parameter invokeImpl: IInvoke' type=IInvoke origin=null
block: BLOCK type=IInvoke.() -> kotlin.Int origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA local final fun IInvoke.<anonymous>(): kotlin.Int
$receiver: VALUE_PARAMETER this@<anonymous>: IInvoke
BLOCK_BODY
RETURN type=kotlin.Nothing from='<anonymous>() on IInvoke: Int'
CALL 'invoke() on B: Int' type=kotlin.Int origin=INVOKE
$this: GET_VAR 'this@<anonymous>: IInvoke' type=IInvoke origin=null
$receiver: CALL '<get-foo>() on A: B' type=B origin=GET_PROPERTY
$this: GET_VAR 'this@<anonymous>: IFoo' type=IFoo origin=null
$receiver: GET_VAR 'this@<anonymous>: A' type=A origin=null
FUNCTION_REFERENCE '<anonymous>() on IInvoke: Int' type=IInvoke.() -> kotlin.Int origin=LAMBDA
FUNCTION_REFERENCE '<anonymous>() on IFoo: Int' type=IFoo.() -> kotlin.Int origin=LAMBDA
FUNCTION_REFERENCE '<anonymous>() on A: Int' type=A.() -> kotlin.Int origin=LAMBDA