Merge branch 'main' into dbartol/threat-models

This commit is contained in:
Dave Bartolomeo
2023-10-20 14:05:17 -04:00
committed by GitHub
25 changed files with 10677 additions and 53 deletions

View File

@@ -139,7 +139,7 @@ open class KotlinUsesExtractor(
}
fun getJavaEquivalentClass(c: IrClass) =
getJavaEquivalentClassId(c)?.let { getClassByFqName(pluginContext, it.asSingleFqName()) }?.owner
getJavaEquivalentClassId(c)?.let { getClassByClassId(pluginContext, it) }?.owner
/**
* Gets a KotlinFileExtractor based on this one, except it attributes locations to the file that declares the given class.

View File

@@ -2,6 +2,7 @@ package com.github.codeql.utils
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
import org.jetbrains.kotlin.ir.symbols.*
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -9,6 +10,10 @@ fun getClassByFqName(pluginContext: IrPluginContext, fqName: FqName): IrClassSym
return pluginContext.referenceClass(fqName)
}
fun getClassByClassId(pluginContext: IrPluginContext, id: ClassId): IrClassSymbol? {
return getClassByFqName(pluginContext, id.asSingleFqName())
}
fun getFunctionsByFqName(pluginContext: IrPluginContext, pkgName: FqName, name: Name): Collection<IrSimpleFunctionSymbol> {
val fqName = pkgName.child(name)
return pluginContext.referenceFunctions(fqName)

View File

@@ -10,6 +10,10 @@ import org.jetbrains.kotlin.name.Name
fun getClassByFqName(pluginContext: IrPluginContext, fqName: FqName): IrClassSymbol? {
val id = ClassId.topLevel(fqName)
return getClassByClassId(pluginContext, id)
}
fun getClassByClassId(pluginContext: IrPluginContext, id: ClassId): IrClassSymbol? {
return pluginContext.referenceClass(id)
}