Hello everyone, I’m currently working on updating ...
# compiler
r
Hello everyone, I’m currently working on updating Arrow Meta to Kotlin 1.3.7 compiler apis. When I enable the IR backend I see now a lot of information about unbound symbols. For a function such as
fun <A> identity(a: A): A = a
I see this IR tree in the dump function:
Copy code
MODULE_FRAGMENT name:<main>
  FILE fqName:<root> fileName:/var/folders/7h/klkhm9_14lg820dgr55m01k00000gn/T/Kotlin-Compilation7329800297215583201/sources/Source.kt
    FUN name:given visibility:public modality:FINAL <A> (evidence:@[<unbound>] A of <root>.given) returnType:A of <root>.given
      TYPE_PARAMETER name:A index:0 variance: superTypes:[<unbound IrClassSymbolImpl>?]
      VALUE_PARAMETER name:evidence index:0 type:@[<unbound>] A of <root>.given
        EXPRESSION_BODY
          CALL 'UNBOUND IrSimpleFunctionSymbolImpl' type=<unbound IrClassSymbolImpl> origin=GET_PROPERTY
      BLOCK_BODY
        RETURN type=<unbound IrClassSymbolImpl> from='public final fun given <A> (evidence: @[<unbound>] A of <root>.given): A of <root>.given declared in <root>'
          GET_VAR 'evidence: @[<unbound>] A of <root>.given declared in <root>.given' type=@[<unbound>] A of <root>.given origin=null