Skip to content

Commit c78b9f2

Browse files
committed
Support Kotlin 2
1 parent dc454f4 commit c78b9f2

File tree

6 files changed

+7
-59
lines changed

6 files changed

+7
-59
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id 'java'
3-
id 'org.jetbrains.kotlin.jvm' version '1.8.20'
3+
id 'org.jetbrains.kotlin.jvm' version '2.0.0'
44
}
55

66
allprojects {

gradle-plugin/build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ plugins {
55
id 'org.jetbrains.kotlin.jvm'
66
}
77

8-
apply from: rootProject.file('gradle/utils/embedded.gradle')
9-
108
gradlePlugin {
119
website = 'https://github.com/ShikaSD/kotlin-object-serialization-fix'
1210
vcsUrl = 'https://github.com/ShikaSD/kotlin-object-serialization-fix.git'
@@ -26,5 +24,5 @@ dependencies {
2624
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
2725
implementation "org.jetbrains.kotlin:kotlin-gradle-plugin-api"
2826

29-
embedded project(':kotlin-plugin')
27+
runtimeOnly(project(':kotlin-plugin'))
3028
}

gradle/utils/embedded.gradle

Lines changed: 0 additions & 40 deletions
This file was deleted.

kotlin-plugin/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ dependencies {
1010
implementation "org.jetbrains.kotlin:kotlin-gradle-plugin-api"
1111
compileOnly "org.jetbrains.kotlin:kotlin-compiler-embeddable"
1212

13-
testImplementation 'com.github.tschuchortdev:kotlin-compile-testing:1.5.0'
13+
// testImplementation 'com.github.tschuchortdev:kotlin-compile-testing:1.5.0' does not support Kotlin 2
14+
testImplementation 'dev.zacsweers.kctfork:core:0.6.0' // Fork of kotlin-compile-testing that supports Kotlin 2
1415
testImplementation 'junit:junit:4.12'
1516
testImplementation 'org.jetbrains.kotlin:kotlin-compiler-embeddable'
1617
}

kotlin-plugin/src/main/kotlin/me/shika/generation/ObjectSerializationIRGeneration.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
1717
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
1818
import org.jetbrains.kotlin.ir.visitors.acceptVoid
1919

20-
private object ObjectSerializationOrigin : IrDeclarationOriginImpl("object-serialization-fix", isSynthetic = true)
20+
private val objectSerializationOrigin = IrDeclarationOriginImpl("object-serialization-fix", isSynthetic = true)
2121

2222
class ObjectSerializationIrGeneration : IrGenerationExtension {
2323
override fun generate(moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) {
@@ -37,7 +37,7 @@ class ObjectSerializationIrGeneration : IrGenerationExtension {
3737
name = SERIALIZABLE_READ
3838
returnType = context.irBuiltIns.anyNType
3939
visibility = DescriptorVisibilities.PUBLIC
40-
origin = ObjectSerializationOrigin
40+
origin = objectSerializationOrigin
4141
}.also { function ->
4242
// Ensure it is not static
4343
function.dispatchReceiverParameter = cls.thisReceiver?.copyTo(function)

kotlin-plugin/src/test/kotlin/me/shika/ObjectSerializationFixTest.kt

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,14 @@ import com.tschuchort.compiletesting.SourceFile
55
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
66
import org.junit.Assert.assertTrue
77
import org.junit.Test
8-
import org.junit.runner.RunWith
9-
import org.junit.runners.Parameterized
108
import org.junit.runners.Parameterized.Parameters
119
import java.lang.reflect.Method
1210

1311
@OptIn(ExperimentalCompilerApi::class)
14-
@RunWith(Parameterized::class)
15-
class ObjectSerializationFixTest(enableIr: Boolean, enableFir: Boolean) {
16-
companion object {
17-
@Parameters(name = "IR: {0}, FIR: {1}")
18-
@JvmStatic
19-
fun data() = arrayOf(arrayOf(false, false), arrayOf(true, false), arrayOf(true, true))
20-
}
21-
12+
class ObjectSerializationFixTest {
2213
private val compiler = KotlinCompilation().apply {
2314
compilerPluginRegistrars = listOf(ObjectSerializationCompilerPluginRegistrar())
24-
useIR = enableIr
2515
supportsK2 = true
26-
useK2 = enableFir
2716
}
2817

2918
private val SERIALIZABLE_OBJECT = """

0 commit comments

Comments
 (0)