package ru.landrafhomyak.utility.reference_counter import kotlin.jvm.JvmName import kotlin.jvm.JvmStatic public class CloseableReferenceCounter : MayBeClosedReferenceCounter { public constructor(errMessageClosed: String) : super(errMessageClosed) @Suppress("INAPPLICABLE_JVM_NAME") @JvmName("close") public override fun close(errExistRefs: String) { super.close(errExistRefs) } public companion object { @JvmStatic @JvmName("autoClosed") public fun autoClosed(errMessageClosed: String, errExistRefs: String, scope: (MayBeClosedReferenceCounter) -> R): R { _Platform.jvm_assertNotNull(errMessageClosed, "param: errMessageClosed") _Platform.jvm_assertNotNull(errExistRefs, "param: errExistRefs") _Platform.jvm_assertNotNull(scope, "param: scope") val refcnt = CloseableReferenceCounter(errMessageClosed) val ret = scope(refcnt) refcnt.close(errExistRefs) return ret } } }