Skip to content

Commit 55c3525

Browse files
Automated commit of generated code
1 parent bea4095 commit 55c3525

File tree

1 file changed

+60
-17
lines changed
  • core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api

1 file changed

+60
-17
lines changed

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/generateCode.kt

Lines changed: 60 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,70 @@ import org.jetbrains.kotlinx.dataframe.codeGen.CodeGenerator
55
import org.jetbrains.kotlinx.dataframe.codeGen.MarkerVisibility
66
import org.jetbrains.kotlinx.dataframe.codeGen.NameNormalizer
77
import org.jetbrains.kotlinx.dataframe.impl.codeGen.from
8+
import org.jetbrains.kotlinx.dataframe.schema.DataFrameSchema
9+
10+
// region DataFrame
811

912
public inline fun <reified T> DataFrame<T>.generateCode(
1013
fields: Boolean = true,
1114
extensionProperties: Boolean = true,
12-
): CodeString {
13-
val name = markerName<T>()
14-
return generateCode(name, fields, extensionProperties)
15-
}
15+
): CodeString =
16+
schema().generateCode(
17+
markerName = markerName<T>(),
18+
fields = fields,
19+
extensionProperties = extensionProperties,
20+
)
1621

1722
public fun <T> DataFrame<T>.generateCode(
1823
markerName: String,
1924
fields: Boolean = true,
2025
extensionProperties: Boolean = true,
2126
visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC,
27+
): CodeString =
28+
schema().generateCode(
29+
markerName = markerName,
30+
fields = fields,
31+
extensionProperties = extensionProperties,
32+
visibility = visibility,
33+
)
34+
35+
public inline fun <reified T> DataFrame<T>.generateInterfaces(): CodeString =
36+
schema().generateInterfaces(
37+
markerName = markerName<T>(),
38+
)
39+
40+
public inline fun <reified T> DataFrame<T>.generateDataClasses(
41+
markerName: String? = null,
42+
extensionProperties: Boolean = false,
43+
visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC,
44+
useFqNames: Boolean = false,
45+
nameNormalizer: NameNormalizer = NameNormalizer.default,
46+
): CodeString =
47+
schema().generateDataClasses(
48+
name = markerName ?: markerName<T>(),
49+
extensionProperties = extensionProperties,
50+
visibility = visibility,
51+
useFqNames = useFqNames,
52+
nameNormalizer = nameNormalizer,
53+
)
54+
55+
public fun <T> DataFrame<T>.generateInterfaces(markerName: String): CodeString =
56+
schema().generateInterfaces(markerName = markerName)
57+
58+
// endregion
59+
60+
// region DataFrameSchema
61+
62+
@JvmName("generateCodeForSchema")
63+
public fun DataFrameSchema.generateCode(
64+
markerName: String,
65+
fields: Boolean = true,
66+
extensionProperties: Boolean = true,
67+
visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC,
2268
): CodeString {
2369
val codeGen = CodeGenerator.create()
2470
return codeGen.generate(
25-
schema = schema(),
71+
schema = this,
2672
name = markerName,
2773
fields = fields,
2874
extensionProperties = extensionProperties,
@@ -31,23 +77,25 @@ public fun <T> DataFrame<T>.generateCode(
3177
).code.declarations.toCodeString()
3278
}
3379

34-
public inline fun <reified T> DataFrame<T>.generateInterfaces(): CodeString =
80+
@JvmName("generateInterfacesForSchema")
81+
public fun DataFrameSchema.generateInterfaces(markerName: String): CodeString =
3582
generateCode(
83+
markerName = markerName,
3684
fields = true,
3785
extensionProperties = false,
3886
)
3987

40-
public inline fun <reified T> DataFrame<T>.generateDataClasses(
41-
markerName: String? = null,
88+
@JvmName("generateDataClassesForSchema")
89+
public fun DataFrameSchema.generateDataClasses(
90+
name: String,
4291
extensionProperties: Boolean = false,
4392
visibility: MarkerVisibility = MarkerVisibility.IMPLICIT_PUBLIC,
4493
useFqNames: Boolean = false,
4594
nameNormalizer: NameNormalizer = NameNormalizer.default,
4695
): CodeString {
47-
val name = markerName ?: markerName<T>()
4896
val codeGen = CodeGenerator.create(useFqNames)
4997
return codeGen.generate(
50-
schema = schema(),
98+
schema = this,
5199
name = name,
52100
fields = true,
53101
extensionProperties = extensionProperties,
@@ -58,6 +106,8 @@ public inline fun <reified T> DataFrame<T>.generateDataClasses(
58106
).code.declarations.toCodeString()
59107
}
60108

109+
// endregion
110+
61111
@PublishedApi
62112
internal inline fun <reified T> markerName(): String =
63113
if (T::class.isAbstract) {
@@ -66,13 +116,6 @@ internal inline fun <reified T> markerName(): String =
66116
"DataEntry"
67117
}
68118

69-
public fun <T> DataFrame<T>.generateInterfaces(markerName: String): CodeString =
70-
generateCode(
71-
markerName = markerName,
72-
fields = true,
73-
extensionProperties = false,
74-
)
75-
76119
/**
77120
* Converts delimited 'my_name', 'my name', etc., String to camelCase 'myName'
78121
*/

0 commit comments

Comments
 (0)