IrFile /smartCasts.kt IrFunction public fun expectsString(/*0*/ s: kotlin.String): kotlin.Unit IrExpressionBody BLOCK type= hasResult=false operator=null IrFunction public fun expectsInt(/*0*/ i: kotlin.Int): kotlin.Unit IrExpressionBody BLOCK type= hasResult=false operator=null IrFunction public fun overloaded(/*0*/ s: kotlin.String): kotlin.String IrExpressionBody BLOCK type= hasResult=false operator=null RETURN type= GET_VAR s type=kotlin.String operator=null IrFunction public fun overloaded(/*0*/ x: kotlin.Any): kotlin.Any IrExpressionBody BLOCK type= hasResult=false operator=null RETURN type= GET_VAR x type=kotlin.Any operator=null IrFunction public fun test1(/*0*/ x: kotlin.Any): kotlin.Unit IrExpressionBody BLOCK type= hasResult=false operator=null WHEN type=kotlin.Unit operator=IF if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null then: RETURN type= CALL .println type=kotlin.Unit operator=null message: CALL . type=kotlin.Int operator=GET_PROPERTY $this: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null CALL .expectsString type=kotlin.Unit operator=null s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null CALL .expectsInt type=kotlin.Unit operator=null i: CALL . type=kotlin.Int operator=GET_PROPERTY $this: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null CALL .expectsString type=kotlin.Unit operator=null s: CALL .overloaded type=kotlin.String operator=null s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null IrFunction public fun test2(/*0*/ x: kotlin.Any): kotlin.String IrExpressionBody BLOCK type= hasResult=false operator=null WHEN type=kotlin.Unit operator=IF if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null then: RETURN type= CONST String type=kotlin.String value='' RETURN type= CALL .overloaded type=kotlin.String operator=null s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null IrFunction public fun test3(/*0*/ x: kotlin.Any): kotlin.String IrExpressionBody BLOCK type= hasResult=false operator=null WHEN type=kotlin.Unit operator=IF if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null then: RETURN type= CONST String type=kotlin.String value='' RETURN type= TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String GET_VAR x type=kotlin.Any operator=null