From 63f08f46d556f40f5fd613a00a541ff5c0ac3f36 Mon Sep 17 00:00:00 2001 From: Nikita Klimenko Date: Thu, 25 Jan 2024 19:51:43 +0200 Subject: [PATCH] make `forEach` inline to enable composable and suspend calls in lambda --- .../kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt | 8 ++++---- .../kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt b/core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt index 9e5ec62a7c..8f2a7f2fb7 100644 --- a/core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt +++ b/core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt @@ -7,21 +7,21 @@ import org.jetbrains.kotlinx.dataframe.columns.values // region DataColumn -public fun DataColumn.forEach(action: (T) -> Unit): Unit = values.forEach(action) +public inline fun DataColumn.forEach(action: (T) -> Unit): Unit = values().forEach(action) -public fun DataColumn.forEachIndexed(action: (Int, T) -> Unit): Unit = values.forEachIndexed(action) +public inline fun DataColumn.forEachIndexed(action: (Int, T) -> Unit): Unit = values().forEachIndexed(action) // endregion // region DataFrame -public fun DataFrame.forEach(action: RowExpression): Unit = rows().forEach { action(it, it) } +public inline fun DataFrame.forEach(action: RowExpression): Unit = rows().forEach { action(it, it) } // endregion // region GroupBy -public fun GroupBy.forEach(body: (GroupBy.Entry) -> Unit): Unit = keys.forEach { key -> +public inline fun GroupBy.forEach(body: (GroupBy.Entry) -> Unit): Unit = keys.forEach { key -> val group = groups[key.index()] body(GroupBy.Entry(key, group)) } diff --git a/core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt b/core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt index 9e5ec62a7c..8f2a7f2fb7 100644 --- a/core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt +++ b/core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt @@ -7,21 +7,21 @@ import org.jetbrains.kotlinx.dataframe.columns.values // region DataColumn -public fun DataColumn.forEach(action: (T) -> Unit): Unit = values.forEach(action) +public inline fun DataColumn.forEach(action: (T) -> Unit): Unit = values().forEach(action) -public fun DataColumn.forEachIndexed(action: (Int, T) -> Unit): Unit = values.forEachIndexed(action) +public inline fun DataColumn.forEachIndexed(action: (Int, T) -> Unit): Unit = values().forEachIndexed(action) // endregion // region DataFrame -public fun DataFrame.forEach(action: RowExpression): Unit = rows().forEach { action(it, it) } +public inline fun DataFrame.forEach(action: RowExpression): Unit = rows().forEach { action(it, it) } // endregion // region GroupBy -public fun GroupBy.forEach(body: (GroupBy.Entry) -> Unit): Unit = keys.forEach { key -> +public inline fun GroupBy.forEach(body: (GroupBy.Entry) -> Unit): Unit = keys.forEach { key -> val group = groups[key.index()] body(GroupBy.Entry(key, group)) }