diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt index 0363b6de75b..0c7ad46e61f 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt @@ -8,7 +8,9 @@ package org.jetbrains.kotlin.fir.backend import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.resolve.firProvider +import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.symbols.StandardClassIds +import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol import org.jetbrains.kotlin.fir.types.FirTypeRef @@ -45,6 +47,24 @@ class Fir2IrClassifierStorage( private fun FirTypeRef.toIrType(typeContext: ConversionTypeContext = ConversionTypeContext.DEFAULT): IrType = with(typeConverter) { toIrType(typeContext) } + fun preCacheBuiltinClasses() { + for ((classId, irBuiltinSymbol) in typeConverter.classIdToSymbolMap) { + val firClass = ConeClassLikeLookupTagImpl(classId).toSymbol(session)!!.fir as FirRegularClass + val irClass = irBuiltinSymbol.owner + classCache[firClass] = irClass + processClassHeader(firClass, irClass) + declarationStorage.preCacheBuiltinClassConstructorIfAny(firClass, irClass) + } + for ((primitiveClassId, primitiveArrayId) in StandardClassIds.primitiveArrayTypeByElementType) { + val firClass = ConeClassLikeLookupTagImpl(primitiveArrayId).toSymbol(session)!!.fir as FirRegularClass + val irType = typeConverter.classIdToTypeMap[primitiveClassId] + val irClass = irBuiltIns.primitiveArrayForType[irType]!!.owner + classCache[firClass] = irClass + processClassHeader(firClass, irClass) + declarationStorage.preCacheBuiltinClassConstructorIfAny(firClass, irClass) + } + } + internal fun IrDeclaration.declareThisReceiverParameter( parent: IrDeclarationParent, thisType: IrType, @@ -354,14 +374,6 @@ class Fir2IrClassifierStorage( fun getIrClassSymbol(firClassSymbol: FirClassSymbol<*>): IrClassSymbol { val firClass = firClassSymbol.fir getCachedIrClass(firClass)?.let { return symbolTable.referenceClass(it.descriptor) } - val builtinClassSymbol = when (firClassSymbol.classId) { - StandardClassIds.Any -> irBuiltIns.anyClass - else -> null - } - if (builtinClassSymbol != null && firClass is FirRegularClass) { - classCache[firClass] = builtinClassSymbol.owner - return symbolTable.referenceClass(builtinClassSymbol.descriptor) - } // TODO: remove all this code and change to unbound symbol creation val irClass = createIrClass(firClass) if (firClass is FirAnonymousObject || firClass is FirRegularClass && firClass.visibility == Visibilities.LOCAL) { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 2dcae9e6ec7..9b29af78099 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -186,7 +186,9 @@ class Fir2IrConverter( val externalDependenciesGenerator = ExternalDependenciesGenerator( symbolTable, generateTypicalIrProviderList(irModuleFragment.descriptor, builtIns, symbolTable) ) + // Necessary call to generate built-in IR classes externalDependenciesGenerator.generateUnboundSymbolsAsDependencies() + classifierStorage.preCacheBuiltinClasses() for (firFile in firFiles) { converter.processClassHeaders(firFile) } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index ab088dea1d8..b1003844af6 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -66,6 +66,12 @@ class Fir2IrDeclarationStorage( private val localStorage = Fir2IrLocalStorage() + internal fun preCacheBuiltinClassConstructorIfAny(firClass: FirRegularClass, irClass: IrClass) { + val primaryConstructor = firClass.getPrimaryConstructorIfAny() ?: return + val irConstructor = irClass.constructors.firstOrNull() ?: return + constructorCache[primaryConstructor] = irConstructor + } + fun registerFile(firFile: FirFile, irFile: IrFile) { fileCache[firFile] = irFile } @@ -653,15 +659,6 @@ class Fir2IrDeclarationStorage( fun getIrConstructorSymbol(firConstructorSymbol: FirConstructorSymbol): IrConstructorSymbol { val firConstructor = firConstructorSymbol.fir getCachedIrConstructor(firConstructor)?.let { return symbolTable.referenceConstructor(it.descriptor) } - val builtinParent = when (firConstructorSymbol.callableId.classId) { - StandardClassIds.Any -> irBuiltIns.anyClass - else -> null - } - if (builtinParent != null) { - val constructorSymbol = builtinParent.constructors.first() - constructorCache[firConstructor] = constructorSymbol.owner - return symbolTable.referenceConstructor(constructorSymbol.descriptor) - } val irParent = findIrParent(firConstructor) as IrClass val parentOrigin = (irParent as? IrDeclaration)?.origin ?: IrDeclarationOrigin.DEFINED diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt index 499240700a9..e29cb0955c9 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrTypeConverter.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.types.Variance class Fir2IrTypeConverter( private val components: Fir2IrComponents ) : Fir2IrComponents by components { - private val classIdToSymbolMap = mapOf( + internal val classIdToSymbolMap = mapOf( StandardClassIds.Nothing to irBuiltIns.nothingClass, StandardClassIds.Unit to irBuiltIns.unitClass, StandardClassIds.Boolean to irBuiltIns.booleanClass, @@ -37,7 +37,7 @@ class Fir2IrTypeConverter( StandardClassIds.Array to irBuiltIns.arrayClass ) - private val classIdToTypeMap = mapOf( + internal val classIdToTypeMap = mapOf( StandardClassIds.Nothing to irBuiltIns.nothingType, StandardClassIds.Unit to irBuiltIns.unitType, StandardClassIds.Boolean to irBuiltIns.booleanType, diff --git a/compiler/testData/codegen/box/arrays/arrayConstructorWithNonInlineLambda.kt b/compiler/testData/codegen/box/arrays/arrayConstructorWithNonInlineLambda.kt index 739d712e26c..0dc4948b46a 100644 --- a/compiler/testData/codegen/box/arrays/arrayConstructorWithNonInlineLambda.kt +++ b/compiler/testData/codegen/box/arrays/arrayConstructorWithNonInlineLambda.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME import kotlin.test.assertEquals diff --git a/compiler/testData/codegen/box/arrays/arrayConstructorsSimple.kt b/compiler/testData/codegen/box/arrays/arrayConstructorsSimple.kt index db95fa012fb..1c28cf17aa0 100644 --- a/compiler/testData/codegen/box/arrays/arrayConstructorsSimple.kt +++ b/compiler/testData/codegen/box/arrays/arrayConstructorsSimple.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME import kotlin.test.assertEquals diff --git a/compiler/testData/codegen/box/arrays/arrayGetAssignMultiIndex.kt b/compiler/testData/codegen/box/arrays/arrayGetAssignMultiIndex.kt index 87a2aa340d4..5e8e8bbd546 100644 --- a/compiler/testData/codegen/box/arrays/arrayGetAssignMultiIndex.kt +++ b/compiler/testData/codegen/box/arrays/arrayGetAssignMultiIndex.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR operator fun Array.get(index1: Int, index2: Int) = this[index1 + index2] operator fun Array.set(index1: Int, index2: Int, elem: String) { this[index1 + index2] = elem diff --git a/compiler/testData/codegen/box/arrays/arrayGetMultiIndex.kt b/compiler/testData/codegen/box/arrays/arrayGetMultiIndex.kt index 58effcc1322..6898a9b08e6 100644 --- a/compiler/testData/codegen/box/arrays/arrayGetMultiIndex.kt +++ b/compiler/testData/codegen/box/arrays/arrayGetMultiIndex.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR operator fun Array.get(index1: Int, index2: Int) = this[index1 + index2] operator fun Array.set(index1: Int, index2: Int, elem: String) { this[index1 + index2] = elem diff --git a/compiler/testData/codegen/box/arrays/arraysOfInlineClass/accessArrayOfUnsigned.kt b/compiler/testData/codegen/box/arrays/arraysOfInlineClass/accessArrayOfUnsigned.kt index c388a8a70b2..0e3f723ce2d 100644 --- a/compiler/testData/codegen/box/arrays/arraysOfInlineClass/accessArrayOfUnsigned.kt +++ b/compiler/testData/codegen/box/arrays/arraysOfInlineClass/accessArrayOfUnsigned.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/arrays/indices.kt b/compiler/testData/codegen/box/arrays/indices.kt index 5b419afcef4..92dbbc7969e 100644 --- a/compiler/testData/codegen/box/arrays/indices.kt +++ b/compiler/testData/codegen/box/arrays/indices.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/arrays/inlineInitializer.kt b/compiler/testData/codegen/box/arrays/inlineInitializer.kt index f72f9b18aff..c8050aa20e0 100644 --- a/compiler/testData/codegen/box/arrays/inlineInitializer.kt +++ b/compiler/testData/codegen/box/arrays/inlineInitializer.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class Foo( val width: Int, val height: Int, diff --git a/compiler/testData/codegen/box/arrays/iterator.kt b/compiler/testData/codegen/box/arrays/iterator.kt index b64a52b3087..eb8f84cbb04 100644 --- a/compiler/testData/codegen/box/arrays/iterator.kt +++ b/compiler/testData/codegen/box/arrays/iterator.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { val x = Array(5, { it } ).iterator() var i = 0 diff --git a/compiler/testData/codegen/box/arrays/kt945.kt b/compiler/testData/codegen/box/arrays/kt945.kt index 71fea01fa18..eaf6c5e61b6 100644 --- a/compiler/testData/codegen/box/arrays/kt945.kt +++ b/compiler/testData/codegen/box/arrays/kt945.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun box() : String { val data = Array>(3) { Array(4, {false}) } for(d in data) { diff --git a/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclFor.kt b/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclFor.kt index 2569518ad2b..8657604547a 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclFor.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclFor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class C(val i: Int) { operator fun component1() = i + 1 operator fun component2() = i + 2 diff --git a/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForComponentExtensions.kt b/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForComponentExtensions.kt index 63702e084a5..056a9f5f793 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForComponentExtensions.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForComponentExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class C(val i: Int) { } diff --git a/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForValCaptured.kt b/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForValCaptured.kt index 88704358291..f25b504d607 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForValCaptured.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/MultiDeclForValCaptured.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class C(val i: Int) { operator fun component1() = i + 1 operator fun component2() = i + 2 diff --git a/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensions.kt b/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensions.kt index 7afbccbd207..f0687781516 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensions.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR operator fun Int.component1() = this + 1 operator fun Int.component2() = this + 2 diff --git a/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensionsValCaptured.kt b/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensionsValCaptured.kt index 16dd6bda6da..3dda25067f3 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensionsValCaptured.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/int/MultiDeclForComponentExtensionsValCaptured.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR operator fun Int.component1() = this + 1 operator fun Int.component2() = this + 2 diff --git a/compiler/testData/codegen/box/arrays/multiDecl/kt15568.kt b/compiler/testData/codegen/box/arrays/multiDecl/kt15568.kt index 8ed8c507ab2..c030c22b217 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/kt15568.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/kt15568.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { val a = Array(2) { DoubleArray(3) } diff --git a/compiler/testData/codegen/box/arrays/multiDecl/kt15575.kt b/compiler/testData/codegen/box/arrays/multiDecl/kt15575.kt index 4b258532730..16a7300358b 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/kt15575.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/kt15575.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { val transform = transform(Array(1) { BooleanArray(1) }) if (!transform[0][0]) return "OK" diff --git a/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensions.kt b/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensions.kt index 1b6524daaf2..0ca7fc49d13 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensions.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensions.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensionsValCaptured.kt b/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensionsValCaptured.kt index a25d9f0bdfa..3e610b49997 100644 --- a/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensionsValCaptured.kt +++ b/compiler/testData/codegen/box/arrays/multiDecl/long/MultiDeclForComponentExtensionsValCaptured.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR operator fun Long.component1() = this + 1 operator fun Long.component2() = this + 2 diff --git a/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt b/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt index 5a6087576ad..dded8539cda 100644 --- a/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt +++ b/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR typealias ArrayS = Array fun testArray() { diff --git a/compiler/testData/codegen/box/arrays/nonNullArray.kt b/compiler/testData/codegen/box/arrays/nonNullArray.kt index 0c34163f000..2e480979e6b 100644 --- a/compiler/testData/codegen/box/arrays/nonNullArray.kt +++ b/compiler/testData/codegen/box/arrays/nonNullArray.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A() { class B(val i: Int) { } diff --git a/compiler/testData/codegen/box/boxingOptimization/taintedValuesBox.kt b/compiler/testData/codegen/box/boxingOptimization/taintedValuesBox.kt index dba06213444..950e65354cc 100644 --- a/compiler/testData/codegen/box/boxingOptimization/taintedValuesBox.kt +++ b/compiler/testData/codegen/box/boxingOptimization/taintedValuesBox.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/boxingOptimization/unsafeRemoving.kt b/compiler/testData/codegen/box/boxingOptimization/unsafeRemoving.kt index 544438e31df..e11a594361d 100644 --- a/compiler/testData/codegen/box/boxingOptimization/unsafeRemoving.kt +++ b/compiler/testData/codegen/box/boxingOptimization/unsafeRemoving.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME import kotlin.test.assertEquals diff --git a/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsArray.kt b/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsArray.kt index 6c96739684a..e8b3849e2a7 100644 --- a/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsArray.kt +++ b/compiler/testData/codegen/box/callableReference/varargAndDefaults/varargViewedAsArray.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KT-25514 Support usage of function reference with vararg where function of array is expected in new inference fun foo(x: Int, vararg y: String): String = y[0] diff --git a/compiler/testData/codegen/box/classes/kt471.kt b/compiler/testData/codegen/box/classes/kt471.kt index a77c79dce85..4de658a6626 100644 --- a/compiler/testData/codegen/box/classes/kt471.kt +++ b/compiler/testData/codegen/box/classes/kt471.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class MyNumber(val i: Int) { operator fun inc(): MyNumber = MyNumber(i+1) } diff --git a/compiler/testData/codegen/box/classes/kt633.kt b/compiler/testData/codegen/box/classes/kt633.kt index 11a4b95436d..04e0a26ec12 100644 --- a/compiler/testData/codegen/box/classes/kt633.kt +++ b/compiler/testData/codegen/box/classes/kt633.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class mInt(val i : Int) { override fun toString() : String = "mint: $i" operator fun plus(i : Int) = mInt(this.i + i) diff --git a/compiler/testData/codegen/box/controlStructures/breakInWhen.kt b/compiler/testData/codegen/box/controlStructures/breakInWhen.kt index 0178b2ec841..f04ce712562 100644 --- a/compiler/testData/codegen/box/controlStructures/breakInWhen.kt +++ b/compiler/testData/codegen/box/controlStructures/breakInWhen.kt @@ -1,5 +1,4 @@ // !LANGUAGE: +AllowBreakAndContinueInsideWhen -// IGNORE_BACKEND_FIR: JVM_IR fun testFor() { val xs = IntArray(10) { i -> i } diff --git a/compiler/testData/codegen/box/controlStructures/continueInWhen.kt b/compiler/testData/codegen/box/controlStructures/continueInWhen.kt index b57bfb4d338..deb0660766a 100644 --- a/compiler/testData/codegen/box/controlStructures/continueInWhen.kt +++ b/compiler/testData/codegen/box/controlStructures/continueInWhen.kt @@ -1,5 +1,4 @@ // !LANGUAGE: +AllowBreakAndContinueInsideWhen -// IGNORE_BACKEND_FIR: JVM_IR fun testFor() { val xs = IntArray(10) { i -> i } diff --git a/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfObjectArrayWithIndex.kt b/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfObjectArrayWithIndex.kt index 46ce5db3c96..201c8693017 100644 --- a/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfObjectArrayWithIndex.kt +++ b/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfObjectArrayWithIndex.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfPrimArrayWithIndex.kt b/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfPrimArrayWithIndex.kt index ddd7400dbd1..c47698a44c5 100644 --- a/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfPrimArrayWithIndex.kt +++ b/compiler/testData/codegen/box/controlStructures/forInArrayWithIndex/forInArrayOfPrimArrayWithIndex.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/dataClasses/arrayParams.kt b/compiler/testData/codegen/box/dataClasses/arrayParams.kt index 3046246983f..3c55fb1a0dd 100644 --- a/compiler/testData/codegen/box/dataClasses/arrayParams.kt +++ b/compiler/testData/codegen/box/dataClasses/arrayParams.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR data class A(val x: Array, val y: IntArray) fun foo(x: Array, y: IntArray) = A(x, y) diff --git a/compiler/testData/codegen/box/dataClasses/multiDeclarationFor.kt b/compiler/testData/codegen/box/dataClasses/multiDeclarationFor.kt index 485052deb5c..b7756b0c036 100644 --- a/compiler/testData/codegen/box/dataClasses/multiDeclarationFor.kt +++ b/compiler/testData/codegen/box/dataClasses/multiDeclarationFor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR data class A(val x: Int, val y: String) fun box(): String { diff --git a/compiler/testData/codegen/box/regressions/kt15196.kt b/compiler/testData/codegen/box/regressions/kt15196.kt index 949368125aa..735ca177d1e 100644 --- a/compiler/testData/codegen/box/regressions/kt15196.kt +++ b/compiler/testData/codegen/box/regressions/kt15196.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME // WITH_RUNTIME fun foo() { diff --git a/compiler/testData/codegen/box/reified/arraysReification/jaggedArray.kt b/compiler/testData/codegen/box/reified/arraysReification/jaggedArray.kt index 3aeeb137dac..1a2bee24db9 100644 --- a/compiler/testData/codegen/box/reified/arraysReification/jaggedArray.kt +++ b/compiler/testData/codegen/box/reified/arraysReification/jaggedArray.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR inline fun jaggedArray(x: (Int, Int) -> T): Array> = Array(1) { i -> Array(1) { j -> x(i, j) } } diff --git a/compiler/testData/codegen/box/reified/arraysReification/jaggedDeep.kt b/compiler/testData/codegen/box/reified/arraysReification/jaggedDeep.kt index 471a862d008..aa8f36fc23e 100644 --- a/compiler/testData/codegen/box/reified/arraysReification/jaggedDeep.kt +++ b/compiler/testData/codegen/box/reified/arraysReification/jaggedDeep.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR inline fun jaggedArray(x: (Int, Int, Int) -> T): Array>> = Array(1) { i -> Array(1) { j -> Array(1) { k -> x(i, j, k) } diff --git a/compiler/testData/codegen/box/reified/newArrayInt.kt b/compiler/testData/codegen/box/reified/newArrayInt.kt index 41fd818f9ab..2e8a533c8e4 100644 --- a/compiler/testData/codegen/box/reified/newArrayInt.kt +++ b/compiler/testData/codegen/box/reified/newArrayInt.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS diff --git a/compiler/testData/codegen/box/reified/recursiveNewArray.kt b/compiler/testData/codegen/box/reified/recursiveNewArray.kt index c2f85b6e972..8d2dc0e99b9 100644 --- a/compiler/testData/codegen/box/reified/recursiveNewArray.kt +++ b/compiler/testData/codegen/box/reified/recursiveNewArray.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS diff --git a/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgument.kt b/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgument.kt index 34d2a809514..f042f5db330 100644 --- a/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgument.kt +++ b/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgument.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME diff --git a/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgumentCrossModule.kt b/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgumentCrossModule.kt index b60a84c823f..f627328a70e 100644 --- a/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgumentCrossModule.kt +++ b/compiler/testData/codegen/box/reified/reifiedIntersectionTypeArgumentCrossModule.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME diff --git a/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithIntersectionTypeAsTypeArgument.kt b/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithIntersectionTypeAsTypeArgument.kt index c67ac7a683f..be1965b57fd 100644 --- a/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithIntersectionTypeAsTypeArgument.kt +++ b/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithIntersectionTypeAsTypeArgument.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME diff --git a/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithRecursion.kt b/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithRecursion.kt index f16882b55fb..f9c06193474 100644 --- a/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithRecursion.kt +++ b/compiler/testData/codegen/box/reified/reifiedTypeArgumentWithRecursion.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME diff --git a/compiler/testData/codegen/box/reified/sameIndexRecursive.kt b/compiler/testData/codegen/box/reified/sameIndexRecursive.kt index 9cd42a312ab..dbbca821272 100644 --- a/compiler/testData/codegen/box/reified/sameIndexRecursive.kt +++ b/compiler/testData/codegen/box/reified/sameIndexRecursive.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS diff --git a/compiler/testData/codegen/box/typealias/typeAliasConstructorForArray.kt b/compiler/testData/codegen/box/typealias/typeAliasConstructorForArray.kt index d2ae996f320..8be95d2e91d 100644 --- a/compiler/testData/codegen/box/typealias/typeAliasConstructorForArray.kt +++ b/compiler/testData/codegen/box/typealias/typeAliasConstructorForArray.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR typealias BoolArray = Array typealias IArray = IntArray typealias MyArray = Array