FILE fqName: fileName:/extFunSafeInvoke.kt FUN name:test visibility:public modality:FINAL <> (receiver:kotlin.Any?, fn:@[ExtensionFunctionType] kotlin.Function3) returnType:kotlin.Unit? VALUE_PARAMETER name:receiver index:0 type:kotlin.Any? VALUE_PARAMETER name:fn index:1 type:@[ExtensionFunctionType] kotlin.Function3 BLOCK_BODY RETURN type=kotlin.Nothing from='public final fun test (receiver: kotlin.Any?, fn: @[ExtensionFunctionType] kotlin.Function3): kotlin.Unit? declared in ' BLOCK type=kotlin.Unit? origin=SAFE_CALL VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Any? [val] GET_VAR 'receiver: kotlin.Any? declared in .test' type=kotlin.Any? origin=null WHEN type=kotlin.Unit? origin=null BRANCH if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ arg0: GET_VAR 'val tmp_0: kotlin.Any? declared in .test' type=kotlin.Any? origin=null arg1: CONST Null type=kotlin.Nothing? value=null then: CONST Null type=kotlin.Nothing? value=null BRANCH if: CONST Boolean type=kotlin.Boolean value=true then: CALL 'public abstract fun invoke (p1: P1 of kotlin.Function3, p2: P2 of kotlin.Function3, p3: P3 of kotlin.Function3): R of kotlin.Function3 declared in kotlin.Function3' type=kotlin.Unit origin=INVOKE $this: GET_VAR 'fn: @[ExtensionFunctionType] kotlin.Function3 declared in .test' type=@[ExtensionFunctionType] kotlin.Function3 origin=VARIABLE_AS_FUNCTION p1: GET_VAR 'val tmp_0: kotlin.Any? declared in .test' type=kotlin.Any? origin=null p2: CONST Int type=kotlin.Int value=42 p3: CONST String type=kotlin.String value="Hello"