File tree Expand file tree Collapse file tree 5 files changed +56
-0
lines changed
java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_21 Expand file tree Collapse file tree 5 files changed +56
-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+ import org.jetbrains.kotlin.psi2ir.generators.DeclarationStubGeneratorImpl
9+
10+ @OptIn(ObsoleteDescriptorBasedAPI ::class )
11+ fun <TIrStub > KotlinUsesExtractor.getIrStubFromDescriptor (generateStub : (DeclarationStubGenerator ) -> TIrStub ) : TIrStub ? =
12+ (pluginContext.symbolTable as ? SymbolTable ) ?.let {
13+ val stubGenerator = DeclarationStubGeneratorImpl (pluginContext.moduleDescriptor, it, pluginContext.languageVersionSettings)
14+ generateStub(stubGenerator)
15+ } ? : run {
16+ logger.error(" Plugin context has no symbol table, couldn't get IR stub" )
17+ null
18+ }
Original file line number Diff line number Diff line change 1+ package com.github.codeql.utils.versions
2+
3+ import org.jetbrains.kotlin.ir.IrFileEntry
4+
5+ typealias FileEntry = IrFileEntry
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.backend.common.psi.PsiSourceManager
5+ import org.jetbrains.kotlin.backend.jvm.ir.getKtFile
6+ import org.jetbrains.kotlin.ir.IrElement
7+ import org.jetbrains.kotlin.ir.declarations.IrFile
8+ import org.jetbrains.kotlin.psi.KtFile
9+
10+ class Psi2Ir : Psi2IrFacade {
11+ override fun getKtFile (irFile : IrFile ): KtFile ? {
12+ return irFile.getKtFile()
13+ }
14+
15+ override fun findPsiElement (irElement : IrElement , irFile : IrFile ): PsiElement ? {
16+ return PsiSourceManager .findPsiElement(irElement, irFile)
17+ }
18+ }
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