diff --git a/build.gradle.kts b/build.gradle.kts index 8d576a1..be7fead 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -64,13 +64,13 @@ xomrk { val commonMain by getting { dependencies { - implementation(kotlinStdlibDependency) + compileOnly(kotlinStdlibDependency) implementation("ru.landgrafhomyak.utility:highlevel-try-finally:0.6") } } val commonTest by getting { dependencies { - implementation("org.jetbrains.kotlin:kotlin-test:${this@kotlin.coreLibrariesVersion}") + compileOnly("org.jetbrains.kotlin:kotlin-test:${this@kotlin.coreLibrariesVersion}") } } @@ -80,6 +80,12 @@ xomrk { } } + jvmTest { + dependencies { + implementation("org.testng:testng:7.5.1") + } + } + val nonJvmMain by creating { dependsOn(commonMain) dependencies { @@ -88,11 +94,6 @@ xomrk { } } - jvmTest { - dependencies { - implementation("org.testng:testng:7.5.1") - } - } configureEach { when { diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/ChildCloseableState.kt b/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/ChildCloseableState.kt index 0c4a878..7a32ffc 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/ChildCloseableState.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/ChildCloseableState.kt @@ -31,9 +31,8 @@ public sealed class ChildCloseableState : CloseableState { @ManualStateManipulation override fun close() { - this._parent.tryFinishUsage { - this._state.finishUsage() - } + this._state.finishUsage() + this._parent.finishUsage() } abstract override fun toString(): String diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/usage_scopes.kt b/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/usage_scopes.kt index b71e00c..de7b3df 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/usage_scopes.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/usage_scopes.kt @@ -9,6 +9,7 @@ import ru.landgrafhomyak.utility.highlevel_try_finally.safeAutoClose1 import ru.landgrafhomyak.utility.highlevel_try_finally.safeAutoClose2 @OptIn(ManualStateManipulation::class) +@JvmName("autoClosed\$kt") public inline fun autoClosed( constructor: () -> S, scope: (S) -> R, @@ -31,7 +32,7 @@ public inline fun CloseableState.withUse(block: () -> R): R { callsInPlace(block, InvocationKind.EXACTLY_ONCE) } this.startUsage() - return safeAutoClose1(action = block, finally = this::finishUsage) + return safeAutoClose1(action = block, finally = { this.finishUsage() }) } @@ -42,7 +43,7 @@ public inline fun CloseableState.tryStartUsage(block: () -> R): R { callsInPlace(block, InvocationKind.EXACTLY_ONCE) } this.startUsage() - return safeAutoClose2(action = block, onError = this::finishUsage) + return safeAutoClose2(action = block, onError ={ this.finishUsage() }) } @ManualStateManipulation diff --git a/src/jvmMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/actuals.kt b/src/jvmMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/actuals.kt index 29088c2..82f3e9a 100644 --- a/src/jvmMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/actuals.kt +++ b/src/jvmMain/kotlin/ru/landgrafhomyak/utility/closeable_state_1/actuals.kt @@ -1,4 +1,5 @@ package ru.landgrafhomyak.utility.closeable_state_1 public actual typealias UsagesCounter = jUsagesCounter -public actual typealias ErrorOnConcurrentAccessState = jErrorOnConcurrentAccessState \ No newline at end of file +public actual typealias ErrorOnConcurrentAccessState = jErrorOnConcurrentAccessState +public actual typealias CloseableStateCloseableWrapper = jCloseableStateCloseableWrapper \ No newline at end of file