FILE /whileDoWhile.kt FUN public fun test(): kotlin.Unit BLOCK_BODY VAR var x: kotlin.Int CONST Int type=kotlin.Int value='0' WHILE label=null origin=WHILE_LOOP condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean origin=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int origin=LT $this: GET_VAR 'x: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value='0' WHILE label=null origin=WHILE_LOOP condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean origin=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int origin=LT $this: GET_VAR 'x: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value='5' body: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE val tmp0: kotlin.Int GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR $this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null GET_VAR 'tmp0: Int' type=kotlin.Int origin=null WHILE label=null origin=WHILE_LOOP condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean origin=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int origin=LT $this: GET_VAR 'x: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value='10' body: BLOCK type=kotlin.Unit origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE val tmp1: kotlin.Int GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR 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=null DO_WHILE label=null origin=DO_WHILE_LOOP condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean origin=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int origin=LT $this: GET_VAR 'x: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value='0' BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP body: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE val tmp2: kotlin.Int GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR $this: GET_VAR 'tmp2: Int' type=kotlin.Int origin=null GET_VAR 'tmp2: Int' type=kotlin.Int origin=null condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean origin=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int origin=LT $this: GET_VAR 'x: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value='15' BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP body: COMPOSITE type=kotlin.Unit origin=null TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE val tmp3: kotlin.Int GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit origin=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR $this: GET_VAR 'tmp3: Int' type=kotlin.Int origin=null GET_VAR 'tmp3: Int' type=kotlin.Int origin=null condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean origin=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int origin=LT $this: GET_VAR 'x: Int' type=kotlin.Int origin=null other: CONST Int type=kotlin.Int value='20' FUN public fun testSmartcastInCondition(): kotlin.Unit BLOCK_BODY VAR val a: kotlin.Any? = null CONST Null type=kotlin.Nothing? value='null' WHEN type=kotlin.Unit origin=null BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Boolean GET_VAR 'a: Any?' type=kotlin.Any? origin=null then: BLOCK type=kotlin.Unit origin=null WHILE label=null origin=WHILE_LOOP condition: TYPE_OP type=kotlin.Boolean origin=IMPLICIT_CAST typeOperand=kotlin.Boolean GET_VAR 'a: Any?' type=kotlin.Any? origin=null body: BLOCK type=kotlin.Unit origin=null BLOCK type=kotlin.Unit origin=null DO_WHILE label=null origin=DO_WHILE_LOOP body: COMPOSITE type=kotlin.Unit origin=null condition: TYPE_OP type=kotlin.Boolean origin=IMPLICIT_CAST typeOperand=kotlin.Boolean GET_VAR 'a: Any?' type=kotlin.Any? origin=null