diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index 39741a4b075..b2b967ea960 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -17,6 +17,8 @@ import org.jetbrains.kotlin.codegen.AsmUtil.* import org.jetbrains.kotlin.codegen.ExpressionCodegen.putReifiedOperationMarkerIfTypeIsReifiedParameter import org.jetbrains.kotlin.codegen.StackValue.* import org.jetbrains.kotlin.codegen.inline.* +import org.jetbrains.kotlin.codegen.inline.ReifiedTypeInliner.OperationKind.AS +import org.jetbrains.kotlin.codegen.inline.ReifiedTypeInliner.OperationKind.SAFE_AS import org.jetbrains.kotlin.codegen.intrinsics.JavaClassProperty import org.jetbrains.kotlin.codegen.pseudoInsns.fakeAlwaysFalseIfeq import org.jetbrains.kotlin.codegen.pseudoInsns.fakeAlwaysTrueIfeq @@ -658,12 +660,14 @@ class ExpressionCodegen( fun newArrayInstruction(arrayType: KotlinType) { if (KotlinBuiltIns.isArray(arrayType)) { - val elementJetType = arrayType.arguments[0].type -// putReifiedOperationMarkerIfTypeIsReifiedParameter( -// elementJetType, -// ReifiedTypeInliner.OperationKind.NEW_ARRAY -// ) - mv.newarray(boxType(elementJetType.asmType)) + val elementKotlinType = arrayType.arguments[0].type + putReifiedOperationMarkerIfTypeIsReifiedParameter( + elementKotlinType, + ReifiedTypeInliner.OperationKind.NEW_ARRAY, + mv, + this + ) + mv.newarray(boxType(elementKotlinType.asmType)) } else { val type = typeMapper.mapType(arrayType) mv.newarray(correctElementType(type)) @@ -672,7 +676,11 @@ class ExpressionCodegen( override fun visitReturn(expression: IrReturn, data: BlockInfo): StackValue { val owner = expression.returnTargetSymbol.owner - val isNonLocalReturn = owner != irFunction + //TODO: should be owner != irFunction + val isNonLocalReturn = state.typeMapper.mapFunctionName( + owner.descriptor, + OwnerKind.IMPLEMENTATION + ) != state.typeMapper.mapFunctionName(irFunction.descriptor, OwnerKind.IMPLEMENTATION) if (isNonLocalReturn && state.isInlineDisabled) { //TODO: state.diagnostics.report(Errors.NON_LOCAL_RETURN_IN_DISABLED_INLINE.on(expression)) genThrow( @@ -829,7 +837,8 @@ class ExpressionCodegen( } override fun visitTypeOperator(expression: IrTypeOperatorCall, data: BlockInfo): StackValue { - val asmType = expression.typeOperand.toKotlinType().asmType + val kotlinType = expression.typeOperand.toKotlinType() + val asmType = kotlinType.asmType when (expression.operator) { IrTypeOperator.IMPLICIT_COERCION_TO_UNIT -> { val result = expression.argument.accept(this, data) @@ -848,17 +857,30 @@ class ExpressionCodegen( StackValue.putUnitInstance(mv) } val boxedType = boxType(asmType) - generateAsCast( - mv, expression.typeOperand.toKotlinType(), boxedType, expression.operator == IrTypeOperator.SAFE_CAST, - state.languageVersionSettings.isReleaseCoroutines() - ) + + if (TypeUtils.isReifiedTypeParameter(kotlinType)) { + putReifiedOperationMarkerIfTypeIsReifiedParameter( + kotlinType, if (IrTypeOperator.SAFE_CAST == expression.operator) SAFE_AS else AS, mv, this + ) + v.checkcast(boxedType) + } else { + generateAsCast( + mv, kotlinType, boxedType, expression.operator == IrTypeOperator.SAFE_CAST, + state.languageVersionSettings.isReleaseCoroutines() + ) + } return onStack(boxedType) } IrTypeOperator.INSTANCEOF, IrTypeOperator.NOT_INSTANCEOF -> { gen(expression.argument, OBJECT_TYPE, data) val type = boxType(asmType) - generateIsCheck(mv, expression.typeOperand.toKotlinType(), type, state.languageVersionSettings.isReleaseCoroutines()) + if (TypeUtils.isReifiedTypeParameter(kotlinType)) { + putReifiedOperationMarkerIfTypeIsReifiedParameter(kotlinType, ReifiedTypeInliner.OperationKind.IS, mv, this) + v.instanceOf(type) + } else { + generateIsCheck(mv, kotlinType, type, state.languageVersionSettings.isReleaseCoroutines()) + } if (IrTypeOperator.NOT_INSTANCEOF == expression.operator) { StackValue.not(StackValue.onStack(Type.BOOLEAN_TYPE)).put(mv) } diff --git a/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt b/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt index 5f181b59e92..dded8539cda 100644 --- a/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt +++ b/compiler/testData/codegen/box/arrays/nonLocalReturnArrayConstructor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR typealias ArrayS = Array fun testArray() { diff --git a/compiler/testData/codegen/box/callableReference/bound/syntheticExtensionOnLHS.kt b/compiler/testData/codegen/box/callableReference/bound/syntheticExtensionOnLHS.kt index 88eb3fa61a5..b8be5402715 100644 --- a/compiler/testData/codegen/box/callableReference/bound/syntheticExtensionOnLHS.kt +++ b/compiler/testData/codegen/box/callableReference/bound/syntheticExtensionOnLHS.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: A.java diff --git a/compiler/testData/codegen/box/casts/functions/reifiedAsFunKSmall.kt b/compiler/testData/codegen/box/casts/functions/reifiedAsFunKSmall.kt index 18c83640c36..a7d3bff8ffd 100644 --- a/compiler/testData/codegen/box/casts/functions/reifiedAsFunKSmall.kt +++ b/compiler/testData/codegen/box/casts/functions/reifiedAsFunKSmall.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/casts/functions/reifiedIsFunKBig.kt b/compiler/testData/codegen/box/casts/functions/reifiedIsFunKBig.kt index 3743b73b7a5..6be630d0dc7 100644 --- a/compiler/testData/codegen/box/casts/functions/reifiedIsFunKBig.kt +++ b/compiler/testData/codegen/box/casts/functions/reifiedIsFunKBig.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: 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/casts/functions/reifiedIsFunKSmall.kt b/compiler/testData/codegen/box/casts/functions/reifiedIsFunKSmall.kt index fcdea3ebbe8..b44f068ccb7 100644 --- a/compiler/testData/codegen/box/casts/functions/reifiedIsFunKSmall.kt +++ b/compiler/testData/codegen/box/casts/functions/reifiedIsFunKSmall.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: 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/casts/functions/reifiedSafeAsFunKBig.kt b/compiler/testData/codegen/box/casts/functions/reifiedSafeAsFunKBig.kt index 9cc02f77b47..cbaf223dced 100644 --- a/compiler/testData/codegen/box/casts/functions/reifiedSafeAsFunKBig.kt +++ b/compiler/testData/codegen/box/casts/functions/reifiedSafeAsFunKBig.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: 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/casts/functions/reifiedSafeAsFunKSmall.kt b/compiler/testData/codegen/box/casts/functions/reifiedSafeAsFunKSmall.kt index 7853f34bdb1..522457c0eae 100644 --- a/compiler/testData/codegen/box/casts/functions/reifiedSafeAsFunKSmall.kt +++ b/compiler/testData/codegen/box/casts/functions/reifiedSafeAsFunKSmall.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: 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/casts/mutableCollections/reifiedAsWithMutable.kt b/compiler/testData/codegen/box/casts/mutableCollections/reifiedAsWithMutable.kt index 4d80e50e2ba..44ec882a87b 100644 --- a/compiler/testData/codegen/box/casts/mutableCollections/reifiedAsWithMutable.kt +++ b/compiler/testData/codegen/box/casts/mutableCollections/reifiedAsWithMutable.kt @@ -1,5 +1,4 @@ // KJS_WITH_FULL_RUNTIME -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME class Itr : Iterator by ArrayList().iterator() diff --git a/compiler/testData/codegen/box/casts/mutableCollections/reifiedIsWithMutable.kt b/compiler/testData/codegen/box/casts/mutableCollections/reifiedIsWithMutable.kt index 64cb227c6b4..812b77298a0 100644 --- a/compiler/testData/codegen/box/casts/mutableCollections/reifiedIsWithMutable.kt +++ b/compiler/testData/codegen/box/casts/mutableCollections/reifiedIsWithMutable.kt @@ -1,5 +1,4 @@ // KJS_WITH_FULL_RUNTIME -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME class Itr : Iterator by ArrayList().iterator() diff --git a/compiler/testData/codegen/box/casts/mutableCollections/reifiedSafeAsWithMutable.kt b/compiler/testData/codegen/box/casts/mutableCollections/reifiedSafeAsWithMutable.kt index 1ab994558ef..25120f2f2a7 100644 --- a/compiler/testData/codegen/box/casts/mutableCollections/reifiedSafeAsWithMutable.kt +++ b/compiler/testData/codegen/box/casts/mutableCollections/reifiedSafeAsWithMutable.kt @@ -1,5 +1,4 @@ // KJS_WITH_FULL_RUNTIME -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME class Itr : Iterator by ArrayList().iterator() diff --git a/compiler/testData/codegen/box/casts/mutableCollections/weirdMutableCasts.kt b/compiler/testData/codegen/box/casts/mutableCollections/weirdMutableCasts.kt index 750b33c3682..6dcac465cc0 100644 --- a/compiler/testData/codegen/box/casts/mutableCollections/weirdMutableCasts.kt +++ b/compiler/testData/codegen/box/casts/mutableCollections/weirdMutableCasts.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS, NATIVE diff --git a/compiler/testData/codegen/box/controlStructures/breakContinueInExpressions/inlineWithStack.kt b/compiler/testData/codegen/box/controlStructures/breakContinueInExpressions/inlineWithStack.kt index 0f80f12bddd..7c5b904df3e 100644 --- a/compiler/testData/codegen/box/controlStructures/breakContinueInExpressions/inlineWithStack.kt +++ b/compiler/testData/codegen/box/controlStructures/breakContinueInExpressions/inlineWithStack.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun bar(block: () -> String) : String { return block() } diff --git a/compiler/testData/codegen/box/controlStructures/tryCatchInExpressions/kt9644try.kt b/compiler/testData/codegen/box/controlStructures/tryCatchInExpressions/kt9644try.kt index 7ba552a7224..63921992a06 100644 --- a/compiler/testData/codegen/box/controlStructures/tryCatchInExpressions/kt9644try.kt +++ b/compiler/testData/codegen/box/controlStructures/tryCatchInExpressions/kt9644try.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun doCall(f: () -> Any) = f() fun test1() { diff --git a/compiler/testData/codegen/box/functions/invoke/implicitInvokeInCompanionObjectWithFunctionalArgument.kt b/compiler/testData/codegen/box/functions/invoke/implicitInvokeInCompanionObjectWithFunctionalArgument.kt index 40a94cf2827..f277bae8b6e 100644 --- a/compiler/testData/codegen/box/functions/invoke/implicitInvokeInCompanionObjectWithFunctionalArgument.kt +++ b/compiler/testData/codegen/box/functions/invoke/implicitInvokeInCompanionObjectWithFunctionalArgument.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR class TestClass { companion object { inline operator fun invoke(task: () -> T) = task() diff --git a/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt b/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt index 603d98d89c0..de3ac9fbc73 100644 --- a/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt +++ b/compiler/testData/codegen/box/functions/invoke/implicitInvokeWithFunctionLiteralArgument.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR class TestClass { inline operator fun invoke(task: () -> T) = task() } diff --git a/compiler/testData/codegen/box/increment/memberExtOnLong.kt b/compiler/testData/codegen/box/increment/memberExtOnLong.kt index ffbb49b904a..c51bf9b901d 100644 --- a/compiler/testData/codegen/box/increment/memberExtOnLong.kt +++ b/compiler/testData/codegen/box/increment/memberExtOnLong.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME object ExtProvider { diff --git a/compiler/testData/codegen/box/nonLocalReturns/kt6895.kt b/compiler/testData/codegen/box/nonLocalReturns/kt6895.kt index 117b36c7e54..4e6fb1160a6 100644 --- a/compiler/testData/codegen/box/nonLocalReturns/kt6895.kt +++ b/compiler/testData/codegen/box/nonLocalReturns/kt6895.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/nonLocalReturns/kt9644let.kt b/compiler/testData/codegen/box/nonLocalReturns/kt9644let.kt index 0ffbe9bd75d..2c6ac23a297 100644 --- a/compiler/testData/codegen/box/nonLocalReturns/kt9644let.kt +++ b/compiler/testData/codegen/box/nonLocalReturns/kt9644let.kt @@ -1,5 +1,4 @@ // KJS_WITH_FULL_RUNTIME -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME fun foo() { diff --git a/compiler/testData/codegen/box/nonLocalReturns/returnInsideTwoLambdas.kt b/compiler/testData/codegen/box/nonLocalReturns/returnInsideTwoLambdas.kt index 04035edbf3f..4f0dc889db3 100644 --- a/compiler/testData/codegen/box/nonLocalReturns/returnInsideTwoLambdas.kt +++ b/compiler/testData/codegen/box/nonLocalReturns/returnInsideTwoLambdas.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR fun outer(command: () -> T) : T = command() inline fun inner(action: () -> K): K = action() diff --git a/compiler/testData/codegen/box/nonLocalReturns/use.kt b/compiler/testData/codegen/box/nonLocalReturns/use.kt index 269eff612f9..4c48dd8b39f 100644 --- a/compiler/testData/codegen/box/nonLocalReturns/use.kt +++ b/compiler/testData/codegen/box/nonLocalReturns/use.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/operatorConventions/plusExplicit.kt b/compiler/testData/codegen/box/operatorConventions/plusExplicit.kt index edb30cc31c7..78456f971c6 100644 --- a/compiler/testData/codegen/box/operatorConventions/plusExplicit.kt +++ b/compiler/testData/codegen/box/operatorConventions/plusExplicit.kt @@ -1,5 +1,4 @@ // KJS_WITH_FULL_RUNTIME -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME fun bar1(): String { diff --git a/compiler/testData/codegen/box/reified/arraysReification/instanceOf.kt b/compiler/testData/codegen/box/reified/arraysReification/instanceOf.kt index f44965f535e..9f3ab24fc1c 100644 --- a/compiler/testData/codegen/box/reified/arraysReification/instanceOf.kt +++ b/compiler/testData/codegen/box/reified/arraysReification/instanceOf.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not diff --git a/compiler/testData/codegen/box/reified/arraysReification/instanceOfArrays.kt b/compiler/testData/codegen/box/reified/arraysReification/instanceOfArrays.kt index 46c5aa3c20d..0bc1ad17c58 100644 --- a/compiler/testData/codegen/box/reified/arraysReification/instanceOfArrays.kt +++ b/compiler/testData/codegen/box/reified/arraysReification/instanceOfArrays.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: JS_IR // TODO: muted automatically, investigate should it be ran for JS or not diff --git a/compiler/testData/codegen/box/reified/arraysReification/jaggedArrayOfNulls.kt b/compiler/testData/codegen/box/reified/arraysReification/jaggedArrayOfNulls.kt index 240a9be657e..50a0569287c 100644 --- a/compiler/testData/codegen/box/reified/arraysReification/jaggedArrayOfNulls.kt +++ b/compiler/testData/codegen/box/reified/arraysReification/jaggedArrayOfNulls.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/reified/filterIsInstance.kt b/compiler/testData/codegen/box/reified/filterIsInstance.kt index 84cef9ff928..6d9af413560 100644 --- a/compiler/testData/codegen/box/reified/filterIsInstance.kt +++ b/compiler/testData/codegen/box/reified/filterIsInstance.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: 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/instanceof.kt b/compiler/testData/codegen/box/reified/instanceof.kt index 52b5e9da026..49a8988abfd 100644 --- a/compiler/testData/codegen/box/reified/instanceof.kt +++ b/compiler/testData/codegen/box/reified/instanceof.kt @@ -1,5 +1,4 @@ // IGNORE_BACKEND: JS_IR -// IGNORE_BACKEND: JVM_IR // TODO: muted automatically, investigate should it be ran for JS or not // IGNORE_BACKEND: JS diff --git a/compiler/testData/codegen/box/reified/reifiedChain.kt b/compiler/testData/codegen/box/reified/reifiedChain.kt index ebd37fb8555..e017d0d4e0d 100644 --- a/compiler/testData/codegen/box/reified/reifiedChain.kt +++ b/compiler/testData/codegen/box/reified/reifiedChain.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun Any?.check(): Boolean { return this is T } diff --git a/compiler/testData/codegen/box/reified/safecast.kt b/compiler/testData/codegen/box/reified/safecast.kt index 6977288fc30..10171dd33fe 100644 --- a/compiler/testData/codegen/box/reified/safecast.kt +++ b/compiler/testData/codegen/box/reified/safecast.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME import kotlin.test.assertEquals diff --git a/compiler/testData/codegen/box/reified/spreads.kt b/compiler/testData/codegen/box/reified/spreads.kt index 442fc238eda..3ef1765c97b 100644 --- a/compiler/testData/codegen/box/reified/spreads.kt +++ b/compiler/testData/codegen/box/reified/spreads.kt @@ -1,5 +1,4 @@ // KJS_WITH_FULL_RUNTIME -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME import kotlin.test.assertEquals diff --git a/compiler/testData/codegen/box/storeStackBeforeInline/unreachableMarker.kt b/compiler/testData/codegen/box/storeStackBeforeInline/unreachableMarker.kt index 800314e0a51..303293d3cd8 100644 --- a/compiler/testData/codegen/box/storeStackBeforeInline/unreachableMarker.kt +++ b/compiler/testData/codegen/box/storeStackBeforeInline/unreachableMarker.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME import kotlin.test.assertEquals diff --git a/compiler/testData/codegen/box/synchronized/nonLocalReturn.kt b/compiler/testData/codegen/box/synchronized/nonLocalReturn.kt index 3d9a2251a5a..7368d92fd82 100644 --- a/compiler/testData/codegen/box/synchronized/nonLocalReturn.kt +++ b/compiler/testData/codegen/box/synchronized/nonLocalReturn.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/boxInline/reified/checkCast/kt8043.kt b/compiler/testData/codegen/boxInline/reified/checkCast/kt8043.kt index ab51ccf6e98..7e4425eff4d 100644 --- a/compiler/testData/codegen/boxInline/reified/checkCast/kt8043.kt +++ b/compiler/testData/codegen/boxInline/reified/checkCast/kt8043.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // FILE: 1.kt // WITH_RUNTIME package test diff --git a/compiler/testData/codegen/boxInline/reified/checkCast/simpleSafe.kt b/compiler/testData/codegen/boxInline/reified/checkCast/simpleSafe.kt index d6e416de856..14a08dcf82d 100644 --- a/compiler/testData/codegen/boxInline/reified/checkCast/simpleSafe.kt +++ b/compiler/testData/codegen/boxInline/reified/checkCast/simpleSafe.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // FILE: 1.kt // WITH_RUNTIME package test diff --git a/compiler/testData/codegen/boxInline/reified/isCheck/chain.kt b/compiler/testData/codegen/boxInline/reified/isCheck/chain.kt index 59fd49c3185..ae13d3c44ae 100644 --- a/compiler/testData/codegen/boxInline/reified/isCheck/chain.kt +++ b/compiler/testData/codegen/boxInline/reified/isCheck/chain.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // FILE: 1.kt package test diff --git a/compiler/testData/codegen/boxInline/reified/isCheck/nullable.kt b/compiler/testData/codegen/boxInline/reified/isCheck/nullable.kt index 948b9905e49..e916456a979 100644 --- a/compiler/testData/codegen/boxInline/reified/isCheck/nullable.kt +++ b/compiler/testData/codegen/boxInline/reified/isCheck/nullable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // FILE: 1.kt package test diff --git a/compiler/testData/codegen/boxInline/reified/isCheck/simple.kt b/compiler/testData/codegen/boxInline/reified/isCheck/simple.kt index 097c9d399e5..988f2538eaa 100644 --- a/compiler/testData/codegen/boxInline/reified/isCheck/simple.kt +++ b/compiler/testData/codegen/boxInline/reified/isCheck/simple.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // FILE: 1.kt package test diff --git a/compiler/testData/codegen/bytecodeText/boxingOptimization/casts.kt b/compiler/testData/codegen/bytecodeText/boxingOptimization/casts.kt index 0643c58e939..ca0d25fa198 100644 --- a/compiler/testData/codegen/bytecodeText/boxingOptimization/casts.kt +++ b/compiler/testData/codegen/bytecodeText/boxingOptimization/casts.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun foo(x : R?, block : (R?) -> T) : T { return block(x) diff --git a/compiler/testData/codegen/bytecodeText/boxingOptimization/nullCheck.kt b/compiler/testData/codegen/bytecodeText/boxingOptimization/nullCheck.kt index ac312d2b38a..4bb1e7004b8 100644 --- a/compiler/testData/codegen/bytecodeText/boxingOptimization/nullCheck.kt +++ b/compiler/testData/codegen/bytecodeText/boxingOptimization/nullCheck.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun foo(x : R?, y : R?, block : (R?) -> T) : T { if (x == null) { diff --git a/compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInNoInlneInsideChainOfInlineFuns.kt b/compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInNoInlneInsideChainOfInlineFuns.kt index 8bba5d54dd9..dd70d0cae61 100644 --- a/compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInNoInlneInsideChainOfInlineFuns.kt +++ b/compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInNoInlneInsideChainOfInlineFuns.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR fun runNoInline(f: () -> Unit) = f() fun test() { diff --git a/compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/tryInlined.kt b/compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/tryInlined.kt index 4faa9185375..f818a1d30c4 100644 --- a/compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/tryInlined.kt +++ b/compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/tryInlined.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR fun test(list: List) { val result = mutableListOf() use1 { list.forEach { result.add(it) } } diff --git a/compiler/testData/codegen/bytecodeText/inline/notSplitedExceptionTable.kt b/compiler/testData/codegen/bytecodeText/inline/notSplitedExceptionTable.kt index a92092df1b5..140c199c4ec 100644 --- a/compiler/testData/codegen/bytecodeText/inline/notSplitedExceptionTable.kt +++ b/compiler/testData/codegen/bytecodeText/inline/notSplitedExceptionTable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun test(s: ()->Int){ var i = 0; i = s() diff --git a/compiler/testData/codegen/bytecodeText/inline/reifiedSafeAsWithMutable.kt b/compiler/testData/codegen/bytecodeText/inline/reifiedSafeAsWithMutable.kt index 027c6fe256b..6e3c1429cb6 100644 --- a/compiler/testData/codegen/bytecodeText/inline/reifiedSafeAsWithMutable.kt +++ b/compiler/testData/codegen/bytecodeText/inline/reifiedSafeAsWithMutable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // For mutable collections and related types (e.g., MutableList, MutableListIterator) // 'as?' should be generated as a single 'safeAs...' intrinsic call // without instanceof or 'is...'. diff --git a/compiler/testData/codegen/bytecodeText/inline/removedFinallyMarkers.kt b/compiler/testData/codegen/bytecodeText/inline/removedFinallyMarkers.kt index b4991b6944f..fa3c5cc46b0 100644 --- a/compiler/testData/codegen/bytecodeText/inline/removedFinallyMarkers.kt +++ b/compiler/testData/codegen/bytecodeText/inline/removedFinallyMarkers.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun test(s: ()->Int){ var i = 0; try { diff --git a/compiler/testData/codegen/bytecodeText/inline/splitedExceptionTable.kt b/compiler/testData/codegen/bytecodeText/inline/splitedExceptionTable.kt index 0bd2ca9f1cc..6d1d15a047e 100644 --- a/compiler/testData/codegen/bytecodeText/inline/splitedExceptionTable.kt +++ b/compiler/testData/codegen/bytecodeText/inline/splitedExceptionTable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun test(s: ()->Int){ var i = 0; try { diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifNullEqualsNullInline.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifNullEqualsNullInline.kt index 7bc87823551..8c78f586a57 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifNullEqualsNullInline.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifNullEqualsNullInline.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // FILE: test.kt fun test1() { diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifUnitEqualsNullInline.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifUnitEqualsNullInline.kt index 2c82f81fdf0..7969f6a38bf 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifUnitEqualsNullInline.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifUnitEqualsNullInline.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // FILE: test.kt fun test1(): String { diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedIs.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedIs.kt index c88a33e8b01..b227fd09320 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedIs.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedIs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun Any?.isa() = this is T // 1 INSTANCEOF diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedNullIs.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedNullIs.kt index c7d6883b333..530d6a816c7 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedNullIs.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedNullIs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun isNullable() = null is T // 1 INSTANCEOF diff --git a/compiler/testData/codegen/bytecodeText/redundantGotoRemoving.kt b/compiler/testData/codegen/bytecodeText/redundantGotoRemoving.kt index 67cd39ba432..90dfdfc8f2c 100644 --- a/compiler/testData/codegen/bytecodeText/redundantGotoRemoving.kt +++ b/compiler/testData/codegen/bytecodeText/redundantGotoRemoving.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR val nonConstFlag = true inline fun calc(value : T, fn: (T) -> R) : R = fn(value) diff --git a/compiler/testData/codegen/bytecodeText/reifiedAsCheck.kt b/compiler/testData/codegen/bytecodeText/reifiedAsCheck.kt index 4fcbc066415..52f46d22194 100644 --- a/compiler/testData/codegen/bytecodeText/reifiedAsCheck.kt +++ b/compiler/testData/codegen/bytecodeText/reifiedAsCheck.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun Any?.foo() = this as T inline fun Any?.foo2() = foo() diff --git a/compiler/testData/codegen/bytecodeText/reifiedAsCheckWithNullable.kt b/compiler/testData/codegen/bytecodeText/reifiedAsCheckWithNullable.kt index 820ccb90e65..06754c9ad8c 100644 --- a/compiler/testData/codegen/bytecodeText/reifiedAsCheckWithNullable.kt +++ b/compiler/testData/codegen/bytecodeText/reifiedAsCheckWithNullable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun Any?.foo() = this as T? inline fun Any?.foo2() = foo() diff --git a/compiler/testData/codegen/bytecodeText/reifiedIsCheck.kt b/compiler/testData/codegen/bytecodeText/reifiedIsCheck.kt index e365f808383..56c4d57c545 100644 --- a/compiler/testData/codegen/bytecodeText/reifiedIsCheck.kt +++ b/compiler/testData/codegen/bytecodeText/reifiedIsCheck.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun Any?.foo() = this is T inline fun Any?.foo2() = foo() diff --git a/compiler/testData/codegen/bytecodeText/reifiedIsCheckWithNullable.kt b/compiler/testData/codegen/bytecodeText/reifiedIsCheckWithNullable.kt index e5a058b6b7e..ef36caf6a6d 100644 --- a/compiler/testData/codegen/bytecodeText/reifiedIsCheckWithNullable.kt +++ b/compiler/testData/codegen/bytecodeText/reifiedIsCheckWithNullable.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR inline fun Any?.foo() = this is T? inline fun Any?.foo2() = foo()