[FIR2IR] Recognize postfix inc/dec pattern from block statements

This commit is contained in:
Ivan Kochurkin
2021-10-14 15:00:42 +03:00
committed by TeamCityServer
parent 0d91e16a15
commit 3210a2a950
26 changed files with 19 additions and 59 deletions
@@ -32,13 +32,13 @@ FILE fqName:<root> fileName:/incrementDecrement.kt
VAR name:x type:kotlin.Int [var]
CONST Int type=kotlin.Int value=0
VAR name:x1 type:kotlin.Int [val]
BLOCK type=kotlin.Int origin=PREFIX_INCR
BLOCK type=kotlin.Int origin=null
SET_VAR 'var x: kotlin.Int [var] declared in <root>.testVarPrefix' type=kotlin.Unit origin=PREFIX_INCR
CALL 'public final fun inc (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVarPrefix' type=kotlin.Int origin=null
GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVarPrefix' type=kotlin.Int origin=null
VAR name:x2 type:kotlin.Int [val]
BLOCK type=kotlin.Int origin=PREFIX_DECR
BLOCK type=kotlin.Int origin=null
SET_VAR 'var x: kotlin.Int [var] declared in <root>.testVarPrefix' type=kotlin.Unit origin=PREFIX_DECR
CALL 'public final fun dec (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: GET_VAR 'var x: kotlin.Int [var] declared in <root>.testVarPrefix' type=kotlin.Int origin=null
@@ -23,7 +23,7 @@ FILE fqName:<root> fileName:/whileDoWhile.kt
condition: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=LT
arg0: GET_VAR 'var x: kotlin.Int [var] declared in <root>.test' type=kotlin.Int origin=null
arg1: CONST Int type=kotlin.Int value=10
body: BLOCK type=kotlin.Int origin=null
body: BLOCK type=kotlin.Int origin=POSTFIX_INCR
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
GET_VAR 'var x: kotlin.Int [var] declared in <root>.test' type=kotlin.Int origin=null
SET_VAR 'var x: kotlin.Int [var] declared in <root>.test' type=kotlin.Unit origin=POSTFIX_INCR