Skip to content

Commit adbd85c

Browse files
committed
Annotate DataFrameBuilder APIs for compiler plugin support
1 parent d44a2ec commit adbd85c

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/constructors.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,8 @@ public class DataFrameBuilder(private val header: List<String>) {
413413
)
414414
}
415415

416+
@Refine
417+
@Interpretable("DataFrameBuilderFillValue")
416418
public inline fun <reified C> fill(nrow: Int, value: C): DataFrame<*> =
417419
withColumns { name ->
418420
DataColumn.createValueColumn(
@@ -431,8 +433,12 @@ public class DataFrameBuilder(private val header: List<String>) {
431433
)
432434
}
433435

436+
@Refine
437+
@Interpretable("DataFrameBuilderNulls")
434438
public inline fun <reified C> nulls(nrow: Int): DataFrame<*> = fill<C?>(nrow, null)
435439

440+
@Refine
441+
@Interpretable("DataFrameBuilderFillIndexed")
436442
public inline fun <reified C> fillIndexed(nrow: Int, crossinline init: (Int, String) -> C): DataFrame<*> =
437443
withColumns { name ->
438444
DataColumn.createByInference(
@@ -441,6 +447,8 @@ public class DataFrameBuilder(private val header: List<String>) {
441447
)
442448
}
443449

450+
@Refine
451+
@Interpretable("DataFrameBuilderFill")
444452
public inline fun <reified C> fill(nrow: Int, crossinline init: (Int) -> C): DataFrame<*> =
445453
withColumns { name ->
446454
DataColumn.createByInference(
@@ -458,22 +466,38 @@ public class DataFrameBuilder(private val header: List<String>) {
458466
)
459467
}
460468

469+
@Refine
470+
@Interpretable("DataFrameBuilderRandomInt")
461471
public fun randomInt(nrow: Int): DataFrame<*> = fillNotNull(nrow) { Random.nextInt() }
462472

473+
@Refine
474+
@Interpretable("DataFrameBuilderRandomIntRange")
463475
public fun randomInt(nrow: Int, range: IntRange): DataFrame<*> = fillNotNull(nrow) { Random.nextInt(range) }
464476

477+
@Refine
478+
@Interpretable("DataFrameBuilderRandomDouble")
465479
public fun randomDouble(nrow: Int): DataFrame<*> = fillNotNull(nrow) { Random.nextDouble() }
466480

481+
@Refine
482+
@Interpretable("DataFrameBuilderRandomDoubleRange")
467483
public fun randomDouble(nrow: Int, range: ClosedRange<Double>): DataFrame<*> =
468484
fillNotNull(nrow) { Random.nextDouble(range.start, range.endInclusive) }
469485

486+
@Refine
487+
@Interpretable("DataFrameBuilderRandomFloat")
470488
public fun randomFloat(nrow: Int): DataFrame<*> = fillNotNull(nrow) { Random.nextFloat() }
471489

490+
@Refine
491+
@Interpretable("DataFrameBuilderRandomLong")
472492
public fun randomLong(nrow: Int): DataFrame<*> = fillNotNull(nrow) { Random.nextLong() }
473493

494+
@Refine
495+
@Interpretable("DataFrameBuilderRandomLongRange")
474496
public fun randomLong(nrow: Int, range: ClosedRange<Long>): DataFrame<*> =
475497
fillNotNull(nrow) { Random.nextLong(range.start, range.endInclusive) }
476498

499+
@Refine
500+
@Interpretable("DataFrameBuilderRandomBoolean")
477501
public fun randomBoolean(nrow: Int): DataFrame<*> = fillNotNull(nrow) { Random.nextBoolean() }
478502
}
479503

0 commit comments

Comments
 (0)