FILE fqName: fileName:/dynamicWithSmartCast.kt FUN name:test1 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test1 (d: dynamic): kotlin.Int declared in ' WHEN type=kotlin.Int origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null then: CALL 'public open fun (): kotlin.Int declared in kotlin.String' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.String origin=IMPLICIT_DYNAMIC_CAST typeOperand=kotlin.String GET_VAR 'd: dynamic declared in .test1' type=dynamic origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=-1 FUN name:test2 visibility:public modality:FINAL <> (d:dynamic) returnType:kotlin.Int VALUE_PARAMETER name:d index:0 type:dynamic BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test2 (d: dynamic): kotlin.Int declared in ' WHEN type=kotlin.Int origin=IF BRANCH if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Array<*> GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null then: CALL 'public final fun (): kotlin.Int declared in kotlin.Array' type=kotlin.Int origin=GET_PROPERTY $this: TYPE_OP type=kotlin.Array origin=IMPLICIT_DYNAMIC_CAST typeOperand=kotlin.Array GET_VAR 'd: dynamic declared in .test2' type=dynamic origin=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CONST Int type=kotlin.Int value=-1