File tree Expand file tree Collapse file tree 4 files changed +28
-6
lines changed
generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/columns
src/main/kotlin/org/jetbrains/kotlinx/dataframe/columns Expand file tree Collapse file tree 4 files changed +28
-6
lines changed Original file line number Diff line number Diff line change @@ -17,11 +17,22 @@ import org.jetbrains.kotlinx.dataframe.api.asSingleColumn
17
17
public interface ColumnSet <out C > : ColumnsResolver <C >
18
18
19
19
internal fun <C > ColumnsResolver<C>.asColumnSet (): ColumnSet <C > =
20
- object : ColumnSet <C >, ColumnsResolver <C > by this {}
20
+ when (this ) {
21
+ is ColumnSet <C > -> this
22
+ else -> object : ColumnSet <C > {
23
+ override fun resolve (context : ColumnResolutionContext ): List <ColumnWithPath <C >> =
24
+ this @asColumnSet.resolve(context)
25
+ }
26
+ }
21
27
28
+ @Suppress(" UNCHECKED_CAST" )
22
29
@PublishedApi
23
30
internal fun <C > SingleColumn<C>.asColumnSet (): ColumnSet <C > =
24
- object : ColumnSet <C >, SingleColumn <C > by this {}
31
+ when (this ) {
32
+ is ColumnSet <* > -> this as ColumnSet <C >
33
+ else -> object : ColumnSet <C >, SingleColumn <C > by this {}
34
+ }
35
+
25
36
26
37
internal fun <C > ColumnsSelectionDsl<C>.asColumnSet (): ColumnSet <DataRow <C >> =
27
38
asSingleColumn().asColumnSet()
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ import org.jetbrains.kotlinx.dataframe.impl.columns.*
19
19
* @see [TransformableColumnSet]
20
20
* @see [TransformableSingleColumn]
21
21
*/
22
- public interface ColumnsResolver <out C > {
22
+ public sealed interface ColumnsResolver <out C > {
23
23
24
24
/* *
25
25
* Resolves this [ColumnsResolver] as a [List]<[ColumnWithPath]<[C]>>.
Original file line number Diff line number Diff line change @@ -17,11 +17,22 @@ import org.jetbrains.kotlinx.dataframe.api.asSingleColumn
17
17
public interface ColumnSet <out C > : ColumnsResolver <C >
18
18
19
19
internal fun <C > ColumnsResolver<C>.asColumnSet (): ColumnSet <C > =
20
- object : ColumnSet <C >, ColumnsResolver <C > by this {}
20
+ when (this ) {
21
+ is ColumnSet <C > -> this
22
+ else -> object : ColumnSet <C > {
23
+ override fun resolve (context : ColumnResolutionContext ): List <ColumnWithPath <C >> =
24
+ this @asColumnSet.resolve(context)
25
+ }
26
+ }
21
27
28
+ @Suppress(" UNCHECKED_CAST" )
22
29
@PublishedApi
23
30
internal fun <C > SingleColumn<C>.asColumnSet (): ColumnSet <C > =
24
- object : ColumnSet <C >, SingleColumn <C > by this {}
31
+ when (this ) {
32
+ is ColumnSet <* > -> this as ColumnSet <C >
33
+ else -> object : ColumnSet <C >, SingleColumn <C > by this {}
34
+ }
35
+
25
36
26
37
internal fun <C > ColumnsSelectionDsl<C>.asColumnSet (): ColumnSet <DataRow <C >> =
27
38
asSingleColumn().asColumnSet()
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ import org.jetbrains.kotlinx.dataframe.impl.columns.*
19
19
* @see [TransformableColumnSet]
20
20
* @see [TransformableSingleColumn]
21
21
*/
22
- public interface ColumnsResolver <out C > {
22
+ public sealed interface ColumnsResolver <out C > {
23
23
24
24
/* *
25
25
* Resolves this [ColumnsResolver] as a [List]<[ColumnWithPath]<[C]>>.
You can’t perform that action at this time.
0 commit comments