From 6d87fbddf41d057d7e0dc1baee317acb1d3025df Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Sat, 5 Mar 2022 15:24:43 +0100 Subject: [PATCH] kotlin-tooling-core: Rename `singleClosure` to `linearClosure` --- .../gradle/util/reportSourceSetCommonizerDependencies.kt | 4 ++-- .../kotlin/org/jetbrains/kotlin/tooling/core/closure.kt | 4 ++-- .../org/jetbrains/kotlin/tooling/core/ClosureTest.kt | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/reportSourceSetCommonizerDependencies.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/reportSourceSetCommonizerDependencies.kt index 7563b919f83..ce02a44d1b3 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/reportSourceSetCommonizerDependencies.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/reportSourceSetCommonizerDependencies.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.BaseGradleIT.CompiledProject import org.jetbrains.kotlin.library.ToolingSingleFileKlibResolveStrategy import org.jetbrains.kotlin.library.commonizerTarget import org.jetbrains.kotlin.library.resolveSingleFileKlib -import org.jetbrains.kotlin.tooling.core.singleClosure +import org.jetbrains.kotlin.tooling.core.linearClosure import java.io.File import javax.annotation.RegEx import kotlin.test.fail @@ -165,7 +165,7 @@ private fun inferCommonizerTargetOrNull(libraryFile: File): CommonizerTarget? = strategy = ToolingSingleFileKlibResolveStrategy ).commonizerTarget?.let(::parseCommonizerTarget) -private val File.parentsClosure: Set get() = this.singleClosure { parentFile } +private val File.parentsClosure: Set get() = this.linearClosure { parentFile } private const val dollar = "\$" diff --git a/libraries/tools/kotlin-tooling-core/src/main/kotlin/org/jetbrains/kotlin/tooling/core/closure.kt b/libraries/tools/kotlin-tooling-core/src/main/kotlin/org/jetbrains/kotlin/tooling/core/closure.kt index 9e68814e7aa..3859db5236c 100644 --- a/libraries/tools/kotlin-tooling-core/src/main/kotlin/org/jetbrains/kotlin/tooling/core/closure.kt +++ b/libraries/tools/kotlin-tooling-core/src/main/kotlin/org/jetbrains/kotlin/tooling/core/closure.kt @@ -68,14 +68,14 @@ inline fun Iterable.withClosure(edges: (T) -> Iterable): Set T.singleClosure(next: (T) -> T?): Set = +inline fun T.linearClosure(next: (T) -> T?): Set = closureTo(createResultSet(), emptySet(), createDequeue(), this) { element -> next(element)?.let { add(it) } } /** * @see closure * @receiver is included in the return set */ -inline fun T.withSingleClosure(next: (T) -> T?): Set = +inline fun T.withLinearClosure(next: (T) -> T?): Set = closureTo(createResultSet(this), emptySet(), createDequeue(), this) { element -> next(element)?.let { add(it) } } /* Implementation */ diff --git a/libraries/tools/kotlin-tooling-core/src/test/kotlin/org/jetbrains/kotlin/tooling/core/ClosureTest.kt b/libraries/tools/kotlin-tooling-core/src/test/kotlin/org/jetbrains/kotlin/tooling/core/ClosureTest.kt index de811eeb4fb..6b142d85358 100644 --- a/libraries/tools/kotlin-tooling-core/src/test/kotlin/org/jetbrains/kotlin/tooling/core/ClosureTest.kt +++ b/libraries/tools/kotlin-tooling-core/src/test/kotlin/org/jetbrains/kotlin/tooling/core/ClosureTest.kt @@ -135,7 +135,7 @@ class ClosureTest { } @Test - fun singleClosure() { + fun linearClosure() { val a = Node("a") val b = Node("b") val c = Node("c") @@ -144,12 +144,12 @@ class ClosureTest { b.parent = a assertEquals( - listOf("b", "a"), c.singleClosure { it.parent }.map { it.value }, + listOf("b", "a"), c.linearClosure { it.parent }.map { it.value }, ) } @Test - fun withSingleClosure() { + fun withLinearClosure() { val a = Node("a") val b = Node("b") val c = Node("c") @@ -158,7 +158,7 @@ class ClosureTest { b.parent = a assertEquals( - listOf("c", "b", "a"), c.withSingleClosure { it.parent }.map { it.value }, + listOf("c", "b", "a"), c.withLinearClosure { it.parent }.map { it.value }, ) } }