Skip to content

Commit 9df9d3a

Browse files
committed
Kotlin: Add 1.5.10 specific files
1 parent 83a1f68 commit 9df9d3a

File tree

5 files changed

+58
-0
lines changed

5 files changed

+58
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.ir.SourceManager
4+
5+
typealias FileEntry = SourceManager.FileEntry
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
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+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
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()

0 commit comments

Comments
 (0)