// MODULE: m1
// FILE: BaseFirBuilder.kt

abstract class BaseFirBuilder<T : Any?> {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  inline fun <T : Any?> withCapturedTypeParameters(block: Function0<T>): T {
    return block.invoke()
  }

}

// MODULE: m2
// FILE: FirBuilder.kt

open class BaseConverter : BaseFirBuilder<Any> {
  constructor() /* primary */ {
    super/*BaseFirBuilder*/<Any>()
    /* <init>() */

  }

}

class DeclarationsConverter : BaseConverter {
  constructor() /* primary */ {
    super/*BaseConverter*/()
    /* <init>() */

  }

}
