Skip to content

Commit f0a904e

Browse files
committed
Kotlin: Fix build with 2.1.20-Beta1
1 parent c8b1efd commit f0a904e

File tree

13 files changed

+85
-16
lines changed

13 files changed

+85
-16
lines changed

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,19 @@ import org.jetbrains.kotlin.ir.declarations.lazy.IrLazyFunction
2525
import org.jetbrains.kotlin.ir.expressions.*
2626
import org.jetbrains.kotlin.ir.expressions.impl.*
2727
import org.jetbrains.kotlin.ir.symbols.*
28-
import org.jetbrains.kotlin.ir.types.*
28+
import org.jetbrains.kotlin.ir.types.classFqName
29+
import org.jetbrains.kotlin.ir.types.classifierOrFail
30+
import org.jetbrains.kotlin.ir.types.classOrNull
31+
import org.jetbrains.kotlin.ir.types.isAny
32+
import org.jetbrains.kotlin.ir.types.isNullableAny
33+
import org.jetbrains.kotlin.ir.types.typeOrNull
34+
import org.jetbrains.kotlin.ir.types.typeWith
35+
import org.jetbrains.kotlin.ir.types.typeWithArguments
36+
import org.jetbrains.kotlin.ir.types.IrSimpleType
37+
import org.jetbrains.kotlin.ir.types.IrStarProjection
38+
import org.jetbrains.kotlin.ir.types.IrType
39+
import org.jetbrains.kotlin.ir.types.IrTypeArgument
40+
import org.jetbrains.kotlin.ir.types.IrTypeProjection
2941
import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
3042
import org.jetbrains.kotlin.ir.util.*
3143
import org.jetbrains.kotlin.load.java.JvmAnnotationNames

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

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,24 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
1212
import org.jetbrains.kotlin.ir.declarations.*
1313
import org.jetbrains.kotlin.ir.expressions.*
1414
import org.jetbrains.kotlin.ir.symbols.*
15-
import org.jetbrains.kotlin.ir.types.*
15+
import org.jetbrains.kotlin.ir.types.addAnnotations
16+
import org.jetbrains.kotlin.ir.types.classFqName
17+
import org.jetbrains.kotlin.ir.types.classifierOrNull
18+
import org.jetbrains.kotlin.ir.types.classOrNull
19+
import org.jetbrains.kotlin.ir.types.isAny
20+
import org.jetbrains.kotlin.ir.types.isNullableAny
21+
import org.jetbrains.kotlin.ir.types.isPrimitiveType
22+
import org.jetbrains.kotlin.ir.types.makeNullable
23+
import org.jetbrains.kotlin.ir.types.typeOrNull
24+
import org.jetbrains.kotlin.ir.types.typeWith
25+
import org.jetbrains.kotlin.ir.types.typeWithArguments
26+
import org.jetbrains.kotlin.ir.types.IrDynamicType
27+
import org.jetbrains.kotlin.ir.types.IrErrorType
28+
import org.jetbrains.kotlin.ir.types.IrSimpleType
29+
import org.jetbrains.kotlin.ir.types.IrStarProjection
30+
import org.jetbrains.kotlin.ir.types.IrType
31+
import org.jetbrains.kotlin.ir.types.IrTypeArgument
32+
import org.jetbrains.kotlin.ir.types.IrTypeProjection
1633
import org.jetbrains.kotlin.ir.types.impl.*
1734
import org.jetbrains.kotlin.ir.util.*
1835
import org.jetbrains.kotlin.load.java.BuiltinMethodsWithSpecialGenericSignature

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.github.codeql.utils.versions.*
55
import com.intellij.openapi.vfs.StandardFileSystems
66
import com.intellij.openapi.vfs.VirtualFile
77
import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap
8-
import org.jetbrains.kotlin.fir.java.JavaBinarySourceElement
8+
import org.jetbrains.kotlin.fir.java.VirtualFileBasedSourceElement
99
import org.jetbrains.kotlin.ir.IrElement
1010
import org.jetbrains.kotlin.ir.declarations.*
1111
import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable
@@ -89,8 +89,8 @@ fun getIrClassVirtualFile(irClass: IrClass): VirtualFile? {
8989
is BinaryJavaClass -> return element.virtualFile
9090
}
9191
}
92-
is JavaBinarySourceElement -> {
93-
return cSource.javaClass.virtualFile
92+
is VirtualFileBasedSourceElement -> {
93+
return cSource.virtualFile
9494
}
9595
is KotlinJvmBinarySourceElement -> {
9696
val binaryClass = cSource.binaryClass

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

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.github.codeql.Logger
55
import com.github.codeql.getJavaEquivalentClassId
66
import com.github.codeql.utils.versions.codeQlWithHasQuestionMark
77
import com.github.codeql.utils.versions.createImplicitParameterDeclarationWithWrappedDescriptor
8+
import com.github.codeql.utils.versions.*
89
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
910
import org.jetbrains.kotlin.descriptors.ClassKind
1011
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
@@ -18,15 +19,18 @@ import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
1819
import org.jetbrains.kotlin.ir.expressions.impl.*
1920
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
2021
import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol
21-
import org.jetbrains.kotlin.ir.types.*
22+
import org.jetbrains.kotlin.ir.types.addAnnotations
23+
import org.jetbrains.kotlin.ir.types.classifierOrNull
24+
import org.jetbrains.kotlin.ir.types.typeWith
25+
import org.jetbrains.kotlin.ir.types.IrSimpleType
26+
import org.jetbrains.kotlin.ir.types.IrStarProjection
27+
import org.jetbrains.kotlin.ir.types.IrType
28+
import org.jetbrains.kotlin.ir.types.IrTypeArgument
29+
import org.jetbrains.kotlin.ir.types.IrTypeProjection
2230
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
2331
import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl
2432
import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
25-
import org.jetbrains.kotlin.ir.util.classId
26-
import org.jetbrains.kotlin.ir.util.constructedClassType
27-
import org.jetbrains.kotlin.ir.util.constructors
28-
import org.jetbrains.kotlin.ir.util.kotlinFqName
29-
import org.jetbrains.kotlin.ir.util.parents
33+
import org.jetbrains.kotlin.ir.util.*
3034
import org.jetbrains.kotlin.name.FqName
3135
import org.jetbrains.kotlin.name.Name
3236
import org.jetbrains.kotlin.types.Variance
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
4+
5+
typealias IrBuiltIns = IrBuiltIns

java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/JavaBinarySourceElement.kt renamed to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/VirtualFileBasedSourceElement.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package org.jetbrains.kotlin.fir.java
22

3+
import com.intellij.openapi.vfs.VirtualFile
34
import org.jetbrains.kotlin.descriptors.SourceElement
45
import org.jetbrains.kotlin.load.java.structure.impl.classFiles.BinaryJavaClass
56

67
/*
78
We need this class to exist, but the compiler will never give us an
89
instance of it.
910
*/
10-
abstract class JavaBinarySourceElement private constructor(val javaClass: BinaryJavaClass) :
11-
SourceElement {}
11+
abstract class VirtualFileBasedSourceElement private constructor(val javaClass: BinaryJavaClass) : SourceElement {
12+
abstract val virtualFile: VirtualFile
13+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.ir.types.*
4+
5+
fun IrType.isNullable(): Boolean =
6+
isNullable()
7+
8+
val IrType.isBoxedArray: Boolean by IrType::isBoxedArray
9+
10+
fun IrType.getArrayElementType(irBuiltIns: IrBuiltIns): IrType =
11+
getArrayElementType(irBuiltIns)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.github.codeql.utils.versions
2+
3+
import org.jetbrains.kotlin.ir.IrBuiltIns
4+
5+
typealias IrBuiltIns = IrBuiltIns

java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_0_0-RC1/JavaBinarySourceElement.kt

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package org.jetbrains.kotlin.fir.java
2+
3+
typealias VirtualFileBasedSourceElement = JavaBinarySourceElement

0 commit comments

Comments
 (0)