From 30626ca7e4493c5d9fe10c051c87ca80304c4e00 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Thu, 29 Aug 2024 14:34:08 +0100 Subject: [PATCH] KE2: Start getting deeper into KotlinFileExtractor --- .../src/main/kotlin/KotlinExtractor.kt | 2 +- .../src/main/kotlin/KotlinFileExtractor.kt | 21 +++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/java/kotlin-extractor2/src/main/kotlin/KotlinExtractor.kt b/java/kotlin-extractor2/src/main/kotlin/KotlinExtractor.kt index add9ab25131..f55e8bb444f 100644 --- a/java/kotlin-extractor2/src/main/kotlin/KotlinExtractor.kt +++ b/java/kotlin-extractor2/src/main/kotlin/KotlinExtractor.kt @@ -546,9 +546,9 @@ OLD: KE1 */ ) + fileExtractor.extractFileContents(srcFile, sftw.fileId) /* OLD: KE1 - fileExtractor.extractFileContents(srcFile, sftw.fileId) externalDeclExtractor.extractExternalClasses() */ } diff --git a/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt index e0e22796387..0559c111a8f 100644 --- a/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt @@ -1,5 +1,8 @@ package com.github.codeql +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.psi.* + /* OLD: KE1 import com.github.codeql.comments.CommentExtractorLighterAST @@ -100,14 +103,18 @@ OLD: KE1 val usesK2 = usesK2(pluginContext) val metaAnnotationSupport = MetaAnnotationSupport(logger, pluginContext, this) +*/ - private inline fun with(kind: String, element: IrElement, f: () -> T): T { + private inline fun with(kind: String, element: KtElement, f: () -> T): T { val name = when (element) { - is IrFile -> element.name - is IrDeclarationWithName -> element.name.asString() + is KtFile -> element.virtualFilePath + is KtNamed -> element.getNameAsName()?.asString() ?: "" else -> "" } + TODO() +/* +OLD: KE1 val loc = tw.getLocationString(element) val context = logger.loggerBase.extractorContextStack context.push(ExtractorContext(kind, element, name, loc)) @@ -123,10 +130,13 @@ OLD: KE1 } finally { context.pop() } +*/ } - fun extractFileContents(file: IrFile, id: Label) { + fun extractFileContents(file: KtFile, id: Label) { with("file", file) { +/* +OLD: KE1 val locId = tw.getWholeFileLocation() val pkg = file.packageFqName.asString() val pkgId = extractPackage(pkg) @@ -177,9 +187,12 @@ OLD: KE1 linesOfCode?.linesOfCodeInFile(id) externalClassExtractor.writeStubTrapFile(file) +*/ } } +/* +OLD: KE1 private fun javaBinaryDeclaresMethod(c: IrClass, name: String) = ((c.source as? JavaSourceElement)?.javaElement as? BinaryJavaClass)?.methods?.any { it.name.asString() == name