mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Kotlin: Add support for JavaBinarySourceElement sources
This commit is contained in:
@@ -3,6 +3,7 @@ package com.github.codeql
|
||||
import com.github.codeql.utils.getJvmName
|
||||
import com.github.codeql.utils.versions.*
|
||||
import com.intellij.openapi.vfs.StandardFileSystems
|
||||
import org.jetbrains.kotlin.fir.java.JavaBinarySourceElement
|
||||
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
|
||||
import org.jetbrains.kotlin.load.java.structure.impl.classFiles.BinaryJavaClass
|
||||
import org.jetbrains.kotlin.load.kotlin.VirtualFileKotlinClass
|
||||
@@ -80,6 +81,9 @@ fun getIrClassVirtualFile(irClass: IrClass): VirtualFile? {
|
||||
is BinaryJavaClass -> return element.virtualFile
|
||||
}
|
||||
}
|
||||
is JavaBinarySourceElement -> {
|
||||
return cSource.javaClass.virtualFile
|
||||
}
|
||||
is KotlinJvmBinarySourceElement -> {
|
||||
val binaryClass = cSource.binaryClass
|
||||
when(binaryClass) {
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.jetbrains.kotlin.fir.java
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.SourceElement
|
||||
import org.jetbrains.kotlin.load.java.structure.impl.classFiles.BinaryJavaClass
|
||||
|
||||
/*
|
||||
We need this class to exist, but the compiler will never give us an
|
||||
instance of it.
|
||||
*/
|
||||
abstract class JavaBinarySourceElement private constructor(val javaClass: BinaryJavaClass): SourceElement {
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
/*
|
||||
The compiler provides this class, so we don't have to do anything.
|
||||
*/
|
||||
Reference in New Issue
Block a user