Module: main
// CallableId=/foo
FUN name:foo visibility:private modality:FINAL returnType:kotlin.Int [inline]
  TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.CharSequence] reified:false
  VALUE_PARAMETER kind:Regular name:<this> index:0 type:<root>.A
  VALUE_PARAMETER kind:Regular name:c index:1 type:kotlin.Int
  VALUE_PARAMETER kind:Regular name:<this> index:2 type:<root>.A
  VALUE_PARAMETER kind:Regular name:a index:3 type:kotlin.CharSequence
  BLOCK_BODY
    RETURN type=kotlin.Nothing from='private final fun foo <T> (<this>: <root>.A, c: kotlin.Int, <this>: <root>.A, a: kotlin.CharSequence): kotlin.Int [inline] declared in <root>'
      CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=PLUS
        ARG <this>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=PLUS
          ARG <this>: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=PLUS
            ARG <this>: CALL 'public abstract fun <get-length> (): kotlin.Int declared in kotlin.CharSequence' type=kotlin.Int origin=GET_PROPERTY
              ARG <this>: GET_VAR 'a: kotlin.CharSequence declared in <root>.foo' type=kotlin.CharSequence origin=null
            ARG other: CALL 'public final fun <get-b> (): kotlin.Int declared in <root>.A' type=kotlin.Int origin=GET_PROPERTY
              ARG <this>: GET_VAR '<this>(index:2): <root>.A declared in <root>.foo' type=<root>.A origin=IMPLICIT_ARGUMENT
          ARG other: GET_VAR 'c: kotlin.Int declared in <root>.foo' type=kotlin.Int origin=null
        ARG other: CALL 'public final fun <get-b> (): kotlin.Int declared in <root>.A' type=kotlin.Int origin=GET_PROPERTY
          ARG <this>: GET_VAR '<this>(index:2): <root>.A declared in <root>.foo' type=<root>.A origin=null
