Skip to content

Commit ecc8a91

Browse files
committed
Kotlin: Update compiler plugin for Kotlin 2.3.0-Beta2
1 parent 144510c commit ecc8a91

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// For ComponentRegistrar
2+
@file:Suppress("DEPRECATION", "DEPRECATION_ERROR")
3+
4+
package com.github.codeql
5+
6+
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
7+
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
8+
9+
@OptIn(ExperimentalCompilerApi::class)
10+
abstract class Kotlin2ComponentRegistrar : ComponentRegistrar {
11+
override val supportsK2: Boolean
12+
get() = true
13+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.descriptors.*
4+
import org.jetbrains.kotlin.load.kotlin.JvmPackagePartSource
5+
import org.jetbrains.kotlin.metadata.deserialization.*
6+
import org.jetbrains.kotlin.metadata.jvm.deserialization.*
7+
import org.jetbrains.kotlin.metadata.jvm.JvmProtoBuf
8+
import org.jetbrains.kotlin.resolve.DescriptorUtils.*
9+
import org.jetbrains.kotlin.serialization.deserialization.descriptors.*
10+
11+
fun getJvmModuleNameForDeserializedDescriptor(descriptor: CallableMemberDescriptor): String? {
12+
val parent = getParentOfType(descriptor, ClassOrPackageFragmentDescriptor::class.java, false)
13+
14+
when {
15+
parent is DeserializedClassDescriptor -> {
16+
val classProto = parent.classProto
17+
val nameResolver = parent.c.nameResolver
18+
return classProto.getExtensionOrNull(JvmProtoBuf.classModuleName)
19+
?.let(nameResolver::getString)
20+
?: JvmProtoBufUtil.DEFAULT_MODULE_NAME
21+
}
22+
descriptor is DeserializedMemberDescriptor -> {
23+
val source = descriptor.containerSource
24+
if (source is JvmPackagePartSource) {
25+
return source.moduleName
26+
}
27+
}
28+
}
29+
30+
return null
31+
}

0 commit comments

Comments
 (0)