FILE fqName:<root> fileName:/integerCoercionToT.kt
  CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags:
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:CPointed flags:
    superClasses:
      CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
  FUN name:reinterpret visibility:public modality:FINAL <T> ($receiver:CPointed) returnType:T flags:inline
    TYPE_PARAMETER name:T index:0 variance: upperBounds:[CPointed]
      superClassifiers:
        CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags:
    $receiver: VALUE_PARAMETER name:<this> type:CPointed flags:
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='reinterpret() on CPointed: T'
        CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null
  CLASS CLASS name:CInt32VarX modality:FINAL visibility:public flags:
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:CInt32VarX<T> flags:
    superClasses:
      CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags:
    TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
      superClassifiers:
        CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
    CONSTRUCTOR visibility:public <> () returnType:CInt32VarX<T> flags:
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='CInt32VarX'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      overridden:
        FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      overridden:
        FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
  TYPEALIAS typealias CInt32Var = CInt32VarX<Int> type=CInt32VarX<kotlin.Int>
  PROPERTY name:value type:T_INT visibility:public modality:FINAL flags:var
    FUN name:<get-value> visibility:public modality:FINAL <T_INT> ($receiver:CInt32VarX<T_INT>) returnType:T_INT flags:
      TYPE_PARAMETER name:T_INT index:0 variance: upperBounds:[kotlin.Int]
        superClassifiers:
          CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
      $receiver: VALUE_PARAMETER name:<this> type:CInt32VarX<T_INT> flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='<get-value>() on CInt32VarX<T_INT>: T_INT'
          CALL 'TODO(): Nothing' type=kotlin.Nothing origin=null
    FUN name:<set-value> visibility:public modality:FINAL <T_INT> ($receiver:CInt32VarX<T_INT>, value:T_INT) returnType:Unit flags:
      TYPE_PARAMETER name:T_INT index:0 variance: upperBounds:[kotlin.Int]
        superClassifiers:
          CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
      $receiver: VALUE_PARAMETER name:<this> type:CInt32VarX<T_INT> flags:
      VALUE_PARAMETER name:value index:0 type:T_INT flags:
      BLOCK_BODY
  CLASS CLASS name:IdType modality:FINAL visibility:public flags:
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:IdType flags:
    superClasses:
      CLASS INTERFACE name:CPointed modality:ABSTRACT visibility:public flags:
    CONSTRUCTOR visibility:public <> (value:kotlin.Int) returnType:IdType flags:
      VALUE_PARAMETER name:value index:0 type:kotlin.Int flags:
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='IdType'
    PROPERTY name:value type:kotlin.Int visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:public modality:FINAL <> ($this:IdType) returnType:Int flags:
        $this: VALUE_PARAMETER name:<this> type:IdType flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-value>(): Int'
            GET_FIELD 'value: Int' type=kotlin.Int origin=null
              receiver: GET_VAR 'this@IdType: IdType' type=IdType origin=null
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      overridden:
        FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      overridden:
        FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:
  FUN name:foo visibility:public modality:FINAL <> (value:IdType, cv:CInt32Var /* = CInt32VarX<kotlin.Int> */) returnType:Unit flags:
    VALUE_PARAMETER name:value index:0 type:IdType flags:
    VALUE_PARAMETER name:cv index:1 type:CInt32Var /* = CInt32VarX<kotlin.Int> */ flags:
    BLOCK_BODY
      CALL '<set-value>(Int) on CInt32VarX<Int>: Unit' type=kotlin.Unit origin=EQ
        <`0>: Int
        $receiver: GET_VAR 'value-parameter cv: CInt32Var /* = CInt32VarX<Int> */' type=CInt32Var /* = CInt32VarX<kotlin.Int> */ origin=null
        value: CALL '<get-value>(): Int' type=kotlin.Int origin=GET_PROPERTY
          $this: GET_VAR 'value-parameter value: IdType' type=IdType origin=null

