kotlin-tooling-core: Rename singleClosure to linearClosure
This commit is contained in:
committed by
Space
parent
6a96b6ec3f
commit
6d87fbddf4
+2
-2
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.gradle.BaseGradleIT.CompiledProject
|
|||||||
import org.jetbrains.kotlin.library.ToolingSingleFileKlibResolveStrategy
|
import org.jetbrains.kotlin.library.ToolingSingleFileKlibResolveStrategy
|
||||||
import org.jetbrains.kotlin.library.commonizerTarget
|
import org.jetbrains.kotlin.library.commonizerTarget
|
||||||
import org.jetbrains.kotlin.library.resolveSingleFileKlib
|
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 java.io.File
|
||||||
import javax.annotation.RegEx
|
import javax.annotation.RegEx
|
||||||
import kotlin.test.fail
|
import kotlin.test.fail
|
||||||
@@ -165,7 +165,7 @@ private fun inferCommonizerTargetOrNull(libraryFile: File): CommonizerTarget? =
|
|||||||
strategy = ToolingSingleFileKlibResolveStrategy
|
strategy = ToolingSingleFileKlibResolveStrategy
|
||||||
).commonizerTarget?.let(::parseCommonizerTarget)
|
).commonizerTarget?.let(::parseCommonizerTarget)
|
||||||
|
|
||||||
private val File.parentsClosure: Set<File> get() = this.singleClosure { parentFile }
|
private val File.parentsClosure: Set<File> get() = this.linearClosure { parentFile }
|
||||||
|
|
||||||
private const val dollar = "\$"
|
private const val dollar = "\$"
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -68,14 +68,14 @@ inline fun <reified T> Iterable<T>.withClosure(edges: (T) -> Iterable<T>): Set<T
|
|||||||
* @see closure
|
* @see closure
|
||||||
* @receiver is not included in the return set
|
* @receiver is not included in the return set
|
||||||
*/
|
*/
|
||||||
inline fun <reified T : Any> T.singleClosure(next: (T) -> T?): Set<T> =
|
inline fun <reified T : Any> T.linearClosure(next: (T) -> T?): Set<T> =
|
||||||
closureTo(createResultSet(), emptySet(), createDequeue(), this) { element -> next(element)?.let { add(it) } }
|
closureTo(createResultSet(), emptySet(), createDequeue(), this) { element -> next(element)?.let { add(it) } }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see closure
|
* @see closure
|
||||||
* @receiver is included in the return set
|
* @receiver is included in the return set
|
||||||
*/
|
*/
|
||||||
inline fun <reified T : Any> T.withSingleClosure(next: (T) -> T?): Set<T> =
|
inline fun <reified T : Any> T.withLinearClosure(next: (T) -> T?): Set<T> =
|
||||||
closureTo(createResultSet(this), emptySet(), createDequeue(), this) { element -> next(element)?.let { add(it) } }
|
closureTo(createResultSet(this), emptySet(), createDequeue(), this) { element -> next(element)?.let { add(it) } }
|
||||||
|
|
||||||
/* Implementation */
|
/* Implementation */
|
||||||
|
|||||||
+4
-4
@@ -135,7 +135,7 @@ class ClosureTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun singleClosure() {
|
fun linearClosure() {
|
||||||
val a = Node("a")
|
val a = Node("a")
|
||||||
val b = Node("b")
|
val b = Node("b")
|
||||||
val c = Node("c")
|
val c = Node("c")
|
||||||
@@ -144,12 +144,12 @@ class ClosureTest {
|
|||||||
b.parent = a
|
b.parent = a
|
||||||
|
|
||||||
assertEquals(
|
assertEquals(
|
||||||
listOf("b", "a"), c.singleClosure { it.parent }.map { it.value },
|
listOf("b", "a"), c.linearClosure { it.parent }.map { it.value },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun withSingleClosure() {
|
fun withLinearClosure() {
|
||||||
val a = Node("a")
|
val a = Node("a")
|
||||||
val b = Node("b")
|
val b = Node("b")
|
||||||
val c = Node("c")
|
val c = Node("c")
|
||||||
@@ -158,7 +158,7 @@ class ClosureTest {
|
|||||||
b.parent = a
|
b.parent = a
|
||||||
|
|
||||||
assertEquals(
|
assertEquals(
|
||||||
listOf("c", "b", "a"), c.withSingleClosure { it.parent }.map { it.value },
|
listOf("c", "b", "a"), c.withLinearClosure { it.parent }.map { it.value },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user