Skip to content

Commit bcf6e64

Browse files
authored
Merge pull request #665 from Kotlin/k2-fixes
Fix some things that break in the build with K2 enabled
2 parents f09a10c + 97c79e6 commit bcf6e64

File tree

3 files changed

+24
-19
lines changed

3 files changed

+24
-19
lines changed

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/codeGen/CodeGeneratorImpl.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,11 @@ internal interface TypeRenderingStrategy {
107107

108108
internal object FullyQualifiedNames : TypeRenderingStrategy {
109109

110-
private val DataRow = DataRow::class.qualifiedName!!
111-
private val ColumnsContainer = ColumnsContainer::class.qualifiedName!!
112-
private val DataFrame = DataFrame::class.qualifiedName!!
113-
private val DataColumn = DataColumn::class.qualifiedName!!
114-
private val ColumnGroup = ColumnGroup::class.qualifiedName!!
110+
private val DataRow = org.jetbrains.kotlinx.dataframe.DataRow::class.qualifiedName!!
111+
private val ColumnsContainer = org.jetbrains.kotlinx.dataframe.ColumnsContainer::class.qualifiedName!!
112+
private val DataFrame = org.jetbrains.kotlinx.dataframe.DataFrame::class.qualifiedName!!
113+
private val DataColumn = org.jetbrains.kotlinx.dataframe.DataColumn::class.qualifiedName!!
114+
private val ColumnGroup = org.jetbrains.kotlinx.dataframe.columns.ColumnGroup::class.qualifiedName!!
115115

116116
override fun renderRowTypeName(markerName: String) = "$DataRow<$markerName>"
117117

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/impl/codeGen/CodeGeneratorImpl.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,11 @@ internal interface TypeRenderingStrategy {
107107

108108
internal object FullyQualifiedNames : TypeRenderingStrategy {
109109

110-
private val DataRow = DataRow::class.qualifiedName!!
111-
private val ColumnsContainer = ColumnsContainer::class.qualifiedName!!
112-
private val DataFrame = DataFrame::class.qualifiedName!!
113-
private val DataColumn = DataColumn::class.qualifiedName!!
114-
private val ColumnGroup = ColumnGroup::class.qualifiedName!!
110+
private val DataRow = org.jetbrains.kotlinx.dataframe.DataRow::class.qualifiedName!!
111+
private val ColumnsContainer = org.jetbrains.kotlinx.dataframe.ColumnsContainer::class.qualifiedName!!
112+
private val DataFrame = org.jetbrains.kotlinx.dataframe.DataFrame::class.qualifiedName!!
113+
private val DataColumn = org.jetbrains.kotlinx.dataframe.DataColumn::class.qualifiedName!!
114+
private val ColumnGroup = org.jetbrains.kotlinx.dataframe.columns.ColumnGroup::class.qualifiedName!!
115115

116116
override fun renderRowTypeName(markerName: String) = "$DataRow<$markerName>"
117117

plugins/expressions-converter/src/org/jetbrains/kotlinx/dataframe/ExplainerIrTransformer.kt

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
1313
import org.jetbrains.kotlin.ir.declarations.IrField
1414
import org.jetbrains.kotlin.ir.declarations.IrFile
1515
import org.jetbrains.kotlin.ir.declarations.IrFunction
16-
import org.jetbrains.kotlin.ir.declarations.impl.IrFunctionImpl
17-
import org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl
1816
import org.jetbrains.kotlin.ir.declarations.path
1917
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
2018
import org.jetbrains.kotlin.ir.expressions.IrBody
@@ -41,6 +39,8 @@ import org.jetbrains.kotlin.ir.util.isLocal
4139
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
4240
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
4341
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
42+
import org.jetbrains.kotlin.name.CallableId
43+
import org.jetbrains.kotlin.name.ClassId
4444
import org.jetbrains.kotlin.name.FqName
4545
import org.jetbrains.kotlin.name.Name
4646
import java.io.File
@@ -125,6 +125,8 @@ class ExplainerIrTransformer(
125125
FqName("org.jetbrains.kotlinx.dataframe.DataRow")
126126
)
127127

128+
val explainerPackage = FqName("org.jetbrains.kotlinx.dataframe.explainer")
129+
128130
override fun visitGetValue(expression: IrGetValue, data: ContainingDeclarations): IrExpression {
129131
if (expression.startOffset < 0) return expression
130132
if (expression.type.classFqName in dataFrameLike) {
@@ -155,21 +157,20 @@ class ExplainerIrTransformer(
155157
return super.visitExpression(expression, data)
156158
}
157159

158-
@OptIn(FirIncompatiblePluginAPI::class)
159160
private fun transformDataFrameExpression(
160161
expression: IrDeclarationReference,
161162
ownerName: Name,
162163
receiver: IrExpression?,
163164
data: ContainingDeclarations
164165
): IrCall {
165-
val alsoReference = pluginContext.referenceFunctions(FqName("kotlin.also")).single()
166+
val alsoReference = pluginContext.referenceFunctions(CallableId(FqName("kotlin"), Name.identifier("also"))).single()
166167

167168
val result = IrCallImpl(-1, -1, expression.type, alsoReference, 1, 1).apply {
168169
this.extensionReceiver = expression
169170
putTypeArgument(0, expression.type)
170171

171172
val symbol = IrSimpleFunctionSymbolImpl()
172-
val alsoLambda = IrFunctionImpl(
173+
val alsoLambda = pluginContext.irFactory.createSimpleFunction(
173174
startOffset = -1,
174175
endOffset = -1,
175176
origin = IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA,
@@ -188,7 +189,7 @@ class ExplainerIrTransformer(
188189
).apply {
189190
valueParameters = buildList {
190191
add(
191-
IrValueParameterImpl(
192+
pluginContext.irFactory.createValueParameter(
192193
startOffset = -1,
193194
endOffset = -1,
194195
origin = IrDeclarationOrigin.DEFINED,
@@ -223,8 +224,12 @@ class ExplainerIrTransformer(
223224
add(IrConstImpl.int(-1, -1, pluginContext.irBuiltIns.intType, data.statementIndex))
224225
}
225226
body = pluginContext.irFactory.createBlockBody(-1, -1).apply {
226-
val callback = FqName("org.jetbrains.kotlinx.dataframe.explainer.PluginCallbackProxy.doAction")
227-
val doAction = pluginContext.referenceFunctions(callback).single()
227+
val callableId = CallableId(
228+
explainerPackage,
229+
FqName("PluginCallbackProxy"),
230+
Name.identifier("doAction")
231+
)
232+
val doAction = pluginContext.referenceFunctions(callableId).single()
228233
statements += IrCallImpl(
229234
startOffset = -1,
230235
endOffset = -1,
@@ -233,7 +238,7 @@ class ExplainerIrTransformer(
233238
typeArgumentsCount = 0,
234239
valueArgumentsCount = valueArguments.size
235240
).apply {
236-
val clazz = FqName("org.jetbrains.kotlinx.dataframe.explainer.PluginCallbackProxy")
241+
val clazz = ClassId(explainerPackage, Name.identifier("PluginCallbackProxy"))
237242
val plugin = pluginContext.referenceClass(clazz)!!
238243
dispatchReceiver = IrGetObjectValueImpl(-1, -1, plugin.defaultType, plugin)
239244
valueArguments.forEachIndexed { i, argument ->

0 commit comments

Comments
 (0)