From 79171a92326158152fb8794c8cde49b26885173c Mon Sep 17 00:00:00 2001
From: Chris Smowton <chris@smowton.net>
Date: Thu, 15 May 2025 11:39:26 +0100
Subject: [PATCH 1/2] Fold v_1_5_0 and v_1_5_20 files forwards into v_1_6_0,
 dropping any that are overridden

---
 .../src/main/kotlin/utils/versions/v_1_5_0/FileEntry.kt   | 5 -----
 .../src/main/kotlin/utils/versions/v_1_5_0/Functions.kt   | 8 --------
 .../src/main/kotlin/utils/versions/v_1_5_0/IrBuiltIns.kt  | 5 -----
 .../src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt      | 5 -----
 .../main/kotlin/utils/versions/v_1_5_0/annotationType.kt  | 8 --------
 .../utils/versions/{v_1_5_0 => v_1_6_0}/CodeQLIrConst.kt  | 0
 .../utils/versions/{v_1_5_0 => v_1_6_0}/CodeQLIsRoot.kt   | 0
 .../{v_1_5_0 => v_1_6_0}/CommentExtractorLighterAST.kt    | 0
 .../{v_1_5_0 => v_1_6_0}/ExperimentalCompilerApi.kt       | 0
 .../utils/versions/{v_1_5_20 => v_1_6_0}/FileEntry.kt     | 0
 .../{v_1_5_0 => v_1_6_0}/FirMetadataSourceFirFile.kt      | 0
 .../utils/versions/{v_1_5_0 => v_1_6_0}/IrLazyFunction.kt | 0
 .../versions/{v_1_5_0 => v_1_6_0}/IrSymbolInternals.kt    | 0
 .../utils/versions/{v_1_5_0 => v_1_6_0}/IrVisitor.kt      | 0
 .../{v_1_5_0 => v_1_6_0}/IsUnderscoreParameter.kt         | 0
 .../JvmDefaultModeIsNoCompatibility.kt                    | 0
 .../{v_1_5_0 => v_1_6_0}/Kotlin2ComponentRegistrar.kt     | 0
 .../{v_1_5_0 => v_1_6_0}/LinesOfCodeLighterAST.kt         | 0
 .../kotlin/utils/versions/{v_1_5_20 => v_1_6_0}/Psi2Ir.kt | 0
 .../versions/{v_1_5_0 => v_1_6_0}/ReferenceEntity.kt      | 0
 .../versions/{v_1_5_0 => v_1_6_0}/SyntheticBodyKind.kt    | 0
 .../kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/Types.kt   | 0
 .../kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/UsesK2.kt  | 0
 .../{v_1_5_0 => v_1_6_0}/VirtualFileBasedSourceElement.kt | 0
 .../{v_1_5_0 => v_1_6_0}/allOverriddenIncludingSelf.kt    | 0
 .../kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/copyTo.kt  | 0
 ...teImplicitParameterDeclarationWithWrappedDescriptor.kt | 0
 .../versions/{v_1_5_0 => v_1_6_0}/getFileClassFqName.kt   | 0
 .../versions/{v_1_5_0 => v_1_6_0}/getJvmDefaultMode.kt    | 0
 .../utils/versions/{v_1_5_0 => v_1_6_0}/getKotlinType.kt  | 0
 .../versions/{v_1_5_0 => v_1_6_0}/isDispatchReceiver.kt   | 0
 .../utils/versions/{v_1_5_0 => v_1_6_0}/packageFqName.kt  | 0
 .../parameterIndexExcludingReceivers.kt                   | 0
 .../kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/parents.kt | 0
 .../utils/versions/{v_1_5_0 => v_1_6_0}/typeUtils.kt      | 0
 .../versions/{v_1_5_0 => v_1_6_0}/withHasQuestionMark.kt  | 0
 36 files changed, 31 deletions(-)
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/FileEntry.kt
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Functions.kt
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrBuiltIns.kt
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/annotationType.kt
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/CodeQLIrConst.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/CodeQLIsRoot.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/CommentExtractorLighterAST.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/ExperimentalCompilerApi.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_20 => v_1_6_0}/FileEntry.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/FirMetadataSourceFirFile.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/IrLazyFunction.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/IrSymbolInternals.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/IrVisitor.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/IsUnderscoreParameter.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/JvmDefaultModeIsNoCompatibility.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/Kotlin2ComponentRegistrar.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/LinesOfCodeLighterAST.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_20 => v_1_6_0}/Psi2Ir.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/ReferenceEntity.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/SyntheticBodyKind.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/Types.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/UsesK2.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/VirtualFileBasedSourceElement.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/allOverriddenIncludingSelf.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/copyTo.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/createImplicitParameterDeclarationWithWrappedDescriptor.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/getFileClassFqName.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/getJvmDefaultMode.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/getKotlinType.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/isDispatchReceiver.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/packageFqName.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/parameterIndexExcludingReceivers.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/parents.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/typeUtils.kt (100%)
 rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_1_5_0 => v_1_6_0}/withHasQuestionMark.kt (100%)

diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/FileEntry.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/FileEntry.kt
deleted file mode 100644
index 43597b1158c5..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/FileEntry.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.ir.SourceManager
-
-typealias FileEntry = SourceManager.FileEntry
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Functions.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Functions.kt
deleted file mode 100644
index 2fd45e905d90..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Functions.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
-import org.jetbrains.kotlin.ir.declarations.IrClass
-
-fun functionN(pluginContext: IrPluginContext): (Int) -> IrClass {
-    return { i -> pluginContext.irBuiltIns.functionFactory.functionN(i) }
-}
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrBuiltIns.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrBuiltIns.kt
deleted file mode 100644
index 825fc46b0d86..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrBuiltIns.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
-
-typealias IrBuiltIns = IrBuiltIns
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt
deleted file mode 100644
index 2046b507bf87..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.codeql.utils.versions
-
-import com.github.codeql.utils.Psi2IrFacade
-
-fun getPsi2Ir(): Psi2IrFacade? = null
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/annotationType.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/annotationType.kt
deleted file mode 100644
index d4e2f17430f2..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/annotationType.kt
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
-import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
-
-@OptIn(ObsoleteDescriptorBasedAPI::class)
-fun getAnnotationType(context: IrPluginContext) =
-    context.typeTranslator.translateType(context.builtIns.annotationType)
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/CodeQLIrConst.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/CodeQLIrConst.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/CodeQLIrConst.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/CodeQLIrConst.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/CodeQLIsRoot.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/CodeQLIsRoot.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/CodeQLIsRoot.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/CodeQLIsRoot.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/CommentExtractorLighterAST.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/CommentExtractorLighterAST.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/CommentExtractorLighterAST.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/CommentExtractorLighterAST.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/ExperimentalCompilerApi.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/ExperimentalCompilerApi.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/ExperimentalCompilerApi.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/ExperimentalCompilerApi.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_20/FileEntry.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FileEntry.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_20/FileEntry.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FileEntry.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/FirMetadataSourceFirFile.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FirMetadataSourceFirFile.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/FirMetadataSourceFirFile.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FirMetadataSourceFirFile.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrLazyFunction.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrLazyFunction.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrLazyFunction.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrLazyFunction.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrSymbolInternals.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrSymbolInternals.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrSymbolInternals.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrSymbolInternals.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrVisitor.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrVisitor.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IrVisitor.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrVisitor.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IsUnderscoreParameter.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IsUnderscoreParameter.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/IsUnderscoreParameter.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IsUnderscoreParameter.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/JvmDefaultModeIsNoCompatibility.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/JvmDefaultModeIsNoCompatibility.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/JvmDefaultModeIsNoCompatibility.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/JvmDefaultModeIsNoCompatibility.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Kotlin2ComponentRegistrar.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Kotlin2ComponentRegistrar.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Kotlin2ComponentRegistrar.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Kotlin2ComponentRegistrar.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/LinesOfCodeLighterAST.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/LinesOfCodeLighterAST.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/LinesOfCodeLighterAST.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/LinesOfCodeLighterAST.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_20/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Psi2Ir.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_20/Psi2Ir.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Psi2Ir.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/ReferenceEntity.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/ReferenceEntity.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/ReferenceEntity.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/ReferenceEntity.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/SyntheticBodyKind.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/SyntheticBodyKind.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/SyntheticBodyKind.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/SyntheticBodyKind.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Types.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Types.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Types.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Types.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/UsesK2.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/UsesK2.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/UsesK2.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/UsesK2.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/VirtualFileBasedSourceElement.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/VirtualFileBasedSourceElement.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/VirtualFileBasedSourceElement.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/VirtualFileBasedSourceElement.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/allOverriddenIncludingSelf.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/allOverriddenIncludingSelf.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/allOverriddenIncludingSelf.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/allOverriddenIncludingSelf.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/copyTo.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/copyTo.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/copyTo.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/copyTo.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/createImplicitParameterDeclarationWithWrappedDescriptor.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/createImplicitParameterDeclarationWithWrappedDescriptor.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/createImplicitParameterDeclarationWithWrappedDescriptor.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/createImplicitParameterDeclarationWithWrappedDescriptor.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/getFileClassFqName.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/getFileClassFqName.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/getFileClassFqName.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/getFileClassFqName.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/getJvmDefaultMode.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/getJvmDefaultMode.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/getJvmDefaultMode.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/getJvmDefaultMode.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/getKotlinType.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/getKotlinType.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/getKotlinType.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/getKotlinType.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/isDispatchReceiver.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/isDispatchReceiver.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/isDispatchReceiver.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/isDispatchReceiver.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/packageFqName.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/packageFqName.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/packageFqName.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/packageFqName.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/parameterIndexExcludingReceivers.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/parameterIndexExcludingReceivers.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/parameterIndexExcludingReceivers.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/parameterIndexExcludingReceivers.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/parents.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/parents.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/parents.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/parents.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/typeUtils.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/typeUtils.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/typeUtils.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/typeUtils.kt
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/withHasQuestionMark.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/withHasQuestionMark.kt
similarity index 100%
rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/withHasQuestionMark.kt
rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/withHasQuestionMark.kt

From 084222ec58383afa2b3ed96c93998786c9354df9 Mon Sep 17 00:00:00 2001
From: Chris Smowton <chris@smowton.net>
Date: Thu, 15 May 2025 12:07:23 +0100
Subject: [PATCH 2/2] Inline version-specific override code where there is now
 only one version

---
 java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt | 2 +-
 .../src/main/kotlin/MetaAnnotationSupport.kt                 | 3 +--
 .../src/main/kotlin/utils/versions/v_1_6_0/FileEntry.kt      | 5 -----
 .../src/main/kotlin/utils/versions/v_1_6_0/Functions.kt      | 5 -----
 .../src/main/kotlin/utils/versions/v_1_6_0/IrBuiltIns.kt     | 5 -----
 .../src/main/kotlin/utils/versions/v_1_6_0/annotationType.kt | 5 -----
 .../src/main/kotlin/utils/versions/v_1_6_0/typeUtils.kt      | 1 +
 .../main/kotlin/utils/versions/v_2_1_20-Beta1/typeUtils.kt   | 1 +
 8 files changed, 4 insertions(+), 23 deletions(-)
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FileEntry.kt
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Functions.kt
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrBuiltIns.kt
 delete mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/annotationType.kt

diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt
index 690372d67f51..376736611d1c 100644
--- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt
+++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt
@@ -8053,7 +8053,7 @@ open class KotlinFileExtractor(
                 ?.symbol
                 ?.typeWithArguments(listOf(functionNTypeArguments.last()))
         else
-            functionN(pluginContext)(functionNTypeArguments.size - 1)
+            pluginContext.irBuiltIns.functionN(functionNTypeArguments.size - 1)
                 .symbol
                 .typeWithArguments(functionNTypeArguments)
 
diff --git a/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt b/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt
index e591eed3eca6..368600267c11 100644
--- a/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt
+++ b/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt
@@ -2,7 +2,6 @@ package com.github.codeql
 
 import com.github.codeql.utils.versions.copyParameterToFunction
 import com.github.codeql.utils.versions.createImplicitParameterDeclarationWithWrappedDescriptor
-import com.github.codeql.utils.versions.getAnnotationType
 import java.lang.annotation.ElementType
 import java.util.HashSet
 import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
@@ -375,7 +374,7 @@ class MetaAnnotationSupport(
                     .apply {
                         createImplicitParameterDeclarationWithWrappedDescriptor()
                         parent = annotationClass
-                        superTypes = listOf(getAnnotationType(pluginContext))
+                        superTypes = listOf(pluginContext.irBuiltIns.annotationType)
                     }
 
             val propertyName = Name.identifier("value")
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FileEntry.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FileEntry.kt
deleted file mode 100644
index 18308780bff4..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/FileEntry.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.ir.IrFileEntry
-
-typealias FileEntry = IrFileEntry
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Functions.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Functions.kt
deleted file mode 100644
index 7d6c3eda8c39..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/Functions.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
-
-fun functionN(pluginContext: IrPluginContext) = pluginContext.irBuiltIns::functionN
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrBuiltIns.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrBuiltIns.kt
deleted file mode 100644
index 1bb2ca62aa21..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/IrBuiltIns.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.ir.IrBuiltIns
-
-typealias IrBuiltIns = org.jetbrains.kotlin.ir.IrBuiltIns
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/annotationType.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/annotationType.kt
deleted file mode 100644
index d51db5eb05c5..000000000000
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/annotationType.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.github.codeql.utils.versions
-
-import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
-
-fun getAnnotationType(context: IrPluginContext) = context.irBuiltIns.annotationType
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/typeUtils.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/typeUtils.kt
index 06829377a6b7..3724cafaab9e 100644
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/typeUtils.kt
+++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_0/typeUtils.kt
@@ -1,6 +1,7 @@
 package com.github.codeql.utils.versions
 
 import org.jetbrains.kotlin.ir.types.*
+import org.jetbrains.kotlin.ir.IrBuiltIns
 
 fun IrType.isNullableCodeQL(): Boolean =
     this.isNullable()
diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_1_20-Beta1/typeUtils.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_1_20-Beta1/typeUtils.kt
index ac34e633116f..c6ffb89015e5 100644
--- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_1_20-Beta1/typeUtils.kt
+++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_1_20-Beta1/typeUtils.kt
@@ -2,6 +2,7 @@ package com.github.codeql.utils.versions
 
 import org.jetbrains.kotlin.ir.types.IrType
 import org.jetbrains.kotlin.ir.util.*
+import org.jetbrains.kotlin.ir.IrBuiltIns
 
 fun IrType.isNullableCodeQL(): Boolean =
     this.isNullable()