inline fun <reified T : Any> classRefFun(): KClass<T> {
  return T::class
}

inline fun <reified T : Any> Any.classRefExtFun(): KClass<T> {
  return T::class
}

val <reified T : Any> T.classRefExtVal: KClass<T>
  inline get(): KClass<T> {
    return T::class
  }

class Host {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  inline fun <reified TF : Any> classRefGenericMemberFun(): KClass<TF> {
    return TF::class
  }

  inline fun <reified TF : Any> Any.classRefGenericMemberExtFun(): KClass<TF> {
    return TF::class
  }

  val <reified TV : Any> TV.classRefGenericMemberExtVal: KClass<TV>
    inline get(): KClass<TV> {
      return TV::class
    }

}
