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_10 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