Module: main
// CallableId=test/typeOfX
FUN name:typeOfX visibility:private modality:FINAL returnType:kotlin.reflect.KType [inline]
  TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:true
  VALUE_PARAMETER kind:Regular name:x index:0 type:T1 of test.typeOfX
  BLOCK_BODY
    RETURN type=kotlin.Nothing from='private final fun typeOfX <T1> (x: T1 of test.typeOfX): kotlin.reflect.KType [inline] declared in test'
      CALL 'public final fun typeOf <T> (): kotlin.reflect.KType [inline] declared in kotlin.reflect' type=kotlin.reflect.KType origin=null
        TYPE_ARG T: T1 of test.typeOfX
// CallableId=test/typeOfPair
FUN name:typeOfPair visibility:private modality:FINAL returnType:kotlin.reflect.KType [inline]
  TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:true
  TYPE_PARAMETER name:T3 index:1 variance: superTypes:[kotlin.Any?] reified:false
  VALUE_PARAMETER kind:Regular name:x index:0 type:T2 of test.typeOfPair
  VALUE_PARAMETER kind:Regular name:y index:1 type:kotlin.Any?
  BLOCK_BODY
    RETURN type=kotlin.Nothing from='private final fun typeOfPair <T2, T3> (x: T2 of test.typeOfPair, y: kotlin.Any?): kotlin.reflect.KType [inline] declared in test'
      BLOCK type=kotlin.reflect.KType origin=INLINE_ARGS_CONTAINER
        VAR IR_TEMPORARY_VARIABLE name:tmp0 type:test.Pair<T2 of test.typeOfPair, kotlin.Any?> [val]
          CONSTRUCTOR_CALL 'public constructor <init> (x: A of test.Pair, y: B of test.Pair) [primary] declared in test.Pair' type=test.Pair<T2 of test.typeOfPair, kotlin.Any?> origin=null
            TYPE_ARG (of class) A: T2 of test.typeOfPair
            TYPE_ARG (of class) B: kotlin.Any?
            ARG x: GET_VAR 'x: T2 of test.typeOfPair declared in test.typeOfPair' type=T2 of test.typeOfPair origin=null
            ARG y: GET_VAR 'y: kotlin.Any? declared in test.typeOfPair' type=kotlin.Any? origin=null
        RETURNABLE_BLOCK type=kotlin.reflect.KType origin=null
          INLINED_BLOCK type=kotlin.reflect.KType origin=null
            inlinedFunctionSymbol: public final fun typeOfX <T1> (x: T1 of test.typeOfX): kotlin.reflect.KType [inline] declared in test
            inlinedFunctionFileEntry: FILE_ENTRY path:lib.kt
            VAR IR_TEMPORARY_VARIABLE_FOR_INLINED_PARAMETER name:x type:test.Pair<T2 of test.typeOfPair, kotlin.Any?> [val]
              GET_VAR 'val tmp0: test.Pair<T2 of test.typeOfPair, kotlin.Any?> [val] declared in test.typeOfPair' type=test.Pair<T2 of test.typeOfPair, kotlin.Any?> origin=null
            RETURN type=kotlin.Nothing from='{IrReturnableBlockImpl}'
              CALL 'public final fun typeOf <T> (): kotlin.reflect.KType [inline] declared in kotlin.reflect' type=kotlin.reflect.KType origin=null
                TYPE_ARG T: test.Pair<T2 of test.typeOfPair, T3 of test.typeOfPair>
