Skip to content

Commit c67cc23

Browse files
committed
Kotlin: Write usesK2 information to the database
1 parent a002f59 commit c67cc23

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import java.nio.file.Files
2020
import java.nio.file.Paths
2121
import java.util.zip.GZIPInputStream
2222
import java.util.zip.GZIPOutputStream
23+
import com.github.codeql.utils.versions.usesK2
2324
import com.semmle.util.files.FileUtil
2425
import kotlin.system.exitProcess
2526

@@ -97,6 +98,7 @@ class KotlinExtractorExtension(
9798

9899
private fun runExtractor(moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) {
99100
val startTimeMs = System.currentTimeMillis()
101+
val usesK2 = usesK2(pluginContext)
100102
// This default should be kept in sync with com.semmle.extractor.java.interceptors.KotlinInterceptor.initializeExtractionContext
101103
val trapDir = File(System.getenv("CODEQL_EXTRACTOR_JAVA_TRAP_DIR").takeUnless { it.isNullOrEmpty() } ?: "kotlin-extractor/trap")
102104
val compression_env_var = "CODEQL_EXTRACTOR_JAVA_OPTION_TRAP_COMPRESSION"
@@ -134,6 +136,7 @@ class KotlinExtractorExtension(
134136
tw.writeCompilation_info(compilation, "Kotlin Compiler Version", KotlinCompilerVersion.getVersion() ?: "<unknown>")
135137
val extractor_name = this::class.java.getResource("extractor.name")?.readText() ?: "<unknown>"
136138
tw.writeCompilation_info(compilation, "Kotlin Extractor Name", extractor_name)
139+
tw.writeCompilation_info(compilation, "Uses Kotlin 2", usesK2.toString())
137140
if (compilationStartTime != null) {
138141
tw.writeCompilation_compiler_times(compilation, -1.0, (System.currentTimeMillis()-compilationStartTime)/1000.0)
139142
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
4+
5+
fun usesK2(@Suppress("UNUSED_PARAMETER") pluginContext: IrPluginContext): Boolean {
6+
return false
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
4+
5+
fun usesK2(pluginContext: IrPluginContext): Boolean {
6+
return pluginContext.languageVersionSettings.languageVersion.usesK2
7+
}

0 commit comments

Comments
 (0)