Skip to content

Commit 0dfbe7a

Browse files
committed
Kotlin: Add 1.5.21 specific files
1 parent 9df9d3a commit 0dfbe7a

File tree

5 files changed

+56
-0
lines changed

5 files changed

+56
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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+
}
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.IrFileEntry
4+
5+
typealias FileEntry = IrFileEntry
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: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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+
}
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)