Skip to content

Commit ad1cb8f

Browse files
authored
Merge pull request #10065 from tamasvajk/kotlin-1.7.20-Beta
Kotlin: Add support for version 1.7.20-Beta
2 parents 08a5b5d + fb9a348 commit ad1cb8f

14 files changed

+45
-12
lines changed

java/kotlin-extractor/build.gradle

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,22 @@ sourceSets {
3030
// change the excludes for building with other versions.
3131
// Currently 1.7.0 is configured:
3232
excludes = [
33-
"utils/versions/v_1_4_32/*.kt",
34-
"utils/versions/v_1_5_21/Descriptors.kt",
35-
"utils/versions/v_1_6_10/Descriptors.kt",
33+
// For 1.7.20-Beta, the below two files should be included, and the corresponding v_1_7_20-Beta ones should be excluded from this list.
34+
//"utils/versions/v_1_4_32/allOverriddenIncludingSelf.kt",
35+
//"utils/versions/v_1_4_32/createImplicitParameterDeclarationWithWrappedDescriptor.kt",
36+
"utils/versions/v_1_4_32/Descriptors.kt",
37+
"utils/versions/v_1_4_32/FileEntry.kt",
38+
"utils/versions/v_1_4_32/Functions.kt",
39+
"utils/versions/v_1_4_32/IsUnderscoreParameter.kt",
40+
"utils/versions/v_1_4_32/Psi2Ir.kt",
41+
"utils/versions/v_1_4_32/Types.kt",
42+
"utils/versions/v_1_4_32/withHasQuestionMark.kt",
43+
44+
"utils/versions/v_1_5_20/Descriptors.kt",
45+
"utils/versions/v_1_6_0/Descriptors.kt",
46+
47+
"utils/versions/v_1_7_20-Beta/createImplicitParameterDeclarationWithWrappedDescriptor.kt",
48+
"utils/versions/v_1_7_20-Beta/allOverriddenIncludingSelf.kt",
3649
]
3750
}
3851
}

java/kotlin-extractor/kotlin_plugin_versions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def version_string_to_tuple(version):
2525
ci_version = '1.7.0'
2626

2727
# Version numbers in the list need to be in semantically increasing order
28-
many_versions = [ '1.4.32', '1.5.0', '1.5.10', '1.5.21', '1.5.31', '1.6.10', '1.6.20', '1.7.0' ]
28+
many_versions = [ '1.4.32', '1.5.0', '1.5.10', '1.5.20', '1.5.30', '1.6.0', '1.6.20', '1.7.0', '1.7.20-Beta' ]
2929

3030
many_versions_tuples = [version_string_to_tuple(v) for v in many_versions]
3131

java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@ import com.github.codeql.utils.versions.codeQlWithHasQuestionMark
55
import com.github.codeql.utils.versions.isRawType
66
import com.semmle.extractor.java.OdasaOutput
77
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
8-
import org.jetbrains.kotlin.backend.common.ir.allOverridden
9-
import org.jetbrains.kotlin.backend.common.ir.isFinalClass
8+
import org.jetbrains.kotlin.backend.common.ir.*
109
import org.jetbrains.kotlin.backend.common.lower.parents
1110
import org.jetbrains.kotlin.backend.common.lower.parentsWithSelf
1211
import org.jetbrains.kotlin.backend.jvm.ir.propertyIfAccessor
13-
import org.jetbrains.kotlin.builtins.StandardNames
1412
import org.jetbrains.kotlin.codegen.JvmCodegenUtil
1513
import org.jetbrains.kotlin.descriptors.*
1614
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
@@ -26,7 +24,6 @@ import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
2624
import org.jetbrains.kotlin.load.java.structure.*
2725
import org.jetbrains.kotlin.load.kotlin.getJvmModuleNameForDeserializedDescriptor
2826
import org.jetbrains.kotlin.name.FqName
29-
import org.jetbrains.kotlin.name.Name
3027
import org.jetbrains.kotlin.name.NameUtils
3128
import org.jetbrains.kotlin.name.SpecialNames
3229
import org.jetbrains.kotlin.types.Variance

java/kotlin-extractor/src/main/kotlin/utils/JvmNames.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.github.codeql.utils
22

3-
import org.jetbrains.kotlin.backend.common.ir.allOverridden
3+
import com.github.codeql.utils.versions.allOverriddenIncludingSelf
44
import org.jetbrains.kotlin.builtins.StandardNames
55
import org.jetbrains.kotlin.ir.declarations.IrAnnotationContainer
66
import org.jetbrains.kotlin.ir.declarations.IrClass
@@ -59,7 +59,7 @@ private val specialFunctionShortNames = specialFunctions.keys.map { it.functionN
5959

6060
private fun getSpecialJvmName(f: IrFunction): String? {
6161
if (specialFunctionShortNames.contains(f.name) && f is IrSimpleFunction) {
62-
f.allOverridden(true).forEach { overriddenFunc ->
62+
f.allOverriddenIncludingSelf().forEach { overriddenFunc ->
6363
overriddenFunc.parentClassOrNull?.fqNameWhenAvailable?.let { parentFqName ->
6464
specialFunctions[MethodKey(parentFqName, f.name)]?.let {
6565
return it

java/kotlin-extractor/src/main/kotlin/utils/TypeSubstitution.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package com.github.codeql.utils
33
import com.github.codeql.KotlinUsesExtractor
44
import com.github.codeql.getJavaEquivalentClassId
55
import com.github.codeql.utils.versions.codeQlWithHasQuestionMark
6+
import com.github.codeql.utils.versions.createImplicitParameterDeclarationWithWrappedDescriptor
67
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
7-
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
88
import org.jetbrains.kotlin.backend.common.lower.parents
99
import org.jetbrains.kotlin.descriptors.ClassKind
1010
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
2525
import org.jetbrains.kotlin.ir.util.classId
2626
import org.jetbrains.kotlin.ir.util.constructedClassType
2727
import org.jetbrains.kotlin.ir.util.constructors
28-
import org.jetbrains.kotlin.ir.util.parentAsClass
2928
import org.jetbrains.kotlin.name.FqName
3029
import org.jetbrains.kotlin.name.Name
3130
import org.jetbrains.kotlin.types.Variance
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
4+
import org.jetbrains.kotlin.backend.common.ir.allOverridden
5+
6+
fun IrSimpleFunction.allOverriddenIncludingSelf() = this.allOverridden(includeSelf = true)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.ir.declarations.IrClass
4+
import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor
5+
6+
fun IrClass.createImplicitParameterDeclarationWithWrappedDescriptor() = this.createImplicitParameterDeclarationWithWrappedDescriptor()

0 commit comments

Comments
 (0)