Files
kotlin-fork/compiler/testData/ir/irText/expressions/javaSyntheticPropertyAccess.txt
T
Dmitry Petrov 779cae7db5 Adjust receivers for possibly synthetic properties access
Synthetic property accessors are treated as extension functions on Java
classes by the front-end. However, underlying Java accessor methods are
proper members.
2018-07-20 16:46:18 +03:00

35 lines
2.3 KiB
Plaintext
Vendored

FILE fqName:<root> fileName:/javaSyntheticPropertyAccess.kt
FUN name:test visibility:public modality:FINAL <> (j:J) returnType:kotlin.Unit flags:
VALUE_PARAMETER name:j index:0 type:J flags:
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
CALL 'getFoo(): Int' type=kotlin.Int origin=GET_PROPERTY
$this: GET_VAR 'value-parameter j: J' type=J origin=null
CALL 'setFoo(Int): Unit' type=kotlin.Unit origin=EQ
$this: GET_VAR 'value-parameter j: J' type=J origin=null
x: CONST Int type=kotlin.Int value=1
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags: superTypes:[kotlin.Any]
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp0_receiver type:J flags:val
GET_VAR 'value-parameter j: J' type=J origin=null
BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val
CALL 'getFoo(): Int' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'tmp0_receiver: J' type=J origin=null
CALL 'setFoo(Int): Unit' type=kotlin.Unit origin=POSTFIX_INCR
$this: GET_VAR 'tmp0_receiver: J' type=J origin=null
x: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR
$this: GET_VAR 'tmp1: Int' type=kotlin.Int origin=null
GET_VAR 'tmp1: Int' type=kotlin.Int origin=null
BLOCK type=kotlin.Unit origin=PLUSEQ
VAR IR_TEMPORARY_VARIABLE name:tmp2_receiver type:J flags:val
GET_VAR 'value-parameter j: J' type=J origin=null
CALL 'setFoo(Int): Unit' type=kotlin.Unit origin=PLUSEQ
$this: GET_VAR 'tmp2_receiver: J' type=J origin=null
x: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ
$this: CALL 'getFoo(): Int' type=kotlin.Int origin=PLUSEQ
$this: GET_VAR 'tmp2_receiver: J' type=J origin=null
other: CONST Int type=kotlin.Int value=1