Skip to content

Commit 7b6c0cf

Browse files
committed
Update Kotlin to 2.0.21 and 2.0.20
1 parent 4eb076c commit 7b6c0cf

25 files changed

+139
-66
lines changed

compiler-plugin/compiler-plugin-k2/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ kotlin {
1818
}
1919

2020
dependencies {
21+
compileOnly(libs.kotlin.reflect)
2122
compileOnly(libs.kotlin.compiler.embeddable)
2223
project.whenKotlinIsAtLeast(2, 0) {
2324
compileOnly(libs.serialization.plugin)

compiler-plugin/compiler-plugin-k2/src/main/latest/kotlinx/rpc/codegen/FirRPCServiceGenerator.kt renamed to compiler-plugin/compiler-plugin-k2/src/main/core/kotlinx/rpc/codegen/FirRPCServiceGenerator.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ import org.jetbrains.kotlin.fir.moduleData
2424
import org.jetbrains.kotlin.fir.plugin.*
2525
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
2626
import org.jetbrains.kotlin.fir.symbols.impl.*
27-
import org.jetbrains.kotlin.fir.types.*
27+
import org.jetbrains.kotlin.fir.types.ConeKotlinType
28+
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
29+
import org.jetbrains.kotlin.fir.types.classId
30+
import org.jetbrains.kotlin.fir.types.constructClassLikeType
2831
import org.jetbrains.kotlin.name.CallableId
2932
import org.jetbrains.kotlin.name.ClassId
3033
import org.jetbrains.kotlin.name.Name
@@ -221,9 +224,11 @@ class FirRpcServiceGenerator(
221224
SerialEntityNames.SERIALIZER_FACTORY_INTERFACE_NAME,
222225
)
223226

224-
val ref = serializerFactoryClassId
225-
.constructClassLikeType(emptyArray(), false)
226-
.toFirResolvedTypeRef()
227+
val ref = vsApi {
228+
serializerFactoryClassId
229+
.constructClassLikeType(emptyArray(), false)
230+
.toFirResolvedTypeRefVS()
231+
}
227232

228233
return listOf(ref)
229234
}
@@ -257,7 +262,7 @@ class FirRpcServiceGenerator(
257262
.map { it.symbol }
258263

259264
return createNestedClass(owner, RpcNames.SERVICE_STUB_NAME, RPCGeneratedStubKey(owner.name, functions)) {
260-
visibility = owner.visibility
265+
visibility = Visibilities.Public
261266
modality = Modality.FINAL
262267
}.symbol
263268
}
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.extensions.FirSupertypeGenerationExtension
1313
import org.jetbrains.kotlin.fir.extensions.predicateBasedProvider
1414
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
1515
import org.jetbrains.kotlin.fir.types.constructClassLikeType
16-
import org.jetbrains.kotlin.fir.types.toFirResolvedTypeRef
1716

1817
class FirRpcSupertypeGenerator(
1918
session: FirSession,
@@ -37,9 +36,11 @@ class FirRpcSupertypeGenerator(
3736
}
3837

3938
return listOf(
40-
RpcClassId.remoteServiceInterface
41-
.constructClassLikeType(emptyArray(), isNullable = false)
42-
.toFirResolvedTypeRef()
39+
vsApi {
40+
RpcClassId.remoteServiceInterface
41+
.constructClassLikeType(emptyArray(), isNullable = false)
42+
.toFirResolvedTypeRefVS()
43+
}
4344
)
4445
}
4546
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* Copyright 2023-2024 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license.
3+
*/
4+
5+
package kotlinx.rpc.codegen
6+
7+
import org.jetbrains.kotlin.KtSourceElement
8+
import org.jetbrains.kotlin.fir.types.ConeKotlinType
9+
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
10+
import org.jetbrains.kotlin.fir.types.FirTypeRef
11+
12+
interface FirVersionSpecificApi {
13+
fun ConeKotlinType.toFirResolvedTypeRefVS(
14+
source: KtSourceElement? = null,
15+
delegatedTypeRef: FirTypeRef? = null,
16+
): FirResolvedTypeRef
17+
}
18+
19+
fun <T> vsApi(body: FirVersionSpecificApi.() -> T) : T {
20+
val klass = Class.forName("kotlinx.rpc.codegen.FirVersionSpecificApiImpl")
21+
return (klass.kotlin.objectInstance as FirVersionSpecificApi).body()
22+
}

0 commit comments

Comments
 (0)