FILE fqName: fileName:/whileDoWhile.kt FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY VAR name:x type:kotlin.Int flags:var CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=0 WHILE label=null origin=WHILE_LOOP condition: CALL 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=5 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: BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val 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 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null arg1: 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 typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags: BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val 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 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null arg1: 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 typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags: BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val 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 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null arg1: 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 typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags: BLOCK type=kotlin.Int origin=POSTFIX_INCR VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:val 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 'less(Int, Int): Boolean' type=kotlin.Boolean origin=LT arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null arg1: CONST Int type=kotlin.Int value=20 FUN name:testSmartcastInCondition visibility:public modality:FINAL <> () returnType:Unit flags: BLOCK_BODY VAR name:a type:kotlin.Any? flags:val 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 typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags: 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 typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags: 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 typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags: GET_VAR 'a: Any?' type=kotlin.Any? origin=null