Kotlin: Move extractFileContents into KotlinFileExtractor

This commit is contained in:
Ian Lynagh
2022-01-13 16:15:24 +00:00
parent d43efd4cc7
commit c1c4e4f86c
3 changed files with 12 additions and 12 deletions

View File

@@ -1,5 +1,6 @@
package com.github.codeql
import com.github.codeql.comments.CommentExtractor
import com.github.codeql.utils.TypeSubstitution
import com.github.codeql.utils.versions.functionN
import com.github.codeql.utils.substituteTypeAndArguments
@@ -34,6 +35,16 @@ open class KotlinFileExtractor(
genericSpecialisationsExtracted: MutableSet<String>
): KotlinUsesExtractor(logger, tw, dependencyCollector, externalClassExtractor, primitiveTypeMapping, pluginContext, genericSpecialisationsExtracted) {
fun extractFileContents(file: IrFile, id: Label<DbFile>) {
val locId = tw.getWholeFileLocation()
val pkg = file.fqName.asString()
val pkgId = extractPackage(pkg)
tw.writeHasLocation(id, locId)
tw.writeCupackage(id, pkgId)
file.declarations.map { extractDeclaration(it) }
CommentExtractor(this, file).extract()
}
fun extractDeclaration(declaration: IrDeclaration) {
when (declaration) {
is IrClass -> {

View File

@@ -1,6 +1,5 @@
package com.github.codeql
import com.github.codeql.comments.CommentExtractor
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrFile
@@ -21,14 +20,4 @@ class KotlinSourceFileExtractor(
genericSpecialisationsExtracted: MutableSet<String>
) :
KotlinFileExtractor(logger, tw, null, externalClassExtractor, primitiveTypeMapping, pluginContext, genericSpecialisationsExtracted) {
fun extractFileContents(file: IrFile, id: Label<DbFile>) {
val locId = tw.getWholeFileLocation()
val pkg = file.fqName.asString()
val pkgId = extractPackage(pkg)
tw.writeHasLocation(id, locId)
tw.writeCupackage(id, pkgId)
file.declarations.map { extractDeclaration(it) }
CommentExtractor(this, file).extract()
}
}

View File

@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.psi.KtVisitor
import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.startOffset
class CommentExtractor(private val fileExtractor: KotlinSourceFileExtractor, private val file: IrFile) {
class CommentExtractor(private val fileExtractor: KotlinFileExtractor, private val file: IrFile) {
private val tw = fileExtractor.tw
private val logger = fileExtractor.logger
private val ktFile = Psi2Ir().getKtFile(file)