@@ -2,9 +2,9 @@ package me.shika.generation
22
33import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
44import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
5+ import org.jetbrains.kotlin.backend.common.ir.copyTo
56import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
67import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
7- import org.jetbrains.kotlin.descriptors.Visibilities
88import org.jetbrains.kotlin.ir.IrElement
99import org.jetbrains.kotlin.ir.builders.declarations.addFunction
1010import org.jetbrains.kotlin.ir.builders.irBlockBody
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
1616import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
1717import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
1818import org.jetbrains.kotlin.ir.visitors.acceptVoid
19- import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
2019
2120private object ObjectSerializationOrigin : IrDeclarationOriginImpl(" object-serialization-fix" , isSynthetic = true )
2221
@@ -40,6 +39,9 @@ class ObjectSerializationIrGeneration : IrGenerationExtension {
4039 visibility = DescriptorVisibilities .PUBLIC
4140 origin = ObjectSerializationOrigin
4241 }.also { function ->
42+ // Ensure it is not static
43+ function.dispatchReceiverParameter = cls.thisReceiver?.copyTo(function)
44+
4345 function.body = DeclarationIrBuilder (context, function.symbol, function.startOffset, function.endOffset)
4446 .irBlockBody {
4547 + irReturn(irGetObject(cls.symbol))
0 commit comments