Render receivers as 'this@owner: type'
Add test for generic inner class with generic outer class.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
FILE /forWithImplicitReceivers.kt
|
||||
CLASS OBJECT FiveTimes
|
||||
$new: VALUE_PARAMETER <receiver: FiveTimes>
|
||||
$new: VALUE_PARAMETER this@FiveTimes: FiveTimes
|
||||
CONSTRUCTOR private constructor FiveTimes()
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
|
||||
@@ -9,7 +9,7 @@ FILE /forWithImplicitReceivers.kt
|
||||
FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
|
||||
FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
|
||||
CLASS CLASS IntCell
|
||||
$new: VALUE_PARAMETER <receiver: IntCell>
|
||||
$new: VALUE_PARAMETER this@IntCell: IntCell
|
||||
CONSTRUCTOR public constructor IntCell(value: kotlin.Int)
|
||||
VALUE_PARAMETER value-parameter value: kotlin.Int
|
||||
BLOCK_BODY
|
||||
@@ -20,47 +20,47 @@ FILE /forWithImplicitReceivers.kt
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-value>(): kotlin.Int
|
||||
$this: VALUE_PARAMETER <receiver: IntCell>
|
||||
$this: VALUE_PARAMETER this@IntCell: IntCell
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<get-value>(): Int'
|
||||
GET_FIELD 'value: Int' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<receiver: IntCell>' type=IntCell origin=null
|
||||
receiver: GET_VAR 'this@IntCell: IntCell' type=IntCell origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR public final fun <set-value>(<set-?>: kotlin.Int): kotlin.Unit
|
||||
$this: VALUE_PARAMETER <receiver: IntCell>
|
||||
$this: VALUE_PARAMETER this@IntCell: IntCell
|
||||
VALUE_PARAMETER value-parameter <set-?>: kotlin.Int
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'value: Int' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<receiver: IntCell>' type=IntCell origin=null
|
||||
receiver: GET_VAR 'this@IntCell: IntCell' type=IntCell origin=null
|
||||
value: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int origin=null
|
||||
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 IReceiver
|
||||
FUN public open operator fun FiveTimes.iterator(): IntCell
|
||||
$this: VALUE_PARAMETER <receiver: IReceiver>
|
||||
$receiver: VALUE_PARAMETER <receiver: iterator() on FiveTimes: IntCell>
|
||||
$this: VALUE_PARAMETER this@IReceiver: IReceiver
|
||||
$receiver: VALUE_PARAMETER this@iterator: FiveTimes
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='iterator() on FiveTimes: IntCell'
|
||||
CALL 'constructor IntCell(Int)' type=IntCell origin=null
|
||||
value: CONST Int type=kotlin.Int value='5'
|
||||
FUN public open operator fun IntCell.hasNext(): kotlin.Boolean
|
||||
$this: VALUE_PARAMETER <receiver: IReceiver>
|
||||
$receiver: VALUE_PARAMETER <receiver: hasNext() on IntCell: Boolean>
|
||||
$this: VALUE_PARAMETER this@IReceiver: IReceiver
|
||||
$receiver: VALUE_PARAMETER this@hasNext: IntCell
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='hasNext() on IntCell: Boolean'
|
||||
CALL 'GT0(Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
arg0: CALL 'compareTo(Int): Int' type=kotlin.Int origin=GT
|
||||
$this: CALL '<get-value>(): Int' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: GET_VAR '<receiver: hasNext() on IntCell: Boolean>' type=IntCell origin=null
|
||||
$this: GET_VAR 'this@hasNext: IntCell' type=IntCell origin=null
|
||||
other: CONST Int type=kotlin.Int value='0'
|
||||
FUN public open operator fun IntCell.next(): kotlin.Int
|
||||
$this: VALUE_PARAMETER <receiver: IReceiver>
|
||||
$receiver: VALUE_PARAMETER <receiver: next() on IntCell: Int>
|
||||
$this: VALUE_PARAMETER this@IReceiver: IReceiver
|
||||
$receiver: VALUE_PARAMETER this@next: IntCell
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='next() on IntCell: Int'
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp0_this: IntCell
|
||||
GET_VAR '<receiver: next() on IntCell: Int>' type=IntCell origin=null
|
||||
GET_VAR 'this@next: IntCell' type=IntCell origin=null
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_DECR
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp1: kotlin.Int
|
||||
CALL '<get-value>(): Int' type=kotlin.Int origin=POSTFIX_DECR
|
||||
@@ -74,21 +74,21 @@ FILE /forWithImplicitReceivers.kt
|
||||
FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
|
||||
FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
|
||||
FUN public fun IReceiver.test(): kotlin.Unit
|
||||
$receiver: VALUE_PARAMETER <receiver: test() on IReceiver: Unit>
|
||||
$receiver: VALUE_PARAMETER this@test: IReceiver
|
||||
BLOCK_BODY
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR IR_TEMPORARY_VARIABLE val tmp0_iterator: IntCell
|
||||
CALL 'iterator() on FiveTimes: IntCell' type=IntCell origin=FOR_LOOP_ITERATOR
|
||||
$this: GET_VAR '<receiver: test() on IReceiver: Unit>' type=IReceiver origin=null
|
||||
$this: GET_VAR 'this@test: IReceiver' type=IReceiver origin=null
|
||||
$receiver: GET_OBJECT 'FiveTimes' type=FiveTimes
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'hasNext() on IntCell: Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR '<receiver: test() on IReceiver: Unit>' type=IReceiver origin=null
|
||||
$this: GET_VAR 'this@test: IReceiver' type=IReceiver origin=null
|
||||
$receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR val i: kotlin.Int
|
||||
CALL 'next() on IntCell: Int' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR '<receiver: test() on IReceiver: Unit>' type=IReceiver origin=null
|
||||
$this: GET_VAR 'this@test: IReceiver' type=IReceiver origin=null
|
||||
$receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'println(Int): Unit' type=kotlin.Unit origin=null
|
||||
|
||||
Reference in New Issue
Block a user