@@ -116,7 +116,6 @@ open class KotlinFileExtractor(
116116
117117 val exceptionOnFile = System .getenv(" CODEQL_KOTLIN_INTERNAL_EXCEPTION_WHILE_EXTRACTING_FILE" )
118118 if (exceptionOnFile != null ) {
119- @OptIn(kotlin.ExperimentalStdlibApi ::class ) // Annotation required by kotlin versions < 1.5
120119 if (exceptionOnFile.lowercase() == file.name.lowercase()) {
121120 throw Exception (" Internal testing exception" )
122121 }
@@ -403,7 +402,7 @@ open class KotlinFileExtractor(
403402 // Extract the outer <-> inner class relationship, passing on any type arguments in excess to this class' parameters if this is an inner class.
404403 // For example, in `class Outer<T> { inner class Inner<S> { } }`, `Inner<Int, String>` nests within `Outer<Int>` and raw `Inner<>` within `Outer<>`,
405404 // but for a similar non-`inner` (in Java terms, static nested) class both `Inner<Int>` and `Inner<>` nest within the unbound type `Outer`.
406- val useBoundOuterType = (c.isInner || c.isLocal) && (c.parents.map { // Would use ` firstNotNullOfOrNull`, but this doesn't exist in Kotlin 1.4
405+ val useBoundOuterType = (c.isInner || c.isLocal) && (c.parents.firstNotNullOfOrNull {
407406 when (it) {
408407 is IrClass -> when {
409408 it.typeParameters.isNotEmpty() -> true // Type parameters visible to this class -- extract an enclosing bound or raw type.
@@ -412,7 +411,7 @@ open class KotlinFileExtractor(
412411 }
413412 else -> null // Look through enclosing non-class entities (this may need to change)
414413 }
415- }.firstOrNull { it != null } ? : false )
414+ } ? : false )
416415
417416 extractEnclosingClass(c.parent, id, c, locId, if (useBoundOuterType) argsIncludingOuterClasses?.drop(c.typeParameters.size) else listOf ())
418417
0 commit comments