File tree Expand file tree Collapse file tree 5 files changed +58
-0
lines changed
java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0 Expand file tree Collapse file tree 5 files changed +58
-0
lines changed Original file line number Diff line number Diff line change 1+ package com.github.codeql.utils.versions
2+
3+ import com.github.codeql.KotlinUsesExtractor
4+ import com.github.codeql.Severity
5+ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
6+ import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator
7+ import org.jetbrains.kotlin.ir.util.SymbolTable
8+
9+ @OptIn(ObsoleteDescriptorBasedAPI ::class )
10+ fun <TIrStub > KotlinUsesExtractor.getIrStubFromDescriptor (generateStub : (DeclarationStubGenerator ) -> TIrStub ) : TIrStub ? =
11+ (pluginContext.symbolTable as ? SymbolTable ) ?.let {
12+ val stubGenerator = DeclarationStubGenerator (pluginContext.moduleDescriptor, it, pluginContext.languageVersionSettings)
13+ generateStub(stubGenerator)
14+ } ? : run {
15+ logger.error(" Plugin context has no symbol table, couldn't get IR stub" )
16+ null
17+ }
Original file line number Diff line number Diff line change 1+ package com.github.codeql.utils.versions
2+
3+ import org.jetbrains.kotlin.ir.SourceManager
4+
5+ typealias FileEntry = SourceManager .FileEntry
Original file line number Diff line number Diff line change 1+ package com.github.codeql.utils.versions
2+
3+ import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
4+ import org.jetbrains.kotlin.ir.declarations.IrClass
5+
6+ fun functionN (pluginContext : IrPluginContext ): (Int ) -> IrClass {
7+ return { i -> pluginContext.irBuiltIns.functionFactory.functionN(i) }
8+ }
Original file line number Diff line number Diff line change 1+ package com.github.codeql.utils.versions
2+
3+ import com.intellij.psi.PsiElement
4+ import org.jetbrains.kotlin.ir.IrElement
5+ import org.jetbrains.kotlin.ir.declarations.IrFile
6+ import org.jetbrains.kotlin.psi.KtFile
7+ import org.jetbrains.kotlin.psi2ir.PsiSourceManager
8+
9+ class Psi2Ir : Psi2IrFacade {
10+ companion object {
11+ val psiManager = PsiSourceManager ()
12+ }
13+
14+ override fun getKtFile (irFile : IrFile ): KtFile ? {
15+ return psiManager.getKtFile(irFile)
16+ }
17+
18+ override fun findPsiElement (irElement : IrElement , irFile : IrFile ): PsiElement ? {
19+ return psiManager.findPsiElement(irElement, irFile)
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ package com.github.codeql.utils.versions
2+
3+ import org.jetbrains.kotlin.backend.jvm.codegen.isRawType
4+ import org.jetbrains.kotlin.ir.types.IrSimpleType
5+
6+
7+ fun IrSimpleType.isRawType () = this .isRawType()
You can’t perform that action at this time.
0 commit comments