FILE /callableRefToGenericMember.kt
  CLASS CLASS A
    $this: VALUE_PARAMETER this@A: A<T>
    TYPE_PARAMETER <T>
    CONSTRUCTOR public constructor A<T>()
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='A'
    FUN public final fun foo(): kotlin.Unit
      $this: VALUE_PARAMETER this@A: A<T>
      BLOCK_BODY
    PROPERTY public final val bar: kotlin.Int = 42
      FIELD PROPERTY_BACKING_FIELD public final val bar: kotlin.Int = 42
        EXPRESSION_BODY
          CONST Int type=kotlin.Int value='42'
      FUN DEFAULT_PROPERTY_ACCESSOR public final fun <get-bar>(): kotlin.Int
        $this: VALUE_PARAMETER this@A: A<T>
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-bar>(): Int'
            GET_FIELD 'bar: Int' type=kotlin.Int origin=null
              receiver: GET_VAR 'this@A: A<T>' type=A<T> origin=null
    FUN FAKE_OVERRIDE public open override fun equals(other: kotlin.Any?): kotlin.Boolean
      $this: VALUE_PARAMETER this@Any: Any
      VALUE_PARAMETER value-parameter other: kotlin.Any?
    FUN FAKE_OVERRIDE public open override fun hashCode(): kotlin.Int
      $this: VALUE_PARAMETER this@Any: Any
    FUN FAKE_OVERRIDE public open override fun toString(): kotlin.String
      $this: VALUE_PARAMETER this@Any: Any
  PROPERTY public val test1: kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit>
    FIELD PROPERTY_BACKING_FIELD public val test1: kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit>
      EXPRESSION_BODY
        FUNCTION_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit> origin=null
    FUN DEFAULT_PROPERTY_ACCESSOR public fun <get-test1>(): kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit>
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='<get-test1>(): KFunction1<A<String>, Unit>'
          GET_FIELD 'test1: KFunction1<A<String>, Unit>' type=kotlin.reflect.KFunction1<A<kotlin.String>, kotlin.Unit> origin=null
  PROPERTY public val test2: kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int>
    FIELD PROPERTY_BACKING_FIELD public val test2: kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int>
      EXPRESSION_BODY
        PROPERTY_REFERENCE 'bar: Int' field=null getter='<get-bar>(): Int' setter=null type=kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int> origin=null
    FUN DEFAULT_PROPERTY_ACCESSOR public fun <get-test2>(): kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int>
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='<get-test2>(): KProperty1<A<String>, Int>'
          GET_FIELD 'test2: KProperty1<A<String>, Int>' type=kotlin.reflect.KProperty1<A<kotlin.String>, kotlin.Int> origin=null
