Skip to content

Commit 1cd6f8c

Browse files
committed
[Compiler plugin] Introduce singleton for PluginDataFrameSchema(emptyList())
1 parent d1fe1ae commit 1cd6f8c

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed

plugins/kotlin-dataframe/src/org/jetbrains/kotlinx/dataframe/plugin/impl/SimpleCol.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ import org.jetbrains.kotlinx.dataframe.plugin.utils.Names
1818
data class PluginDataFrameSchema(
1919
private val columns: List<SimpleCol>
2020
) : DataFrameLikeContainer<SimpleCol> {
21+
companion object {
22+
val EMPTY = PluginDataFrameSchema(emptyList())
23+
}
2124
override fun columns(): List<SimpleCol> {
2225
return columns
2326
}

plugins/kotlin-dataframe/src/org/jetbrains/kotlinx/dataframe/plugin/impl/api/groupBy.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ fun KotlinTypeFacade.aggregate(
9292
}
9393
PluginDataFrameSchema(cols)
9494
} else {
95-
PluginDataFrameSchema(emptyList())
95+
PluginDataFrameSchema.EMPTY
9696
}
9797
}
9898

plugins/kotlin-dataframe/src/org/jetbrains/kotlinx/dataframe/plugin/impl/api/insert.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ internal fun PluginDataFrameSchema.insertImpl(
132132
columns.firstOrNull()?.referenceNode?.getRoot(),
133133
0,
134134
factory = { PluginDataFrameSchema(it) },
135-
empty = PluginDataFrameSchema(emptyList()),
135+
empty = PluginDataFrameSchema.EMPTY,
136136
rename = { rename(it) },
137137
createColumnGroup = { name, columns ->
138138
SimpleColumnGroup(name, columns)

plugins/kotlin-dataframe/src/org/jetbrains/kotlinx/dataframe/plugin/impl/api/toDataFrame.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -288,12 +288,12 @@ internal fun KotlinTypeFacade.toDataFrame(
288288
}
289289
}
290290

291-
val receiver = explicitReceiver ?: return PluginDataFrameSchema(emptyList())
292-
val arg = receiver.resolvedType.typeArguments.firstOrNull() ?: return PluginDataFrameSchema(emptyList())
291+
val receiver = explicitReceiver ?: return PluginDataFrameSchema.EMPTY
292+
val arg = receiver.resolvedType.typeArguments.firstOrNull() ?: return PluginDataFrameSchema.EMPTY
293293
return when {
294-
arg.isStarProjection -> PluginDataFrameSchema(emptyList())
294+
arg.isStarProjection -> PluginDataFrameSchema.EMPTY
295295
else -> {
296-
val classLike = arg.type as? ConeClassLikeType ?: return PluginDataFrameSchema(emptyList())
296+
val classLike = arg.type as? ConeClassLikeType ?: return PluginDataFrameSchema.EMPTY
297297
val columns = convert(classLike, 0)
298298
PluginDataFrameSchema(columns)
299299
}

plugins/kotlin-dataframe/src/org/jetbrains/kotlinx/dataframe/plugin/interpret.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -314,16 +314,16 @@ interface InterpretationErrorReporter {
314314

315315
fun KotlinTypeFacade.pluginDataFrameSchema(schemaTypeArg: ConeTypeProjection): PluginDataFrameSchema {
316316
val schema = if (schemaTypeArg.isStarProjection) {
317-
PluginDataFrameSchema(emptyList())
317+
PluginDataFrameSchema.EMPTY
318318
} else {
319-
val coneClassLikeType = schemaTypeArg.type as? ConeClassLikeType ?: return PluginDataFrameSchema(emptyList())
319+
val coneClassLikeType = schemaTypeArg.type as? ConeClassLikeType ?: return PluginDataFrameSchema.EMPTY
320320
pluginDataFrameSchema(coneClassLikeType)
321321
}
322322
return schema
323323
}
324324

325325
fun KotlinTypeFacade.pluginDataFrameSchema(coneClassLikeType: ConeClassLikeType): PluginDataFrameSchema {
326-
val symbol = coneClassLikeType.toSymbol(session) as? FirRegularClassSymbol ?: return PluginDataFrameSchema(emptyList())
326+
val symbol = coneClassLikeType.toSymbol(session) as? FirRegularClassSymbol ?: return PluginDataFrameSchema.EMPTY
327327
val declarationSymbols = if (symbol.isLocal && symbol.resolvedSuperTypes.firstOrNull() != session.builtinTypes.anyType.type) {
328328
val rootSchemaSymbol = symbol.resolvedSuperTypes.first().toSymbol(session) as? FirRegularClassSymbol
329329
rootSchemaSymbol?.declaredMemberScope(session, FirResolvePhase.DECLARATIONS)

0 commit comments

Comments
 (0)