Skip to content

Commit 3ff9e97

Browse files
authored
Merge pull request #75 from olafurpg/olafurpg/kotlin-1.9
Upgrade to Kotlin 1.9.x
2 parents 075340e + 44af36f commit 3ff9e97

File tree

6 files changed

+25
-4
lines changed

6 files changed

+25
-4
lines changed

README.md

+12
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,25 @@ This codebase implements a Kotlin compiler plugin that can be used together with
55
[scip-java](https://sourcegraph.github.io/scip-java) to emit
66
[SCIP](https://github.com/sourcegraph/scip) indexes for Kotlin projects.
77

8+
89
## Getting started
910

1011
This project must be used together with scip-java. Visit
1112
[scip-java](https://sourcegraph.github.io/scip-java/) for instructions on how to
1213
index Kotlin projects with scip-java. Note that scip-java indexes Kotlin sources
1314
even if you have no Java code.
1415

16+
## Kotlin version compatibility
17+
18+
Any given release of scip-kotlin only supports one major version of Kotlin.
19+
Use the table below to find the version of scip-kotlin that matches the Kotlin
20+
version you are using in your project.
21+
22+
| Kotlin version | scip-kotlin version |
23+
|----------------|---------------------|
24+
| 1.8.x | 0.3.2 |
25+
| 1.9.x | 0.4.0 |
26+
1527
## SemanticDB support
1628

1729
This project is implemented as a

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import groovy.lang.Closure
44
import org.gradle.jvm.toolchain.internal.CurrentJvmToolchainSpec
55

66
plugins {
7-
kotlin("jvm") version "1.8.21"
7+
kotlin("jvm") version "1.9.22"
88
id("com.github.johnrengelman.shadow") version "7.1.0"
99
id("com.palantir.git-version") version "0.12.3"
1010
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"

semanticdb-kotlinc/build.gradle.kts

+7-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,13 @@ dependencies {
3535
testImplementation(kotlin("compiler-embeddable"))
3636
testImplementation(kotlin("test"))
3737
testImplementation("io.kotest", "kotest-assertions-core", "4.6.3")
38-
testImplementation("com.github.tschuchortdev", "kotlin-compile-testing", "1.5.0")
38+
39+
// Unable to use com.github.tschuchortdev:kotlin-compile-testing until 1.9.x support is fixed
40+
// https://github.com/tschuchortdev/kotlin-compile-testing/issues/390
41+
// Until then, we use the fork from https://github.com/ZacSweers/kotlin-compile-testing instead.
42+
// testImplementation("com.github.tschuchortdev", "kotlin-compile-testing", "1.5.0")
43+
testImplementation("dev.zacsweers.kctfork", "core", "0.4.0")
44+
3945
testImplementation("org.junit.jupiter", "junit-jupiter-params", "5.8.1")
4046
testImplementation("org.jetbrains.kotlin", "kotlin-stdlib-jdk8", "1.5.0") {
4147
version {

semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ import org.jetbrains.kotlin.com.intellij.navigation.NavigationItem
1515
import org.jetbrains.kotlin.com.intellij.psi.PsiElement
1616
import org.jetbrains.kotlin.descriptors.*
1717
import org.jetbrains.kotlin.idea.KotlinLanguage
18-
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc.fqnString
1918
import org.jetbrains.kotlin.psi.KtConstructor
2019
import org.jetbrains.kotlin.psi.KtFile
2120
import org.jetbrains.kotlin.psi.KtPropertyAccessor
2221
import org.jetbrains.kotlin.renderer.DescriptorRenderer
22+
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
2323
import org.jetbrains.kotlin.resolve.descriptorUtil.getAllSuperClassifiers
2424

2525
@ExperimentalContracts
@@ -86,7 +86,7 @@ class SemanticdbTextDocumentBuilder(
8686
// first is the class itself
8787
.drop(1)
8888
.filter {
89-
it.fqnString(false) !in isIgnoredSuperClass
89+
it.fqNameSafe.toString() !in isIgnoredSuperClass
9090
}
9191
.flatMap { cache[it] }
9292
.map { it.toString() }

semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/SemanticdbSymbolsTest.kt

+2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import com.sourcegraph.semanticdb_kotlinc.Semanticdb.SymbolOccurrence.Role
77
import com.sourcegraph.semanticdb_kotlinc.test.ExpectedSymbols.SemanticdbData
88
import com.sourcegraph.semanticdb_kotlinc.test.ExpectedSymbols.SymbolCacheData
99
import com.tschuchort.compiletesting.SourceFile
10+
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
1011
import kotlin.contracts.ExperimentalContracts
1112
import org.junit.jupiter.api.TestFactory
1213

14+
@ExperimentalCompilerApi
1315
@ExperimentalContracts
1416
class SemanticdbSymbolsTest {
1517
@TestFactory

semanticdb-kotlinc/src/test/kotlin/com/sourcegraph/semanticdb_kotlinc/test/Utils.kt

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ data class ExpectedSymbols(
4444
fun SourceFile.Companion.testKt(@Language("kotlin") contents: String): SourceFile =
4545
kotlin("Test.kt", contents)
4646

47+
@ExperimentalCompilerApi
4748
@ExperimentalContracts
4849
fun List<ExpectedSymbols>.mapCheckExpectedSymbols(): List<DynamicTest> =
4950
this.flatMap { (testName, source, symbolsData, semanticdbData) ->

0 commit comments

Comments
 (0)