diff --git a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBytecodeTextTestGenerated.java b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBytecodeTextTestGenerated.java new file mode 100644 index 00000000000..14951d644db --- /dev/null +++ b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/codegen/ir/FirBytecodeTextTestGenerated.java @@ -0,0 +1,4982 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.codegen.ir; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.TargetBackend; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("compiler/testData/codegen/bytecodeText") +@TestDataPath("$PROJECT_ROOT") +@RunWith(JUnit3RunnerWithInners.class) +public class FirBytecodeTextTestGenerated extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + @TestMetadata("accessorForOverridenVal.kt") + public void testAccessorForOverridenVal() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/accessorForOverridenVal.kt"); + } + + @TestMetadata("accessorForProtected.kt") + public void testAccessorForProtected() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/accessorForProtected.kt"); + } + + @TestMetadata("accessorNaming.kt") + public void testAccessorNaming() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/accessorNaming.kt"); + } + + public void testAllFilesPresentInBytecodeText() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true, "oldLanguageVersions"); + } + + @TestMetadata("annotationDefaultValue.kt") + public void testAnnotationDefaultValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/annotationDefaultValue.kt"); + } + + @TestMetadata("annotationJavaRetentionPolicyRuntime.kt") + public void testAnnotationJavaRetentionPolicyRuntime() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/annotationJavaRetentionPolicyRuntime.kt"); + } + + @TestMetadata("annotationRetentionPolicyClass.kt") + public void testAnnotationRetentionPolicyClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/annotationRetentionPolicyClass.kt"); + } + + @TestMetadata("annotationRetentionPolicyRuntime.kt") + public void testAnnotationRetentionPolicyRuntime() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/annotationRetentionPolicyRuntime.kt"); + } + + @TestMetadata("annotationRetentionPolicySource.kt") + public void testAnnotationRetentionPolicySource() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/annotationRetentionPolicySource.kt"); + } + + @TestMetadata("boxedNotNumberTypeOnUnboxing.kt") + public void testBoxedNotNumberTypeOnUnboxing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxedNotNumberTypeOnUnboxing.kt"); + } + + @TestMetadata("bridgeForFakeOverride.kt") + public void testBridgeForFakeOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/bridgeForFakeOverride.kt"); + } + + @TestMetadata("charConstant.kt") + public void testCharConstant() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/charConstant.kt"); + } + + @TestMetadata("collectionStubs.kt") + public void testCollectionStubs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/collectionStubs.kt"); + } + + @TestMetadata("componentEvaluatesOnlyOnce.kt") + public void testComponentEvaluatesOnlyOnce() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/componentEvaluatesOnlyOnce.kt"); + } + + @TestMetadata("constClosureOptimization.kt") + public void testConstClosureOptimization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constClosureOptimization.kt"); + } + + @TestMetadata("defaultMethodBody.kt") + public void testDefaultMethodBody() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultMethodBody.kt"); + } + + @TestMetadata("doNotStoreNullForTmpInDestructuring.kt") + public void testDoNotStoreNullForTmpInDestructuring() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/doNotStoreNullForTmpInDestructuring.kt"); + } + + @TestMetadata("doNotStoreNullsForCapturedVars.kt") + public void testDoNotStoreNullsForCapturedVars() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/doNotStoreNullsForCapturedVars.kt"); + } + + @TestMetadata("falseSmartCast.kt") + public void testFalseSmartCast() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/falseSmartCast.kt"); + } + + @TestMetadata("flagsInMultiFileInherit.kt") + public void testFlagsInMultiFileInherit() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/flagsInMultiFileInherit.kt"); + } + + @TestMetadata("iincGeneration.kt") + public void testIincGeneration() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/iincGeneration.kt"); + } + + @TestMetadata("inheritedPropertyAnnotations.kt") + public void testInheritedPropertyAnnotations() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inheritedPropertyAnnotations.kt"); + } + + @TestMetadata("inlineFromOtherModule.kt") + public void testInlineFromOtherModule() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineFromOtherModule.kt"); + } + + @TestMetadata("inlineJavaConstantFromSubclass.kt") + public void testInlineJavaConstantFromSubclass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineJavaConstantFromSubclass.kt"); + } + + @TestMetadata("inlineJavaStaticFields.kt") + public void testInlineJavaStaticFields() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineJavaStaticFields.kt"); + } + + @TestMetadata("inlineProtectedJavaConstantFromOtherPackage.kt") + public void testInlineProtectedJavaConstantFromOtherPackage() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineProtectedJavaConstantFromOtherPackage.kt"); + } + + @TestMetadata("intConstantNotNull.kt") + public void testIntConstantNotNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intConstantNotNull.kt"); + } + + @TestMetadata("intConstantNullable.kt") + public void testIntConstantNullable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intConstantNullable.kt"); + } + + @TestMetadata("intConstantNullableSafeCall.kt") + public void testIntConstantNullableSafeCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intConstantNullableSafeCall.kt"); + } + + @TestMetadata("intConstantSafeCall.kt") + public void testIntConstantSafeCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intConstantSafeCall.kt"); + } + + @TestMetadata("intProgressionNoBoxing.kt") + public void testIntProgressionNoBoxing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intProgressionNoBoxing.kt"); + } + + @TestMetadata("intRangeNoBoxing.kt") + public void testIntRangeNoBoxing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intRangeNoBoxing.kt"); + } + + @TestMetadata("interfaceDefaultImpl.kt") + public void testInterfaceDefaultImpl() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/interfaceDefaultImpl.kt"); + } + + @TestMetadata("isArrayOf.kt") + public void testIsArrayOf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/isArrayOf.kt"); + } + + @TestMetadata("javaExtensionPropertyIntrinsic.kt") + public void testJavaExtensionPropertyIntrinsic() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/javaExtensionPropertyIntrinsic.kt"); + } + + @TestMetadata("javaFields.kt") + public void testJavaFields() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/javaFields.kt"); + } + + @TestMetadata("javaFieldsWithIntersectionTypes.kt") + public void testJavaFieldsWithIntersectionTypes() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/javaFieldsWithIntersectionTypes.kt"); + } + + @TestMetadata("javaStatics.kt") + public void testJavaStatics() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/javaStatics.kt"); + } + + @TestMetadata("jvmField.kt") + public void testJvmField() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvmField.kt"); + } + + @TestMetadata("jvmStaticInternalMangling.kt") + public void testJvmStaticInternalMangling() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvmStaticInternalMangling.kt"); + } + + @TestMetadata("kt10259.kt") + public void testKt10259() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt10259.kt"); + } + + @TestMetadata("kt10259_2.kt") + public void testKt10259_2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt10259_2.kt"); + } + + @TestMetadata("kt10259_3.kt") + public void testKt10259_3() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt10259_3.kt"); + } + + @TestMetadata("kt2202.kt") + public void testKt2202() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt2202.kt"); + } + + @TestMetadata("kt2887.kt") + public void testKt2887() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt2887.kt"); + } + + @TestMetadata("kt3845.kt") + public void testKt3845() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt3845.kt"); + } + + @TestMetadata("kt5016.kt") + public void testKt5016() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt5016.kt"); + } + + @TestMetadata("kt5016int.kt") + public void testKt5016int() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt5016int.kt"); + } + + @TestMetadata("kt5016intOrNull.kt") + public void testKt5016intOrNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt5016intOrNull.kt"); + } + + @TestMetadata("kt7188.kt") + public void testKt7188() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt7188.kt"); + } + + @TestMetadata("kt7769.kt") + public void testKt7769() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt7769.kt"); + } + + @TestMetadata("kt9603.kt") + public void testKt9603() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/kt9603.kt"); + } + + @TestMetadata("mapGetOrDefault.kt") + public void testMapGetOrDefault() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/mapGetOrDefault.kt"); + } + + @TestMetadata("maxStackAfterOptimizations.kt") + public void testMaxStackAfterOptimizations() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/maxStackAfterOptimizations.kt"); + } + + @TestMetadata("noAccessorForProtectedInSamePackageCrossinline.kt") + public void testNoAccessorForProtectedInSamePackageCrossinline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/noAccessorForProtectedInSamePackageCrossinline.kt"); + } + + @TestMetadata("noFlagAnnotations.kt") + public void testNoFlagAnnotations() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/noFlagAnnotations.kt"); + } + + @TestMetadata("noNumberCheckCast.kt") + public void testNoNumberCheckCast() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/noNumberCheckCast.kt"); + } + + @TestMetadata("noSuperCheckInDefaultConstuctor.kt") + public void testNoSuperCheckInDefaultConstuctor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/noSuperCheckInDefaultConstuctor.kt"); + } + + @TestMetadata("noSyntheticAccessorForPrivateCompanionObjectWhenNotRequired.kt") + public void testNoSyntheticAccessorForPrivateCompanionObjectWhenNotRequired() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/noSyntheticAccessorForPrivateCompanionObjectWhenNotRequired.kt"); + } + + @TestMetadata("noWrapperForMethodReturningPrimitive.kt") + public void testNoWrapperForMethodReturningPrimitive() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/noWrapperForMethodReturningPrimitive.kt"); + } + + @TestMetadata("nopsInDoWhile.kt") + public void testNopsInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nopsInDoWhile.kt"); + } + + @TestMetadata("partMembersCall.kt") + public void testPartMembersCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/partMembersCall.kt"); + } + + @TestMetadata("partMembersInline.kt") + public void testPartMembersInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/partMembersInline.kt"); + } + + @TestMetadata("preEvaluateInlineJavaStaticFields.kt") + public void testPreEvaluateInlineJavaStaticFields() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/preEvaluateInlineJavaStaticFields.kt"); + } + + @TestMetadata("prefixIntVarIncrement.kt") + public void testPrefixIntVarIncrement() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/prefixIntVarIncrement.kt"); + } + + @TestMetadata("privateDefaultArgs.kt") + public void testPrivateDefaultArgs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/privateDefaultArgs.kt"); + } + + @TestMetadata("redundantGotoRemoving.kt") + public void testRedundantGotoRemoving() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/redundantGotoRemoving.kt"); + } + + @TestMetadata("redundantInitializer.kt") + public void testRedundantInitializer() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/redundantInitializer.kt"); + } + + @TestMetadata("redundantInitializerNumber.kt") + public void testRedundantInitializerNumber() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/redundantInitializerNumber.kt"); + } + + @TestMetadata("redundantValInitializer.kt") + public void testRedundantValInitializer() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/redundantValInitializer.kt"); + } + + @TestMetadata("redundantValInitializerInObject.kt") + public void testRedundantValInitializerInObject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/redundantValInitializerInObject.kt"); + } + + @TestMetadata("redundantVarInitializer.kt") + public void testRedundantVarInitializer() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/redundantVarInitializer.kt"); + } + + @TestMetadata("redundantVarInitializerInObject.kt") + public void testRedundantVarInitializerInObject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/redundantVarInitializerInObject.kt"); + } + + @TestMetadata("reifiedAsCheck.kt") + public void testReifiedAsCheck() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/reifiedAsCheck.kt"); + } + + @TestMetadata("reifiedAsCheckWithNullable.kt") + public void testReifiedAsCheckWithNullable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/reifiedAsCheckWithNullable.kt"); + } + + @TestMetadata("reifiedIsCheck.kt") + public void testReifiedIsCheck() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/reifiedIsCheck.kt"); + } + + @TestMetadata("reifiedIsCheckWithNullable.kt") + public void testReifiedIsCheckWithNullable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/reifiedIsCheckWithNullable.kt"); + } + + @TestMetadata("reifiedSafeAsCheck.kt") + public void testReifiedSafeAsCheck() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/reifiedSafeAsCheck.kt"); + } + + @TestMetadata("safeAsWithMutable.kt") + public void testSafeAsWithMutable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/safeAsWithMutable.kt"); + } + + @TestMetadata("superFlagInMultiFileFacade.kt") + public void testSuperFlagInMultiFileFacade() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/superFlagInMultiFileFacade.kt"); + } + + @TestMetadata("superToString.kt") + public void testSuperToString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/superToString.kt"); + } + + @TestMetadata("suspendCoroutineUninterceptedOrReturn.kt") + public void testSuspendCoroutineUninterceptedOrReturn() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/suspendCoroutineUninterceptedOrReturn.kt"); + } + + @TestMetadata("topLevelFunWithDefaultArgs.kt") + public void testTopLevelFunWithDefaultArgs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/topLevelFunWithDefaultArgs.kt"); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/argumentOrder") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ArgumentOrder extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInArgumentOrder() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/argumentOrder"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("sameOrder.kt") + public void testSameOrder() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/argumentOrder/sameOrder.kt"); + } + + @TestMetadata("sameOrderWithDefault.kt") + public void testSameOrderWithDefault() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/argumentOrder/sameOrderWithDefault.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/assert") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Assert extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInAssert() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/assert"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("jvmCrossinline.kt") + public void testJvmCrossinline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/assert/jvmCrossinline.kt"); + } + + @TestMetadata("jvmCrossinlineAssertInLambda.kt") + public void testJvmCrossinlineAssertInLambda() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/assert/jvmCrossinlineAssertInLambda.kt"); + } + + @TestMetadata("jvmInline.kt") + public void testJvmInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/assert/jvmInline.kt"); + } + + @TestMetadata("jvmInlineLambda.kt") + public void testJvmInlineLambda() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/assert/jvmInlineLambda.kt"); + } + + @TestMetadata("jvmNestedClass.kt") + public void testJvmNestedClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/assert/jvmNestedClass.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/boxing") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Boxing extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInBoxing() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/boxing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("crossinlineSuspend.kt") + public void testCrossinlineSuspend() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxing/crossinlineSuspend.kt"); + } + + @TestMetadata("inlineSuspend.kt") + public void testInlineSuspend() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxing/inlineSuspend.kt"); + } + + @TestMetadata("suspend.kt") + public void testSuspend() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxing/suspend.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/boxingOptimization") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class BoxingOptimization extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInBoxingOptimization() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/boxingOptimization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("boxingAndEquals.kt") + public void testBoxingAndEquals() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/boxingAndEquals.kt"); + } + + @TestMetadata("casts.kt") + public void testCasts() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/casts.kt"); + } + + @TestMetadata("checkcastAndInstanceOf.kt") + public void testCheckcastAndInstanceOf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/checkcastAndInstanceOf.kt"); + } + + @TestMetadata("fold.kt") + public void testFold() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/fold.kt"); + } + + @TestMetadata("inlineClassesAndInlinedLambda.kt") + public void testInlineClassesAndInlinedLambda() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/inlineClassesAndInlinedLambda.kt"); + } + + @TestMetadata("intCompareTo.kt") + public void testIntCompareTo() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/intCompareTo.kt"); + } + + @TestMetadata("kClassInAnnotation.kt") + public void testKClassInAnnotation() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/kClassInAnnotation.kt"); + } + + @TestMetadata("kClassInAnnotationEscaping.kt") + public void testKClassInAnnotationEscaping() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/kClassInAnnotationEscaping.kt"); + } + + @TestMetadata("kt15862.kt") + public void testKt15862() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/kt15862.kt"); + } + + @TestMetadata("kt15862_2.kt") + public void testKt15862_2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/kt15862_2.kt"); + } + + @TestMetadata("kt6842.kt") + public void testKt6842() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/kt6842.kt"); + } + + @TestMetadata("kt7224.kt") + public void testKt7224() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/kt7224.kt"); + } + + @TestMetadata("maxMinByOrNull.kt") + public void testMaxMinByOrNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/maxMinByOrNull.kt"); + } + + @TestMetadata("nullCheck.kt") + public void testNullCheck() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/nullCheck.kt"); + } + + @TestMetadata("progressions.kt") + public void testProgressions() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/progressions.kt"); + } + + @TestMetadata("safeCallToPrimitiveEquality.kt") + public void testSafeCallToPrimitiveEquality() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/safeCallToPrimitiveEquality.kt"); + } + + @TestMetadata("safeCallWithElvis.kt") + public void testSafeCallWithElvis() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/safeCallWithElvis.kt"); + } + + @TestMetadata("severalInlines.kt") + public void testSeveralInlines() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/severalInlines.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/simple.kt"); + } + + @TestMetadata("simpleUninitializedMerge.kt") + public void testSimpleUninitializedMerge() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/simpleUninitializedMerge.kt"); + } + + @TestMetadata("unsafeRemoving.kt") + public void testUnsafeRemoving() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/unsafeRemoving.kt"); + } + + @TestMetadata("unsignedRangeIteratorSpecialization.kt") + public void testUnsignedRangeIteratorSpecialization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/unsignedRangeIteratorSpecialization.kt"); + } + + @TestMetadata("variableClash.kt") + public void testVariableClash() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/variableClash.kt"); + } + + @TestMetadata("variables.kt") + public void testVariables() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/boxingOptimization/variables.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/builtinFunctions") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class BuiltinFunctions extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInBuiltinFunctions() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/builtinFunctions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("charSequence.kt") + public void testCharSequence() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/charSequence.kt"); + } + + @TestMetadata("contains.kt") + public void testContains() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/contains.kt"); + } + + @TestMetadata("removeAt.kt") + public void testRemoveAt() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/removeAt.kt"); + } + + @TestMetadata("size.kt") + public void testSize() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/size.kt"); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class GenericParameterBridge extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + @TestMetadata("abstractList.kt") + public void testAbstractList() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/abstractList.kt"); + } + + public void testAllFilesPresentInGenericParameterBridge() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("IntMC.kt") + public void testIntMC() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/IntMC.kt"); + } + + @TestMetadata("mutableCollection.kt") + public void testMutableCollection() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/mutableCollection.kt"); + } + + @TestMetadata("mutableSetInterfaces.kt") + public void testMutableSetInterfaces() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/mutableSetInterfaces.kt"); + } + + @TestMetadata("notNullAnyMC.kt") + public void testNotNullAnyMC() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/notNullAnyMC.kt"); + } + + @TestMetadata("notNullParamMC.kt") + public void testNotNullParamMC() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/notNullParamMC.kt"); + } + + @TestMetadata("nullableAnyMC.kt") + public void testNullableAnyMC() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/nullableAnyMC.kt"); + } + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/callableReference") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class CallableReference extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCallableReference() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/callableReference"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("boundFieldReferenceInInline.kt") + public void testBoundFieldReferenceInInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/boundFieldReferenceInInline.kt"); + } + + @TestMetadata("boundFunReferenceInInline.kt") + public void testBoundFunReferenceInInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/boundFunReferenceInInline.kt"); + } + + @TestMetadata("boundPropertyReferenceInInline.kt") + public void testBoundPropertyReferenceInInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/boundPropertyReferenceInInline.kt"); + } + + @TestMetadata("kt36975.kt") + public void testKt36975() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/kt36975.kt"); + } + + @TestMetadata("nameIntrinsicWithImplicitThis.kt") + public void testNameIntrinsicWithImplicitThis() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/nameIntrinsicWithImplicitThis.kt"); + } + + @TestMetadata("unboundFieldReferenceInInline.kt") + public void testUnboundFieldReferenceInInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/unboundFieldReferenceInInline.kt"); + } + + @TestMetadata("unboundFunReferenceInInline.kt") + public void testUnboundFunReferenceInInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/unboundFunReferenceInInline.kt"); + } + + @TestMetadata("unboundPropertyReferenceInInline.kt") + public void testUnboundPropertyReferenceInInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/callableReference/unboundPropertyReferenceInInline.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/capturedVarsOptimization") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class CapturedVarsOptimization extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCapturedVarsOptimization() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/capturedVarsOptimization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("capturedInChainOfInlineFuns.kt") + public void testCapturedInChainOfInlineFuns() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInChainOfInlineFuns.kt"); + } + + @TestMetadata("capturedInInlineOnly.kt") + public void testCapturedInInlineOnly() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInInlineOnly.kt"); + } + + @TestMetadata("capturedInLocalObject.kt") + public void testCapturedInLocalObject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInLocalObject.kt"); + } + + @TestMetadata("capturedInNoInlineOnly.kt") + public void testCapturedInNoInlineOnly() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInNoInlineOnly.kt"); + } + + @TestMetadata("capturedInNoInlneInsideChainOfInlineFuns.kt") + public void testCapturedInNoInlneInsideChainOfInlineFuns() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedInNoInlneInsideChainOfInlineFuns.kt"); + } + + @TestMetadata("capturedValInLambdaInitializedInside.kt") + public void testCapturedValInLambdaInitializedInside() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedValInLambdaInitializedInside.kt"); + } + + @TestMetadata("capturedValInLambdaInitializedOutside.kt") + public void testCapturedValInLambdaInitializedOutside() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedValInLambdaInitializedOutside.kt"); + } + + @TestMetadata("capturedVarsOfSize2.kt") + public void testCapturedVarsOfSize2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/capturedVarsOfSize2.kt"); + } + + @TestMetadata("sharedSlotsWithCapturedVars.kt") + public void testSharedSlotsWithCapturedVars() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/sharedSlotsWithCapturedVars.kt"); + } + + @TestMetadata("withStackNormalization.kt") + public void testWithStackNormalization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/capturedVarsOptimization/withStackNormalization.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/checkcast") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Checkcast extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCheckcast() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/checkcast"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("kt14811.kt") + public void testKt14811() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/checkcast/kt14811.kt"); + } + + @TestMetadata("kt14963.kt") + public void testKt14963() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/checkcast/kt14963.kt"); + } + + @TestMetadata("kt15411.kt") + public void testKt15411() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/checkcast/kt15411.kt"); + } + + @TestMetadata("kt22714.kt") + public void testKt22714() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/checkcast/kt22714.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class CoercionToUnitOptimization extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCoercionToUnitOptimization() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("inRangeCheckWithConst.kt") + public void testInRangeCheckWithConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/inRangeCheckWithConst.kt"); + } + + @TestMetadata("kt14360.kt") + public void testKt14360() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/kt14360.kt"); + } + + @TestMetadata("largeMethodWithCoercionToUnit.kt") + public void testLargeMethodWithCoercionToUnit() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/largeMethodWithCoercionToUnit.kt"); + } + + @TestMetadata("nopInlineFuns.kt") + public void testNopInlineFuns() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/nopInlineFuns.kt"); + } + + @TestMetadata("returnsUnit.kt") + public void testReturnsUnit() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/returnsUnit.kt"); + } + + @TestMetadata("safeCall.kt") + public void testSafeCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/safeCall.kt"); + } + + @TestMetadata("safeCallWithReturnValue.kt") + public void testSafeCallWithReturnValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/safeCallWithReturnValue.kt"); + } + + @TestMetadata("safeLet.kt") + public void testSafeLet() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/safeLet.kt"); + } + + @TestMetadata("tryInlined.kt") + public void testTryInlined() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coercionToUnitOptimization/tryInlined.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/companion") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Companion extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCompanion() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/companion"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("floatingPointCompanionAccess.kt") + public void testFloatingPointCompanionAccess() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/floatingPointCompanionAccess.kt"); + } + + @TestMetadata("kt14258_1.kt") + public void testKt14258_1() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/kt14258_1.kt"); + } + + @TestMetadata("kt14258_2.kt") + public void testKt14258_2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/kt14258_2.kt"); + } + + @TestMetadata("kt14258_3.kt") + public void testKt14258_3() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/kt14258_3.kt"); + } + + @TestMetadata("kt14258_4.kt") + public void testKt14258_4() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/kt14258_4.kt"); + } + + @TestMetadata("kt14258_5.kt") + public void testKt14258_5() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/kt14258_5.kt"); + } + + @TestMetadata("privateCompanionObjectAccessors_after.kt") + public void testPrivateCompanionObjectAccessors_after() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/privateCompanionObjectAccessors_after.kt"); + } + + @TestMetadata("privateCompanionObjectAccessors_before.kt") + public void testPrivateCompanionObjectAccessors_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/privateCompanionObjectAccessors_before.kt"); + } + + @TestMetadata("protectedCompanionObjectAccessors_after.kt") + public void testProtectedCompanionObjectAccessors_after() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/protectedCompanionObjectAccessors_after.kt"); + } + + @TestMetadata("protectedCompanionObjectAccessors_before.kt") + public void testProtectedCompanionObjectAccessors_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/companion/protectedCompanionObjectAccessors_before.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/conditions") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Conditions extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInConditions() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/conditions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("conjunction.kt") + public void testConjunction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/conjunction.kt"); + } + + @TestMetadata("conjunctionInDoWhile.kt") + public void testConjunctionInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/conjunctionInDoWhile.kt"); + } + + @TestMetadata("conjunctionInWhile.kt") + public void testConjunctionInWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/conjunctionInWhile.kt"); + } + + @TestMetadata("disjunction.kt") + public void testDisjunction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/disjunction.kt"); + } + + @TestMetadata("negatedConjuction.kt") + public void testNegatedConjuction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedConjuction.kt"); + } + + @TestMetadata("negatedDisjunction.kt") + public void testNegatedDisjunction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedDisjunction.kt"); + } + + @TestMetadata("negatedNonZeroCompareInDoWhile.kt") + public void testNegatedNonZeroCompareInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedNonZeroCompareInDoWhile.kt"); + } + + @TestMetadata("negatedNonZeroCompareInIf.kt") + public void testNegatedNonZeroCompareInIf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedNonZeroCompareInIf.kt"); + } + + @TestMetadata("negatedNonZeroCompareInWhile.kt") + public void testNegatedNonZeroCompareInWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedNonZeroCompareInWhile.kt"); + } + + @TestMetadata("negatedNullCompareInDoWhile.kt") + public void testNegatedNullCompareInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedNullCompareInDoWhile.kt"); + } + + @TestMetadata("negatedNullCompareInIf.kt") + public void testNegatedNullCompareInIf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedNullCompareInIf.kt"); + } + + @TestMetadata("negatedNullCompareInWhile.kt") + public void testNegatedNullCompareInWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedNullCompareInWhile.kt"); + } + + @TestMetadata("negatedZeroCompareInDoWhile.kt") + public void testNegatedZeroCompareInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedZeroCompareInDoWhile.kt"); + } + + @TestMetadata("negatedZeroCompareInIf.kt") + public void testNegatedZeroCompareInIf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedZeroCompareInIf.kt"); + } + + @TestMetadata("negatedZeroCompareInWhile.kt") + public void testNegatedZeroCompareInWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/negatedZeroCompareInWhile.kt"); + } + + @TestMetadata("noBoxingForBoxedEqPrimitive.kt") + public void testNoBoxingForBoxedEqPrimitive() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/noBoxingForBoxedEqPrimitive.kt"); + } + + @TestMetadata("noBoxingForPrimitiveEqBoxed.kt") + public void testNoBoxingForPrimitiveEqBoxed() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/noBoxingForPrimitiveEqBoxed.kt"); + } + + @TestMetadata("noBoxingForPrimitiveEqObject.kt") + public void testNoBoxingForPrimitiveEqObject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/noBoxingForPrimitiveEqObject.kt"); + } + + @TestMetadata("nonZeroCompareInDoWhile.kt") + public void testNonZeroCompareInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/nonZeroCompareInDoWhile.kt"); + } + + @TestMetadata("nonZeroCompareInIf.kt") + public void testNonZeroCompareInIf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/nonZeroCompareInIf.kt"); + } + + @TestMetadata("nonZeroCompareInWhile.kt") + public void testNonZeroCompareInWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/nonZeroCompareInWhile.kt"); + } + + @TestMetadata("nullCompareConst.kt") + public void testNullCompareConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/nullCompareConst.kt"); + } + + @TestMetadata("nullCompareInDoWhile.kt") + public void testNullCompareInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/nullCompareInDoWhile.kt"); + } + + @TestMetadata("nullCompareInIf.kt") + public void testNullCompareInIf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/nullCompareInIf.kt"); + } + + @TestMetadata("nullCompareInWhile.kt") + public void testNullCompareInWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/nullCompareInWhile.kt"); + } + + @TestMetadata("zeroCompareInDoWhile.kt") + public void testZeroCompareInDoWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/zeroCompareInDoWhile.kt"); + } + + @TestMetadata("zeroCompareInIf.kt") + public void testZeroCompareInIf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/zeroCompareInIf.kt"); + } + + @TestMetadata("zeroCompareInWhile.kt") + public void testZeroCompareInWhile() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/conditions/zeroCompareInWhile.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/constProperty") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ConstProperty extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInConstProperty() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/constProperty"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("noAccessorsForPrivateConstants.kt") + public void testNoAccessorsForPrivateConstants() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constProperty/noAccessorsForPrivateConstants.kt"); + } + + @TestMetadata("noInline.kt") + public void testNoInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constProperty/noInline.kt"); + } + + @TestMetadata("noInlineInCmp.kt") + public void testNoInlineInCmp() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constProperty/noInlineInCmp.kt"); + } + + @TestMetadata("nonConstValHasNoDefaultValue_after.kt") + public void testNonConstValHasNoDefaultValue_after() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constProperty/nonConstValHasNoDefaultValue_after.kt"); + } + + @TestMetadata("nonConstValHasNoDefaultValue_before.kt") + public void testNonConstValHasNoDefaultValue_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constProperty/nonConstValHasNoDefaultValue_before.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/constantConditions") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ConstantConditions extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInConstantConditions() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/constantConditions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("cmpIntWith0.kt") + public void testCmpIntWith0() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constantConditions/cmpIntWith0.kt"); + } + + @TestMetadata("constantFlag.kt") + public void testConstantFlag() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constantConditions/constantFlag.kt"); + } + + @TestMetadata("constantInt.kt") + public void testConstantInt() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constantConditions/constantInt.kt"); + } + + @TestMetadata("inlineIfFalse.kt") + public void testInlineIfFalse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constantConditions/inlineIfFalse.kt"); + } + + @TestMetadata("kt3098.kt") + public void testKt3098() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constantConditions/kt3098.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/constants") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Constants extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInConstants() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/constants"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("byte.kt") + public void testByte() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/byte.kt"); + } + + @TestMetadata("comparisonFalse.kt") + public void testComparisonFalse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/comparisonFalse.kt"); + } + + @TestMetadata("comparisonTrue.kt") + public void testComparisonTrue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/comparisonTrue.kt"); + } + + @TestMetadata("floatingPoints.kt") + public void testFloatingPoints() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/floatingPoints.kt"); + } + + @TestMetadata("inlineUnsignedIntConstant.kt") + public void testInlineUnsignedIntConstant() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/inlineUnsignedIntConstant.kt"); + } + + @TestMetadata("kt9532.kt") + public void testKt9532() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/kt9532.kt"); + } + + @TestMetadata("noInlineNonConst.kt") + public void testNoInlineNonConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/noInlineNonConst.kt"); + } + + @TestMetadata("noInlineNonStaticJavaField.kt") + public void testNoInlineNonStaticJavaField() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/noInlineNonStaticJavaField.kt"); + } + + @TestMetadata("noInlineNonStaticJavaField_lv10.kt") + public void testNoInlineNonStaticJavaField_lv10() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/noInlineNonStaticJavaField_lv10.kt"); + } + + @TestMetadata("nullableByteAndShort.kt") + public void testNullableByteAndShort() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/nullableByteAndShort.kt"); + } + + @TestMetadata("partialString.kt") + public void testPartialString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/partialString.kt"); + } + + @TestMetadata("short.kt") + public void testShort() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/short.kt"); + } + + @TestMetadata("string.kt") + public void testString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constants/string.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/constructors") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Constructors extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInConstructors() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/constructors"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("enumPrimaryDefaults.kt") + public void testEnumPrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/enumPrimaryDefaults.kt"); + } + + @TestMetadata("inlineArgumentPrimaryDefaults.kt") + public void testInlineArgumentPrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/inlineArgumentPrimaryDefaults.kt"); + } + + @TestMetadata("inlinePrimaryDefaults.kt") + public void testInlinePrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/inlinePrimaryDefaults.kt"); + } + + @TestMetadata("innerPrimaryDefaults.kt") + public void testInnerPrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/innerPrimaryDefaults.kt"); + } + + @TestMetadata("internalPrimaryDefaults.kt") + public void testInternalPrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/internalPrimaryDefaults.kt"); + } + + @TestMetadata("localPrimaryDefaults.kt") + public void testLocalPrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/localPrimaryDefaults.kt"); + } + + @TestMetadata("parameterlessPrimary.kt") + public void testParameterlessPrimary() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/parameterlessPrimary.kt"); + } + + @TestMetadata("privatePrimaryDefaults.kt") + public void testPrivatePrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/privatePrimaryDefaults.kt"); + } + + @TestMetadata("protectedPrimaryDefaults.kt") + public void testProtectedPrimaryDefaults() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/constructors/protectedPrimaryDefaults.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/controlStructures") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ControlStructures extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInControlStructures() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/controlStructures"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("ifConsts.kt") + public void testIfConsts() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/controlStructures/ifConsts.kt"); + } + + @TestMetadata("kt17110.kt") + public void testKt17110() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/controlStructures/kt17110.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coroutines") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Coroutines extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + private void runTestWithPackageReplacement(String testDataFilePath, String packageName) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(filePath -> doTestWithCoroutinesPackageReplacement(filePath, packageName), TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCoroutines() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coroutines"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("crossinlineSuspendContinuation_1_3.kt") + public void testCrossinlineSuspendContinuation_1_3() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/crossinlineSuspendContinuation_1_3.kt"); + } + + @TestMetadata("doNotReassignContinuation.kt") + public void testDoNotReassignContinuation() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/doNotReassignContinuation.kt"); + } + + @TestMetadata("effectivelyInlineOnly.kt") + public void testEffectivelyInlineOnly() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/effectivelyInlineOnly.kt"); + } + + @TestMetadata("nonLocalReturn.kt") + public void testNonLocalReturn() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/nonLocalReturn.kt"); + } + + @TestMetadata("returnUnitInLambda.kt") + public void testReturnUnitInLambda_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/returnUnitInLambda.kt", "kotlin.coroutines"); + } + + @TestMetadata("suspendMain.kt") + public void testSuspendMain() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/suspendMain.kt"); + } + + @TestMetadata("throwOnFailure.kt") + public void testThrowOnFailure() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/throwOnFailure.kt"); + } + + @TestMetadata("varValueConflictsWithTable.kt") + public void testVarValueConflictsWithTable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/varValueConflictsWithTable.kt"); + } + + @TestMetadata("varValueConflictsWithTableSameSort.kt") + public void testVarValueConflictsWithTableSameSort() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/varValueConflictsWithTableSameSort.kt"); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coroutines/cleanup") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Cleanup extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCleanup() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coroutines/cleanup"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("backEdge.kt") + public void testBackEdge() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/cleanup/backEdge.kt"); + } + + @TestMetadata("if.kt") + public void testIf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/cleanup/if.kt"); + } + + @TestMetadata("nullCleanup.kt") + public void testNullCleanup() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/cleanup/nullCleanup.kt"); + } + + @TestMetadata("nullNotSpill.kt") + public void testNullNotSpill() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/cleanup/nullNotSpill.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/cleanup/simple.kt"); + } + + @TestMetadata("when.kt") + public void testWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/cleanup/when.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coroutines/debug") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Debug extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInDebug() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coroutines/debug"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("continuationInLvt.kt") + public void testContinuationInLvt() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/continuationInLvt.kt"); + } + + @TestMetadata("localVariableCorrectLabel.kt") + public void testLocalVariableCorrectLabel() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/localVariableCorrectLabel.kt"); + } + + @TestMetadata("probeCoroutineSuspended.kt") + public void testProbeCoroutineSuspended() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/probeCoroutineSuspended.kt"); + } + + @TestMetadata("shrinkLvtTopLevel.kt") + public void testShrinkLvtTopLevel() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/shrinkLvtTopLevel.kt"); + } + + @TestMetadata("thisAndResultInLvt.kt") + public void testThisAndResultInLvt() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/debug/thisAndResultInLvt.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coroutines/destructuringInLambda") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class DestructuringInLambda extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInDestructuringInLambda() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coroutines/destructuringInLambda"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("inlineSeparateFiles.kt") + public void testInlineSeparateFiles() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/destructuringInLambda/inlineSeparateFiles.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class InlineClasses extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInInlineClasses() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("inlineClassBoxingInSuspendFunReturn_Primitive.kt") + public void testInlineClassBoxingInSuspendFunReturn_Primitive() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/inlineClassBoxingInSuspendFunReturn_Primitive.kt"); + } + + @TestMetadata("noInlineClassBoxingInSuspendFunReturn_Any.kt") + public void testNoInlineClassBoxingInSuspendFunReturn_Any() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_Any.kt"); + } + + @TestMetadata("noInlineClassBoxingInSuspendFunReturn_InlineAny.kt") + public void testNoInlineClassBoxingInSuspendFunReturn_InlineAny() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_InlineAny.kt"); + } + + @TestMetadata("noInlineClassBoxingInSuspendFunReturn_SameJvmType.kt") + public void testNoInlineClassBoxingInSuspendFunReturn_SameJvmType() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_SameJvmType.kt"); + } + + @TestMetadata("noInlineClassBoxingInSuspendFunReturn_String.kt") + public void testNoInlineClassBoxingInSuspendFunReturn_String() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_String.kt"); + } + + @TestMetadata("returnResult.kt") + public void testReturnResult() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/returnResult.kt"); + } + + @TestMetadata("returnStringOverride.kt") + public void testReturnStringOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/returnStringOverride.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class IntLikeVarSpilling extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + private void runTestWithPackageReplacement(String testDataFilePath, String packageName) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(filePath -> doTestWithCoroutinesPackageReplacement(filePath, packageName), TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInIntLikeVarSpilling() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("complicatedMerge.kt") + public void testComplicatedMerge_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/complicatedMerge.kt", "kotlin.coroutines"); + } + + @TestMetadata("i2bResult.kt") + public void testI2bResult_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/i2bResult.kt", "kotlin.coroutines"); + } + + @TestMetadata("loadFromBooleanArray.kt") + public void testLoadFromBooleanArray_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/loadFromBooleanArray.kt", "kotlin.coroutines"); + } + + @TestMetadata("loadFromByteArray.kt") + public void testLoadFromByteArray_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/loadFromByteArray.kt", "kotlin.coroutines"); + } + + @TestMetadata("noVariableInTable.kt") + public void testNoVariableInTable_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/noVariableInTable.kt", "kotlin.coroutines"); + } + + @TestMetadata("sameIconst1ManyVars.kt") + public void testSameIconst1ManyVars_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/sameIconst1ManyVars.kt", "kotlin.coroutines"); + } + + @TestMetadata("usedInArrayStore.kt") + public void testUsedInArrayStore_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/usedInArrayStore.kt", "kotlin.coroutines"); + } + + @TestMetadata("usedInMethodCall.kt") + public void testUsedInMethodCall_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/usedInMethodCall.kt", "kotlin.coroutines"); + } + + @TestMetadata("usedInPutfield.kt") + public void testUsedInPutfield_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/usedInPutfield.kt", "kotlin.coroutines"); + } + + @TestMetadata("usedInVarStore.kt") + public void testUsedInVarStore_1_3() throws Exception { + runTestWithPackageReplacement("compiler/testData/codegen/bytecodeText/coroutines/intLikeVarSpilling/usedInVarStore.kt", "kotlin.coroutines"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/coroutines/stateMachine") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class StateMachine extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInStateMachine() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/coroutines/stateMachine"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("kt25893.kt") + public void testKt25893() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/stateMachine/kt25893.kt"); + } + + @TestMetadata("withTypeParameter.kt") + public void testWithTypeParameter() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/coroutines/stateMachine/withTypeParameter.kt"); + } + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/deadCodeElimination") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class DeadCodeElimination extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInDeadCodeElimination() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/deadCodeElimination"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("arrayConstructor.kt") + public void testArrayConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/arrayConstructor.kt"); + } + + @TestMetadata("boxing.kt") + public void testBoxing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/boxing.kt"); + } + + @TestMetadata("boxingNotOptimizable.kt") + public void testBoxingNotOptimizable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/boxingNotOptimizable.kt"); + } + + @TestMetadata("emptyVariableRange.kt") + public void testEmptyVariableRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/emptyVariableRange.kt"); + } + + @TestMetadata("kt14357.kt") + public void testKt14357() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/kt14357.kt"); + } + + @TestMetadata("lastReturn.kt") + public void testLastReturn() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/lastReturn.kt"); + } + + @TestMetadata("literal.kt") + public void testLiteral() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/literal.kt"); + } + + @TestMetadata("simpleConstructor.kt") + public void testSimpleConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/simpleConstructor.kt"); + } + + @TestMetadata("simpleConstructorNotRedundant.kt") + public void testSimpleConstructorNotRedundant() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/simpleConstructorNotRedundant.kt"); + } + + @TestMetadata("simpleConstructorNotRedundantNotOptimizable.kt") + public void testSimpleConstructorNotRedundantNotOptimizable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/deadCodeElimination/simpleConstructorNotRedundantNotOptimizable.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/defaultArguments") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class DefaultArguments extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInDefaultArguments() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("inheritedInterfaceFunction.kt") + public void testInheritedInterfaceFunction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/inheritedInterfaceFunction.kt"); + } + + @TestMetadata("kt11962.kt") + public void testKt11962() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/kt11962.kt"); + } + + @TestMetadata("localVariablesInInlinedDefaultStubs.kt") + public void testLocalVariablesInInlinedDefaultStubs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/localVariablesInInlinedDefaultStubs.kt"); + } + + @TestMetadata("maskAndArgumentElimination.kt") + public void testMaskAndArgumentElimination() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/maskAndArgumentElimination.kt"); + } + + @TestMetadata("maskCheckSequence.kt") + public void testMaskCheckSequence() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/maskCheckSequence.kt"); + } + + @TestMetadata("methodHandlerElimination.kt") + public void testMethodHandlerElimination() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/methodHandlerElimination.kt"); + } + + @TestMetadata("noAccessorForDefault.kt") + public void testNoAccessorForDefault() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/noAccessorForDefault.kt"); + } + + @TestMetadata("noAnonymousObjectRegenerationInDefaultStub.kt") + public void testNoAnonymousObjectRegenerationInDefaultStub() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/noAnonymousObjectRegenerationInDefaultStub.kt"); + } + + @TestMetadata("noEmptyArray.kt") + public void testNoEmptyArray() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/noEmptyArray.kt"); + } + + @TestMetadata("noSyntheticParameters.kt") + public void testNoSyntheticParameters() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/defaultArguments/noSyntheticParameters.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/directInvoke") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class DirectInvoke extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInDirectInvoke() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/directInvoke"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("callableReference.kt") + public void testCallableReference() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/directInvoke/callableReference.kt"); + } + + @TestMetadata("inplaceClosure.kt") + public void testInplaceClosure() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/directInvoke/inplaceClosure.kt"); + } + + @TestMetadata("localFun.kt") + public void testLocalFun() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/directInvoke/localFun.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/disabledOptimizations") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class DisabledOptimizations extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInDisabledOptimizations() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/disabledOptimizations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("noJumpInLastBranch.kt") + public void testNoJumpInLastBranch() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/disabledOptimizations/noJumpInLastBranch.kt"); + } + + @TestMetadata("noJumpInSingleBranch.kt") + public void testNoJumpInSingleBranch() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/disabledOptimizations/noJumpInSingleBranch.kt"); + } + + @TestMetadata("noObjectCastAfterReification.kt") + public void testNoObjectCastAfterReification() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/disabledOptimizations/noObjectCastAfterReification.kt"); + } + + @TestMetadata("noUnitInstanceInDefaultParameterInitialization.kt") + public void testNoUnitInstanceInDefaultParameterInitialization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/disabledOptimizations/noUnitInstanceInDefaultParameterInitialization.kt"); + } + + @TestMetadata("noUnitInstanceOnVoidFunctionCall.kt") + public void testNoUnitInstanceOnVoidFunctionCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/disabledOptimizations/noUnitInstanceOnVoidFunctionCall.kt"); + } + + @TestMetadata("noUnusedLabel.kt") + public void testNoUnusedLabel() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/disabledOptimizations/noUnusedLabel.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/enum") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Enum extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInEnum() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/enum"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("constructorAccessors.kt") + public void testConstructorAccessors() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/enum/constructorAccessors.kt"); + } + + @TestMetadata("enumCheckcasts.kt") + public void testEnumCheckcasts() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/enum/enumCheckcasts.kt"); + } + + @TestMetadata("kt18731.kt") + public void testKt18731() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/enum/kt18731.kt"); + } + + @TestMetadata("kt18731_2.kt") + public void testKt18731_2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/enum/kt18731_2.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/exclExcl") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ExclExcl extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInExclExcl() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/exclExcl"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("primitive.kt") + public void testPrimitive() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/exclExcl/primitive.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class FieldsForCapturedValues extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInFieldsForCapturedValues() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("extensionLambdaExtensionReceiver.kt") + public void testExtensionLambdaExtensionReceiver() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/extensionLambdaExtensionReceiver.kt"); + } + + @TestMetadata("extensionReceiver.kt") + public void testExtensionReceiver() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/extensionReceiver.kt"); + } + + @TestMetadata("innerAndOuterThis.kt") + public void testInnerAndOuterThis() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/innerAndOuterThis.kt"); + } + + @TestMetadata("labeledExtensionLambdaExtensionReceiver.kt") + public void testLabeledExtensionLambdaExtensionReceiver() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/labeledExtensionLambdaExtensionReceiver.kt"); + } + + @TestMetadata("multipleExtensionReceivers.kt") + public void testMultipleExtensionReceivers() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/multipleExtensionReceivers.kt"); + } + + @TestMetadata("outerThis.kt") + public void testOuterThis() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/outerThis.kt"); + } + + @TestMetadata("outerThisInInnerConstructor.kt") + public void testOuterThisInInnerConstructor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/outerThisInInnerConstructor.kt"); + } + + @TestMetadata("outerThisInInnerInitBlock.kt") + public void testOuterThisInInnerInitBlock() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/outerThisInInnerInitBlock.kt"); + } + + @TestMetadata("this.kt") + public void testThis() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/fieldsForCapturedValues/this.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForLoop extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForLoop() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInCharSequence.kt") + public void testForInCharSequence() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequence.kt"); + } + + @TestMetadata("forInCharSequenceTypeParameter.kt") + public void testForInCharSequenceTypeParameter() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceTypeParameter.kt"); + } + + @TestMetadata("forInDownToCharMinValue.kt") + public void testForInDownToCharMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInDownToCharMinValue.kt"); + } + + @TestMetadata("forInDownToIntMinValue.kt") + public void testForInDownToIntMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInDownToIntMinValue.kt"); + } + + @TestMetadata("forInDownToLongMinValue.kt") + public void testForInDownToLongMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInDownToLongMinValue.kt"); + } + + @TestMetadata("forInObjectArray.kt") + public void testForInObjectArray() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInObjectArray.kt"); + } + + @TestMetadata("forInPrimitiveArray.kt") + public void testForInPrimitiveArray() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInPrimitiveArray.kt"); + } + + @TestMetadata("forInRangeSpecializedToUntil.kt") + public void testForInRangeSpecializedToUntil() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeSpecializedToUntil.kt"); + } + + @TestMetadata("forInRangeToCharConst.kt") + public void testForInRangeToCharConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeToCharConst.kt"); + } + + @TestMetadata("forInRangeToCharMaxValue.kt") + public void testForInRangeToCharMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeToCharMaxValue.kt"); + } + + @TestMetadata("forInRangeToConst.kt") + public void testForInRangeToConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeToConst.kt"); + } + + @TestMetadata("forInRangeToIntMaxValue.kt") + public void testForInRangeToIntMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeToIntMaxValue.kt"); + } + + @TestMetadata("forInRangeToLongConst.kt") + public void testForInRangeToLongConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeToLongConst.kt"); + } + + @TestMetadata("forInRangeToLongMaxValue.kt") + public void testForInRangeToLongMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeToLongMaxValue.kt"); + } + + @TestMetadata("forInRangeToQualifiedConst.kt") + public void testForInRangeToQualifiedConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeToQualifiedConst.kt"); + } + + @TestMetadata("forInRangeWithImplicitReceiver.kt") + public void testForInRangeWithImplicitReceiver() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInRangeWithImplicitReceiver.kt"); + } + + @TestMetadata("forInStringSpecialized.kt") + public void testForInStringSpecialized() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInStringSpecialized.kt"); + } + + @TestMetadata("forIntInDownTo.kt") + public void testForIntInDownTo() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forIntInDownTo.kt"); + } + + @TestMetadata("intrinsicArrayConstructorsUseCounterLoop.kt") + public void testIntrinsicArrayConstructorsUseCounterLoop() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/intrinsicArrayConstructorsUseCounterLoop.kt"); + } + + @TestMetadata("loopVarInterval.kt") + public void testLoopVarInterval() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/loopVarInterval.kt"); + } + + @TestMetadata("primitiveLiteralRange1.kt") + public void testPrimitiveLiteralRange1() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/primitiveLiteralRange1.kt"); + } + + @TestMetadata("primitiveLiteralRange2.kt") + public void testPrimitiveLiteralRange2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/primitiveLiteralRange2.kt"); + } + + @TestMetadata("primitiveProgression.kt") + public void testPrimitiveProgression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/primitiveProgression.kt"); + } + + @TestMetadata("primitiveRange.kt") + public void testPrimitiveRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/primitiveRange.kt"); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInArrayWithIndex extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInArrayWithIndex() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInArrayWithIndexNoElementVar.kt") + public void testForInArrayWithIndexNoElementVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoElementVar.kt"); + } + + @TestMetadata("forInArrayWithIndexNoIndexVar.kt") + public void testForInArrayWithIndexNoIndexVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoIndexVar.kt"); + } + + @TestMetadata("forInEmptyArrayWithIndex.kt") + public void testForInEmptyArrayWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInEmptyArrayWithIndex.kt"); + } + + @TestMetadata("forInIntArrayWithIndex.kt") + public void testForInIntArrayWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInIntArrayWithIndex.kt"); + } + + @TestMetadata("forInObjectArrayWithIndex.kt") + public void testForInObjectArrayWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInObjectArrayWithIndex.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInCharSequenceWithIndex extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInCharSequenceWithIndex() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInCharSequenceWithIndex.kt") + public void testForInCharSequenceWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInCharSequenceWithIndex.kt"); + } + + @TestMetadata("forInEmptyStringWithIndex.kt") + public void testForInEmptyStringWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInEmptyStringWithIndex.kt"); + } + + @TestMetadata("forInStringWithIndex.kt") + public void testForInStringWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndex.kt"); + } + + @TestMetadata("forInStringWithIndexNoElementVar.kt") + public void testForInStringWithIndexNoElementVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoElementVar.kt"); + } + + @TestMetadata("forInStringWithIndexNoIndexVar.kt") + public void testForInStringWithIndexNoIndexVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoIndexVar.kt"); + } + + @TestMetadata("forInStringWithIndexWithExplicitlyTypedIndexVariable.kt") + public void testForInStringWithIndexWithExplicitlyTypedIndexVariable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexWithExplicitlyTypedIndexVariable.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInIndices") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInIndices extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInIndices() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInIndices"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInArrayListIndices.kt") + public void testForInArrayListIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInArrayListIndices.kt"); + } + + @TestMetadata("forInCharSequenceIndices.kt") + public void testForInCharSequenceIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInCharSequenceIndices.kt"); + } + + @TestMetadata("forInCharSequenceTypeParameterIndices.kt") + public void testForInCharSequenceTypeParameterIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInCharSequenceTypeParameterIndices.kt"); + } + + @TestMetadata("forInCollectionImplicitReceiverIndices.kt") + public void testForInCollectionImplicitReceiverIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInCollectionImplicitReceiverIndices.kt"); + } + + @TestMetadata("forInCollectionIndices.kt") + public void testForInCollectionIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInCollectionIndices.kt"); + } + + @TestMetadata("forInCollectionTypeParameterIndices.kt") + public void testForInCollectionTypeParameterIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInCollectionTypeParameterIndices.kt"); + } + + @TestMetadata("forInNonOptimizedIndices.kt") + public void testForInNonOptimizedIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInNonOptimizedIndices.kt"); + } + + @TestMetadata("forInObjectArrayIndices.kt") + public void testForInObjectArrayIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInObjectArrayIndices.kt"); + } + + @TestMetadata("forInPrimitiveArrayIndices.kt") + public void testForInPrimitiveArrayIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIndices/forInPrimitiveArrayIndices.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInIterableWithIndex extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInIterableWithIndex() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInEmptyListWithIndex.kt") + public void testForInEmptyListWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInEmptyListWithIndex.kt"); + } + + @TestMetadata("forInIterableTypeParameterWithIndex.kt") + public void testForInIterableTypeParameterWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInIterableTypeParameterWithIndex.kt"); + } + + @TestMetadata("forInListWithIndex.kt") + public void testForInListWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndex.kt"); + } + + @TestMetadata("forInListWithIndexNoElementVar.kt") + public void testForInListWithIndexNoElementVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoElementVar.kt"); + } + + @TestMetadata("forInListWithIndexNoIndexVar.kt") + public void testForInListWithIndexNoIndexVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoIndexVar.kt"); + } + + @TestMetadata("forInListWithIndexWithExplicitlyTypedIndexVariable.kt") + public void testForInListWithIndexWithExplicitlyTypedIndexVariable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexWithExplicitlyTypedIndexVariable.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInProgressionWithIndex extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInProgressionWithIndex() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInDownToWithIndex.kt") + public void testForInDownToWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInDownToWithIndex.kt"); + } + + @TestMetadata("forInIndicesWithIndex.kt") + public void testForInIndicesWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInIndicesWithIndex.kt"); + } + + @TestMetadata("forInRangeToWithIndex.kt") + public void testForInRangeToWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInRangeToWithIndex.kt"); + } + + @TestMetadata("forInReversedStepWithIndex.kt") + public void testForInReversedStepWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedStepWithIndex.kt"); + } + + @TestMetadata("forInReversedWithIndex.kt") + public void testForInReversedWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedWithIndex.kt"); + } + + @TestMetadata("forInStepReversedWithIndex.kt") + public void testForInStepReversedWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepReversedWithIndex.kt"); + } + + @TestMetadata("forInStepWithIndex.kt") + public void testForInStepWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepWithIndex.kt"); + } + + @TestMetadata("forInUntilWithIndex.kt") + public void testForInUntilWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInUntilWithIndex.kt"); + } + + @TestMetadata("forInWithIndexNoIndexOrElementVar.kt") + public void testForInWithIndexNoIndexOrElementVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexNoIndexOrElementVar.kt"); + } + + @TestMetadata("forInWithIndexNotDestructured.kt") + public void testForInWithIndexNotDestructured() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexNotDestructured.kt"); + } + + @TestMetadata("forInWithIndexReversed.kt") + public void testForInWithIndexReversed() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexReversed.kt"); + } + + @TestMetadata("forInWithIndexWithIndex.kt") + public void testForInWithIndexWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexWithIndex.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInReversed") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInReversed extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInReversed() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInReversed"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInReversedArrayIndices.kt") + public void testForInReversedArrayIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedArrayIndices.kt"); + } + + @TestMetadata("forInReversedCharSequenceIndices.kt") + public void testForInReversedCharSequenceIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedCharSequenceIndices.kt"); + } + + @TestMetadata("forInReversedCollectionIndices.kt") + public void testForInReversedCollectionIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedCollectionIndices.kt"); + } + + @TestMetadata("forInReversedDownTo.kt") + public void testForInReversedDownTo() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedDownTo.kt"); + } + + @TestMetadata("forInReversedEmptyRangeLiteral.kt") + public void testForInReversedEmptyRangeLiteral() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedEmptyRangeLiteral.kt"); + } + + @TestMetadata("forInReversedRange.kt") + public void testForInReversedRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedRange.kt"); + } + + @TestMetadata("forInReversedRangeLiteral.kt") + public void testForInReversedRangeLiteral() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedRangeLiteral.kt"); + } + + @TestMetadata("forInReversedReversedArrayIndices.kt") + public void testForInReversedReversedArrayIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedReversedArrayIndices.kt"); + } + + @TestMetadata("forInReversedReversedDownTo.kt") + public void testForInReversedReversedDownTo() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedReversedDownTo.kt"); + } + + @TestMetadata("ForInReversedReversedRange.kt") + public void testForInReversedReversedRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/ForInReversedReversedRange.kt"); + } + + @TestMetadata("forInReversedReversedReversedRange.kt") + public void testForInReversedReversedReversedRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedReversedReversedRange.kt"); + } + + @TestMetadata("forInReversedReversedUntil.kt") + public void testForInReversedReversedUntil() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedReversedUntil.kt"); + } + + @TestMetadata("forInReversedUntil.kt") + public void testForInReversedUntil() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInReversed/forInReversedUntil.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInSequenceWithIndex extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInSequenceWithIndex() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInEmptySequenceWithIndex.kt") + public void testForInEmptySequenceWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInEmptySequenceWithIndex.kt"); + } + + @TestMetadata("forInSequenceTypeParameterWithIndex.kt") + public void testForInSequenceTypeParameterWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceTypeParameterWithIndex.kt"); + } + + @TestMetadata("forInSequenceWithIndex.kt") + public void testForInSequenceWithIndex() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndex.kt"); + } + + @TestMetadata("forInSequenceWithIndexNoElementVar.kt") + public void testForInSequenceWithIndexNoElementVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoElementVar.kt"); + } + + @TestMetadata("forInSequenceWithIndexNoIndexVar.kt") + public void testForInSequenceWithIndexNoIndexVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoIndexVar.kt"); + } + + @TestMetadata("forInSequenceWithIndexThrowsCME.kt") + public void testForInSequenceWithIndexThrowsCME() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexThrowsCME.kt"); + } + + @TestMetadata("forInSequenceWithIndexWithExplicitlyTypedIndexVariable.kt") + public void testForInSequenceWithIndexWithExplicitlyTypedIndexVariable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexWithExplicitlyTypedIndexVariable.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/forInUntil") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ForInUntil extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInForInUntil() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/forInUntil"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("forInUntilChar.kt") + public void testForInUntilChar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilChar.kt"); + } + + @TestMetadata("forInUntilCharMaxValue.kt") + public void testForInUntilCharMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilCharMaxValue.kt"); + } + + @TestMetadata("forInUntilCharMinValue.kt") + public void testForInUntilCharMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilCharMinValue.kt"); + } + + @TestMetadata("forInUntilInt.kt") + public void testForInUntilInt() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilInt.kt"); + } + + @TestMetadata("forInUntilIntMaxValue.kt") + public void testForInUntilIntMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilIntMaxValue.kt"); + } + + @TestMetadata("forInUntilIntMinValue.kt") + public void testForInUntilIntMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilIntMinValue.kt"); + } + + @TestMetadata("forInUntilLong.kt") + public void testForInUntilLong() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilLong.kt"); + } + + @TestMetadata("forInUntilLongMaxValue.kt") + public void testForInUntilLongMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilLongMaxValue.kt"); + } + + @TestMetadata("forInUntilLongMinValue.kt") + public void testForInUntilLongMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilLongMinValue.kt"); + } + + @TestMetadata("forInUntilWithMixedTypeBoundsBoundCheckNeededForIntRangeIR.kt") + public void testForInUntilWithMixedTypeBoundsBoundCheckNeededForIntRangeIR() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilWithMixedTypeBoundsBoundCheckNeededForIntRangeIR.kt"); + } + + @TestMetadata("forInUntilWithMixedTypeBoundsNoBoundCheckNeededForIntRangeIR.kt") + public void testForInUntilWithMixedTypeBoundsNoBoundCheckNeededForIntRangeIR() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilWithMixedTypeBoundsNoBoundCheckNeededForIntRangeIR.kt"); + } + + @TestMetadata("forInUntilWithMixedTypeBoundsNoBoundCheckNeededForLongRangeIR.kt") + public void testForInUntilWithMixedTypeBoundsNoBoundCheckNeededForLongRangeIR() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilWithMixedTypeBoundsNoBoundCheckNeededForLongRangeIR.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/stepped") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Stepped extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInStepped() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/stepped"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("emptyUntilProgressionToMinValue.kt") + public void testEmptyUntilProgressionToMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/emptyUntilProgressionToMinValue.kt"); + } + + @TestMetadata("illegalStepConst.kt") + public void testIllegalStepConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/illegalStepConst.kt"); + } + + @TestMetadata("reversedThenStep.kt") + public void testReversedThenStep() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/reversedThenStep.kt"); + } + + @TestMetadata("stepConst.kt") + public void testStepConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepConst.kt"); + } + + @TestMetadata("stepConstOnNonLiteralProgression.kt") + public void testStepConstOnNonLiteralProgression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepConstOnNonLiteralProgression.kt"); + } + + @TestMetadata("stepNonConst.kt") + public void testStepNonConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepNonConst.kt"); + } + + @TestMetadata("stepNonConstOnNonLiteralProgression.kt") + public void testStepNonConstOnNonLiteralProgression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepNonConstOnNonLiteralProgression.kt"); + } + + @TestMetadata("stepOnNonLiteralRange.kt") + public void testStepOnNonLiteralRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepOnNonLiteralRange.kt"); + } + + @TestMetadata("stepOne.kt") + public void testStepOne() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepOne.kt"); + } + + @TestMetadata("stepOneThenStepOne.kt") + public void testStepOneThenStepOne() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepOneThenStepOne.kt"); + } + + @TestMetadata("stepThenDifferentStep.kt") + public void testStepThenDifferentStep() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepThenDifferentStep.kt"); + } + + @TestMetadata("stepThenReversed.kt") + public void testStepThenReversed() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepThenReversed.kt"); + } + + @TestMetadata("stepThenSameStep.kt") + public void testStepThenSameStep() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepThenSameStep.kt"); + } + + @TestMetadata("stepThenStepNonConst.kt") + public void testStepThenStepNonConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepThenStepNonConst.kt"); + } + + @TestMetadata("stepThenStepOne.kt") + public void testStepThenStepOne() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/stepThenStepOne.kt"); + } + + @TestMetadata("untilProgressionToNonConst.kt") + public void testUntilProgressionToNonConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/stepped/untilProgressionToNonConst.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/forLoop/unsigned") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Unsigned extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInUnsigned() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/forLoop/unsigned"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("emptyUntilProgressionToMinValue.kt") + public void testEmptyUntilProgressionToMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/emptyUntilProgressionToMinValue.kt"); + } + + @TestMetadata("forInDownToUIntMinValue.kt") + public void testForInDownToUIntMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInDownToUIntMinValue.kt"); + } + + @TestMetadata("forInDownToULongMinValue.kt") + public void testForInDownToULongMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInDownToULongMinValue.kt"); + } + + @TestMetadata("forInOptimizableUnsignedRange.kt") + public void testForInOptimizableUnsignedRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInOptimizableUnsignedRange.kt"); + } + + @TestMetadata("forInRangeToUIntMaxValue.kt") + public void testForInRangeToUIntMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInRangeToUIntMaxValue.kt"); + } + + @TestMetadata("forInRangeToULongMaxValue.kt") + public void testForInRangeToULongMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInRangeToULongMaxValue.kt"); + } + + @TestMetadata("forInUntilUIntMaxValue.kt") + public void testForInUntilUIntMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilUIntMaxValue.kt"); + } + + @TestMetadata("forInUntilUIntMinValue.kt") + public void testForInUntilUIntMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilUIntMinValue.kt"); + } + + @TestMetadata("forInUntilULongMaxValue.kt") + public void testForInUntilULongMaxValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilULongMaxValue.kt"); + } + + @TestMetadata("forInUntilULongMinValue.kt") + public void testForInUntilULongMinValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilULongMinValue.kt"); + } + + @TestMetadata("forInUntilWithMixedTypeBoundsNoBoundCheckNeededForUIntRangeIR.kt") + public void testForInUntilWithMixedTypeBoundsNoBoundCheckNeededForUIntRangeIR() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilWithMixedTypeBoundsNoBoundCheckNeededForUIntRangeIR.kt"); + } + + @TestMetadata("illegalStepConst.kt") + public void testIllegalStepConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/illegalStepConst.kt"); + } + + @TestMetadata("reversedThenStep.kt") + public void testReversedThenStep() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/reversedThenStep.kt"); + } + + @TestMetadata("stepConstOnNonLiteralProgression.kt") + public void testStepConstOnNonLiteralProgression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/stepConstOnNonLiteralProgression.kt"); + } + + @TestMetadata("stepNonConstOnNonLiteralProgression.kt") + public void testStepNonConstOnNonLiteralProgression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/stepNonConstOnNonLiteralProgression.kt"); + } + + @TestMetadata("stepOnNonLiteralRange.kt") + public void testStepOnNonLiteralRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/stepOnNonLiteralRange.kt"); + } + + @TestMetadata("stepThenDifferentStep.kt") + public void testStepThenDifferentStep() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/stepThenDifferentStep.kt"); + } + + @TestMetadata("untilProgressionToNonConst.kt") + public void testUntilProgressionToNonConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/forLoop/unsigned/untilProgressionToNonConst.kt"); + } + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/hashCode") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class HashCode extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInHashCode() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/hashCode"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("hashCode.kt") + public void testHashCode() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/hashCode/hashCode.kt"); + } + + @TestMetadata("interfaceHashCode.kt") + public void testInterfaceHashCode() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/hashCode/interfaceHashCode.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/ieee754") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Ieee754 extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInIeee754() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/ieee754"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("nullableDoubleEquals.kt") + public void testNullableDoubleEquals() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/nullableDoubleEquals.kt"); + } + + @TestMetadata("nullableDoubleNotEquals.kt") + public void testNullableDoubleNotEquals() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/nullableDoubleNotEquals.kt"); + } + + @TestMetadata("nullableFloatEquals.kt") + public void testNullableFloatEquals() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/nullableFloatEquals.kt"); + } + + @TestMetadata("nullableFloatNotEquals.kt") + public void testNullableFloatNotEquals() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/nullableFloatNotEquals.kt"); + } + + @TestMetadata("smartCastsForDouble.kt") + public void testSmartCastsForDouble() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/smartCastsForDouble.kt"); + } + + @TestMetadata("smartCastsForFloat.kt") + public void testSmartCastsForFloat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/smartCastsForFloat.kt"); + } + + @TestMetadata("when.kt") + public void testWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/when.kt"); + } + + @TestMetadata("whenNullableSmartCast.kt") + public void testWhenNullableSmartCast() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ieee754/whenNullableSmartCast.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/inline") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Inline extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInInline() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/inline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("deleteClassOnTransfromation.kt") + public void testDeleteClassOnTransfromation() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/deleteClassOnTransfromation.kt"); + } + + @TestMetadata("finallyMarkers.kt") + public void testFinallyMarkers() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/finallyMarkers.kt"); + } + + @TestMetadata("inlineArgumentSlots.kt") + public void testInlineArgumentSlots() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/inlineArgumentSlots.kt"); + } + + @TestMetadata("inlineReturnsNothing1.kt") + public void testInlineReturnsNothing1() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/inlineReturnsNothing1.kt"); + } + + @TestMetadata("inlineReturnsNothing2.kt") + public void testInlineReturnsNothing2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/inlineReturnsNothing2.kt"); + } + + @TestMetadata("inlineReturnsNothing3.kt") + public void testInlineReturnsNothing3() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/inlineReturnsNothing3.kt"); + } + + @TestMetadata("inlineSuspendReifiedNoSpilling.kt") + public void testInlineSuspendReifiedNoSpilling() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/inlineSuspendReifiedNoSpilling.kt"); + } + + @TestMetadata("interfaceDefaultMethod.kt") + public void testInterfaceDefaultMethod() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/interfaceDefaultMethod.kt"); + } + + @TestMetadata("linenumberForOneParametersArgumentCall.kt") + public void testLinenumberForOneParametersArgumentCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/linenumberForOneParametersArgumentCall.kt"); + } + + @TestMetadata("noSynAccessor.kt") + public void testNoSynAccessor() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/noSynAccessor.kt"); + } + + @TestMetadata("noSynAccessorToDirectFieldAccess.kt") + public void testNoSynAccessorToDirectFieldAccess() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/noSynAccessorToDirectFieldAccess.kt"); + } + + @TestMetadata("noSynAccessorToSuper.kt") + public void testNoSynAccessorToSuper() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/noSynAccessorToSuper.kt"); + } + + @TestMetadata("notSplitedExceptionTable.kt") + public void testNotSplitedExceptionTable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/notSplitedExceptionTable.kt"); + } + + @TestMetadata("reifiedSafeAsWithMutable.kt") + public void testReifiedSafeAsWithMutable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/reifiedSafeAsWithMutable.kt"); + } + + @TestMetadata("remappedLocalVar.kt") + public void testRemappedLocalVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/remappedLocalVar.kt"); + } + + @TestMetadata("removedFinallyMarkers.kt") + public void testRemovedFinallyMarkers() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/removedFinallyMarkers.kt"); + } + + @TestMetadata("specialEnumFunction.kt") + public void testSpecialEnumFunction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/specialEnumFunction.kt"); + } + + @TestMetadata("splitedExceptionTable.kt") + public void testSplitedExceptionTable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/splitedExceptionTable.kt"); + } + + @TestMetadata("whenMappingOnCallSite.kt") + public void testWhenMappingOnCallSite() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/whenMappingOnCallSite.kt"); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/inline/property") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Property extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInProperty() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/inline/property"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inline/property/simple.kt"); + } + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/inlineClasses") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class InlineClasses extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInInlineClasses() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("asCastForInlineClass.kt") + public void testAsCastForInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/asCastForInlineClass.kt"); + } + + @TestMetadata("assertionsForParametersOfInlineClassTypes.kt") + public void testAssertionsForParametersOfInlineClassTypes() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/assertionsForParametersOfInlineClassTypes.kt"); + } + + @TestMetadata("boxInlineClassInsideElvisWithNullConstant.kt") + public void testBoxInlineClassInsideElvisWithNullConstant() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxInlineClassInsideElvisWithNullConstant.kt"); + } + + @TestMetadata("boxInlineClassesOnPassingToVarargs.kt") + public void testBoxInlineClassesOnPassingToVarargs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxInlineClassesOnPassingToVarargs.kt"); + } + + @TestMetadata("boxMethodCalledByInlineClass.kt") + public void testBoxMethodCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxMethodCalledByInlineClass.kt"); + } + + @TestMetadata("boxResultAfterConstructorCall.kt") + public void testBoxResultAfterConstructorCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxResultAfterConstructorCall.kt"); + } + + @TestMetadata("boxResultInlineClassOfConstructorCall.kt") + public void testBoxResultInlineClassOfConstructorCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxResultInlineClassOfConstructorCall.kt"); + } + + @TestMetadata("boxThisOfInlineClass.kt") + public void testBoxThisOfInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxThisOfInlineClass.kt"); + } + + @TestMetadata("boxUnboxInlineClassFromMethodReturnType.kt") + public void testBoxUnboxInlineClassFromMethodReturnType() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxInlineClassFromMethodReturnType.kt"); + } + + @TestMetadata("boxUnboxInsideLambdaAsLastExpression.kt") + public void testBoxUnboxInsideLambdaAsLastExpression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxInsideLambdaAsLastExpression.kt"); + } + + @TestMetadata("boxUnboxOfInlineClassesWithFunctionalTypes.kt") + public void testBoxUnboxOfInlineClassesWithFunctionalTypes() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxOfInlineClassesWithFunctionalTypes.kt"); + } + + @TestMetadata("boxUnboxOnInlinedParameters.kt") + public void testBoxUnboxOnInlinedParameters() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxOnInlinedParameters.kt"); + } + + @TestMetadata("boxingForNonLocalAndLabeledReturnsOfInlineClasses.kt") + public void testBoxingForNonLocalAndLabeledReturnsOfInlineClasses() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/boxingForNonLocalAndLabeledReturnsOfInlineClasses.kt"); + } + + @TestMetadata("callMemberMethodsInsideInlineClass.kt") + public void testCallMemberMethodsInsideInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/callMemberMethodsInsideInlineClass.kt"); + } + + @TestMetadata("checkBoxingInInlineClass.kt") + public void testCheckBoxingInInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/checkBoxingInInlineClass.kt"); + } + + @TestMetadata("checkOuterInlineFunctionCall.kt") + public void testCheckOuterInlineFunctionCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/checkOuterInlineFunctionCall.kt"); + } + + @TestMetadata("constructorBridge.kt") + public void testConstructorBridge() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/constructorBridge.kt"); + } + + @TestMetadata("constructorWithDefaultArguments.kt") + public void testConstructorWithDefaultArguments() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/constructorWithDefaultArguments.kt"); + } + + @TestMetadata("defaultParametersDontBox.kt") + public void testDefaultParametersDontBox() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/defaultParametersDontBox.kt"); + } + + @TestMetadata("delegatedPropertyMangling.kt") + public void testDelegatedPropertyMangling() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/delegatedPropertyMangling.kt"); + } + + @TestMetadata("equalsDoesNotBox.kt") + public void testEqualsDoesNotBox() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/equalsDoesNotBox.kt"); + } + + @TestMetadata("equalsIsCalledByInlineClass.kt") + public void testEqualsIsCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/equalsIsCalledByInlineClass.kt"); + } + + @TestMetadata("factoryMethodForSecondaryConstructorsCalledByInlineClass.kt") + public void testFactoryMethodForSecondaryConstructorsCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/factoryMethodForSecondaryConstructorsCalledByInlineClass.kt"); + } + + @TestMetadata("functionsWithInlineClassParametersHaveStableMangledNames.kt") + public void testFunctionsWithInlineClassParametersHaveStableMangledNames() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/functionsWithInlineClassParametersHaveStableMangledNames.kt"); + } + + @TestMetadata("generationOfAccessorToUnderlyingValue.kt") + public void testGenerationOfAccessorToUnderlyingValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/generationOfAccessorToUnderlyingValue.kt"); + } + + @TestMetadata("hashCodeIsCalledByInlineClass.kt") + public void testHashCodeIsCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/hashCodeIsCalledByInlineClass.kt"); + } + + @TestMetadata("inlineClassBoxingOnAssignment.kt") + public void testInlineClassBoxingOnAssignment() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassBoxingOnAssignment.kt"); + } + + @TestMetadata("inlineClassBoxingOnFunctionCall.kt") + public void testInlineClassBoxingOnFunctionCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassBoxingOnFunctionCall.kt"); + } + + @TestMetadata("inlineClassBoxingUnboxingInsideInlinedLambda.kt") + public void testInlineClassBoxingUnboxingInsideInlinedLambda() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassBoxingUnboxingInsideInlinedLambda.kt"); + } + + @TestMetadata("inlineClassInGeneratedToString.kt") + public void testInlineClassInGeneratedToString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInGeneratedToString.kt"); + } + + @TestMetadata("inlineClassInStringTemplate.kt") + public void testInlineClassInStringTemplate() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInStringTemplate.kt"); + } + + @TestMetadata("inlineClassesUnboxingAfterAssertionOperator.kt") + public void testInlineClassesUnboxingAfterAssertionOperator() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassesUnboxingAfterAssertionOperator.kt"); + } + + @TestMetadata("interfaceDefaultImplStubs.kt") + public void testInterfaceDefaultImplStubs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/interfaceDefaultImplStubs.kt"); + } + + @TestMetadata("interfaceJvmDefaultImplStubs.kt") + public void testInterfaceJvmDefaultImplStubs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/interfaceJvmDefaultImplStubs.kt"); + } + + @TestMetadata("isCheckForInlineClass.kt") + public void testIsCheckForInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/isCheckForInlineClass.kt"); + } + + @TestMetadata("mangledInlineClassInterfaceImplementation.kt") + public void testMangledInlineClassInterfaceImplementation() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/mangledInlineClassInterfaceImplementation.kt"); + } + + @TestMetadata("noActualCallsOfInlineFunctionsOfInlineClass.kt") + public void testNoActualCallsOfInlineFunctionsOfInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noActualCallsOfInlineFunctionsOfInlineClass.kt"); + } + + @TestMetadata("noAssertionsForInlineClassesBasedOnNullableTypes.kt") + public void testNoAssertionsForInlineClassesBasedOnNullableTypes() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noAssertionsForInlineClassesBasedOnNullableTypes.kt"); + } + + @TestMetadata("noBoxingOnCastOperations.kt") + public void testNoBoxingOnCastOperations() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noBoxingOnCastOperations.kt"); + } + + @TestMetadata("noBoxingOperationsOnNonTrivialSpread.kt") + public void testNoBoxingOperationsOnNonTrivialSpread() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noBoxingOperationsOnNonTrivialSpread.kt"); + } + + @TestMetadata("noBoxingUnboxingInAccessorsForDelegatedPropertyWithInlineClassDelegate.kt") + public void testNoBoxingUnboxingInAccessorsForDelegatedPropertyWithInlineClassDelegate() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noBoxingUnboxingInAccessorsForDelegatedPropertyWithInlineClassDelegate.kt"); + } + + @TestMetadata("noManglingForFunctionsWithJvmName.kt") + public void testNoManglingForFunctionsWithJvmName() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noManglingForFunctionsWithJvmName.kt"); + } + + @TestMetadata("noReturnTypeMangling.kt") + public void testNoReturnTypeMangling() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noReturnTypeMangling.kt"); + } + + @TestMetadata("nonOverridingMethodsAreCalledByInlineClass.kt") + public void testNonOverridingMethodsAreCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/nonOverridingMethodsAreCalledByInlineClass.kt"); + } + + @TestMetadata("overridingMethodsAreCalledByInlineClass.kt") + public void testOverridingMethodsAreCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/overridingMethodsAreCalledByInlineClass.kt"); + } + + @TestMetadata("passInlineClassesWithSpreadOperatorToVarargs.kt") + public void testPassInlineClassesWithSpreadOperatorToVarargs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/passInlineClassesWithSpreadOperatorToVarargs.kt"); + } + + @TestMetadata("primaryConstructorCalledByInlineClass.kt") + public void testPrimaryConstructorCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/primaryConstructorCalledByInlineClass.kt"); + } + + @TestMetadata("propertyAccessorsAreCalledByInlineClass.kt") + public void testPropertyAccessorsAreCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/propertyAccessorsAreCalledByInlineClass.kt"); + } + + @TestMetadata("propertySetterWithInlineClassTypeArgument.kt") + public void testPropertySetterWithInlineClassTypeArgument() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/propertySetterWithInlineClassTypeArgument.kt"); + } + + @TestMetadata("resultApiDoesntCallSpecializedEquals.kt") + public void testResultApiDoesntCallSpecializedEquals() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntCallSpecializedEquals.kt"); + } + + @TestMetadata("resultApiDoesntUseBox.kt") + public void testResultApiDoesntUseBox() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiDoesntUseBox.kt"); + } + + @TestMetadata("resultApiEqualsDoesntBox.kt") + public void testResultApiEqualsDoesntBox() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiEqualsDoesntBox.kt"); + } + + @TestMetadata("resultApiRunCatchingDoesntBox.kt") + public void testResultApiRunCatchingDoesntBox() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiRunCatchingDoesntBox.kt"); + } + + @TestMetadata("resultApiStringInterpolationDoesntBox.kt") + public void testResultApiStringInterpolationDoesntBox() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultApiStringInterpolationDoesntBox.kt"); + } + + @TestMetadata("resultMangling.kt") + public void testResultMangling() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/resultMangling.kt"); + } + + @TestMetadata("skipCallToUnderlyingValueOfInlineClass.kt") + public void testSkipCallToUnderlyingValueOfInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/skipCallToUnderlyingValueOfInlineClass.kt"); + } + + @TestMetadata("suspendFunctionMangling.kt") + public void testSuspendFunctionMangling() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/suspendFunctionMangling.kt"); + } + + @TestMetadata("toStringOfInlineClassValue.kt") + public void testToStringOfInlineClassValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfInlineClassValue.kt"); + } + + @TestMetadata("toStringOfReferenceInlineClassValue.kt") + public void testToStringOfReferenceInlineClassValue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfReferenceInlineClassValue.kt"); + } + + @TestMetadata("uIntArrayIteratorWithoutBoxing.kt") + public void testUIntArrayIteratorWithoutBoxing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/uIntArrayIteratorWithoutBoxing.kt"); + } + + @TestMetadata("uIntArraySwapBoxing.kt") + public void testUIntArraySwapBoxing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/uIntArraySwapBoxing.kt"); + } + + @TestMetadata("unboxInlineClassAfterElvis.kt") + public void testUnboxInlineClassAfterElvis() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/unboxInlineClassAfterElvis.kt"); + } + + @TestMetadata("unboxInlineClassAfterSafeCall.kt") + public void testUnboxInlineClassAfterSafeCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/unboxInlineClassAfterSafeCall.kt"); + } + + @TestMetadata("unboxInlineClassFromParameterizedType.kt") + public void testUnboxInlineClassFromParameterizedType() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/unboxInlineClassFromParameterizedType.kt"); + } + + @TestMetadata("unboxInlineClassesAfterSmartCasts.kt") + public void testUnboxInlineClassesAfterSmartCasts() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/unboxInlineClassesAfterSmartCasts.kt"); + } + + @TestMetadata("unboxMethodCalledByInlineClass.kt") + public void testUnboxMethodCalledByInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/inlineClasses/unboxMethodCalledByInlineClass.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/innerClasses") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class InnerClasses extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInInnerClasses() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/innerClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("nestedClassInAnnotationArgument.kt") + public void testNestedClassInAnnotationArgument() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/innerClasses/nestedClassInAnnotationArgument.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/interfaces") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Interfaces extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + @TestMetadata("addedInterfaceBridge.kt") + public void testAddedInterfaceBridge() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/interfaces/addedInterfaceBridge.kt"); + } + + public void testAllFilesPresentInInterfaces() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/interfaces"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("firstInheritedMethodIsAbstract.kt") + public void testFirstInheritedMethodIsAbstract() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/interfaces/firstInheritedMethodIsAbstract.kt"); + } + + @TestMetadata("noAnyMethodsOnInterfaceInheritance.kt") + public void testNoAnyMethodsOnInterfaceInheritance() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/interfaces/noAnyMethodsOnInterfaceInheritance.kt"); + } + + @TestMetadata("noPrivateMemberInJavaInterface.kt") + public void testNoPrivateMemberInJavaInterface() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/interfaces/noPrivateMemberInJavaInterface.kt"); + } + + @TestMetadata("traitImplGeneratedOnce.kt") + public void testTraitImplGeneratedOnce() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/intrinsics") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Intrinsics extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInIntrinsics() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/intrinsics"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("javaObjectType.kt") + public void testJavaObjectType() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsics/javaObjectType.kt"); + } + + @TestMetadata("javaPrimitiveType.kt") + public void testJavaPrimitiveType() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsics/javaPrimitiveType.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/intrinsicsCompare") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class IntrinsicsCompare extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInIntrinsicsCompare() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/intrinsicsCompare"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("byteSmartCast_after.kt") + public void testByteSmartCast_after() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_after.kt"); + } + + @TestMetadata("byteSmartCast_before.kt") + public void testByteSmartCast_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_before.kt"); + } + + @TestMetadata("charSmartCast.kt") + public void testCharSmartCast() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/charSmartCast.kt"); + } + + @TestMetadata("differentTypes_after.kt") + public void testDifferentTypes_after() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/differentTypes_after.kt"); + } + + @TestMetadata("differentTypes_before.kt") + public void testDifferentTypes_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/differentTypes_before.kt"); + } + + @TestMetadata("intSmartCast_after.kt") + public void testIntSmartCast_after() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_after.kt"); + } + + @TestMetadata("intSmartCast_before.kt") + public void testIntSmartCast_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_before.kt"); + } + + @TestMetadata("longSmartCast.kt") + public void testLongSmartCast() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/longSmartCast.kt"); + } + + @TestMetadata("shortSmartCast_after.kt") + public void testShortSmartCast_after() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_after.kt"); + } + + @TestMetadata("shortSmartCast_before.kt") + public void testShortSmartCast_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_before.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/intrinsicsTrim") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class IntrinsicsTrim extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInIntrinsicsTrim() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/intrinsicsTrim"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("trimIndentNegative.kt") + public void testTrimIndentNegative() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsTrim/trimIndentNegative.kt"); + } + + @TestMetadata("trimIndentPositive.kt") + public void testTrimIndentPositive() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsTrim/trimIndentPositive.kt"); + } + + @TestMetadata("trimMarginNegative.kt") + public void testTrimMarginNegative() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsTrim/trimMarginNegative.kt"); + } + + @TestMetadata("trimMarginPositive.kt") + public void testTrimMarginPositive() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/intrinsicsTrim/trimMarginPositive.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/jvm8") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Jvm8 extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInJvm8() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/jvm8"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/jvm8/hashCode") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class HashCode extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInHashCode() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/jvm8/hashCode"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("dataClass.kt") + public void testDataClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/hashCode/dataClass.kt"); + } + + @TestMetadata("hashCode.kt") + public void testHashCode() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/hashCode/hashCode.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class JvmDefault extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInJvmDefault() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/allCompatibility") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class AllCompatibility extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInAllCompatibility() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/allCompatibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("defaultArgs.kt") + public void testDefaultArgs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/allCompatibility/defaultArgs.kt"); + } + + @TestMetadata("simpleDiamond.kt") + public void testSimpleDiamond() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/allCompatibility/simpleDiamond.kt"); + } + + @TestMetadata("simpleFunction.kt") + public void testSimpleFunction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/allCompatibility/simpleFunction.kt"); + } + + @TestMetadata("simpleFunctionWithAbstractOverride.kt") + public void testSimpleFunctionWithAbstractOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/allCompatibility/simpleFunctionWithAbstractOverride.kt"); + } + + @TestMetadata("simpleProperty.kt") + public void testSimpleProperty() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/allCompatibility/simpleProperty.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/compatibility") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Compatibility extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInCompatibility() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/compatibility"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("defaultArgs.kt") + public void testDefaultArgs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/compatibility/defaultArgs.kt"); + } + + @TestMetadata("simpleDiamond.kt") + public void testSimpleDiamond() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/compatibility/simpleDiamond.kt"); + } + + @TestMetadata("simpleFunction.kt") + public void testSimpleFunction() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/compatibility/simpleFunction.kt"); + } + + @TestMetadata("simpleFunctionWithAbstractOverride.kt") + public void testSimpleFunctionWithAbstractOverride() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/compatibility/simpleFunctionWithAbstractOverride.kt"); + } + + @TestMetadata("simpleProperty.kt") + public void testSimpleProperty() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/jvm8/jvmDefault/compatibility/simpleProperty.kt"); + } + } + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/lazyCodegen") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class LazyCodegen extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInLazyCodegen() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/lazyCodegen"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("inlineConstInsideComparison.kt") + public void testInlineConstInsideComparison() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lazyCodegen/inlineConstInsideComparison.kt"); + } + + @TestMetadata("negateConst.kt") + public void testNegateConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lazyCodegen/negateConst.kt"); + } + + @TestMetadata("negateConstantCompare.kt") + public void testNegateConstantCompare() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lazyCodegen/negateConstantCompare.kt"); + } + + @TestMetadata("negateObjectComp.kt") + public void testNegateObjectComp() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lazyCodegen/negateObjectComp.kt"); + } + + @TestMetadata("negateObjectCompChaing.kt") + public void testNegateObjectCompChaing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lazyCodegen/negateObjectCompChaing.kt"); + } + + @TestMetadata("negateVar.kt") + public void testNegateVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lazyCodegen/negateVar.kt"); + } + + @TestMetadata("negateVarChain.kt") + public void testNegateVarChain() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lazyCodegen/negateVarChain.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/lineNumbers") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class LineNumbers extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInLineNumbers() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/lineNumbers"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("ifConsts.kt") + public void testIfConsts() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/ifConsts.kt"); + } + + @TestMetadata("ifElse.kt") + public void testIfElse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/ifElse.kt"); + } + + @TestMetadata("ifFalse.kt") + public void testIfFalse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/ifFalse.kt"); + } + + @TestMetadata("ifFalseElse.kt") + public void testIfFalseElse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/ifFalseElse.kt"); + } + + @TestMetadata("ifTrue.kt") + public void testIfTrue() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/ifTrue.kt"); + } + + @TestMetadata("ifTrueElse.kt") + public void testIfTrueElse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/ifTrueElse.kt"); + } + + @TestMetadata("inlineCondition.kt") + public void testInlineCondition() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition.kt"); + } + + @TestMetadata("inlineCondition2.kt") + public void testInlineCondition2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition2.kt"); + } + + @TestMetadata("inlineLambdaObjectInit.kt") + public void testInlineLambdaObjectInit() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/inlineLambdaObjectInit.kt"); + } + + @TestMetadata("singleThen.kt") + public void testSingleThen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/singleThen.kt"); + } + + @TestMetadata("tryCatch.kt") + public void testTryCatch() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/tryCatch.kt"); + } + + @TestMetadata("when.kt") + public void testWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/when.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/localInitializationLVT") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class LocalInitializationLVT extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInLocalInitializationLVT() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/localInitializationLVT"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("boxing.kt") + public void testBoxing() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/boxing.kt"); + } + + @TestMetadata("boxingVar.kt") + public void testBoxingVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/boxingVar.kt"); + } + + @TestMetadata("contract.kt") + public void testContract() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/contract.kt"); + } + + @TestMetadata("contractVar.kt") + public void testContractVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/contractVar.kt"); + } + + @TestMetadata("generics.kt") + public void testGenerics() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/generics.kt"); + } + + @TestMetadata("genericsVar.kt") + public void testGenericsVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/genericsVar.kt"); + } + + @TestMetadata("ifStatement.kt") + public void testIfStatement() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/ifStatement.kt"); + } + + @TestMetadata("ifStatementVar.kt") + public void testIfStatementVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/ifStatementVar.kt"); + } + + @TestMetadata("ifStatementWithoutBlock.kt") + public void testIfStatementWithoutBlock() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/ifStatementWithoutBlock.kt"); + } + + @TestMetadata("ifStatementWithoutBlockVar.kt") + public void testIfStatementWithoutBlockVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/ifStatementWithoutBlockVar.kt"); + } + + @TestMetadata("inlineClass.kt") + public void testInlineClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/inlineClass.kt"); + } + + @TestMetadata("inlineClassVar.kt") + public void testInlineClassVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/inlineClassVar.kt"); + } + + @TestMetadata("lateinit.kt") + public void testLateinit() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/lateinit.kt"); + } + + @TestMetadata("run.kt") + public void testRun() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/run.kt"); + } + + @TestMetadata("runVar.kt") + public void testRunVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/runVar.kt"); + } + + @TestMetadata("singleBlock.kt") + public void testSingleBlock() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/singleBlock.kt"); + } + + @TestMetadata("singleBlockVar.kt") + public void testSingleBlockVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/singleBlockVar.kt"); + } + + @TestMetadata("whenStatement.kt") + public void testWhenStatement() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/whenStatement.kt"); + } + + @TestMetadata("whenStatementVar.kt") + public void testWhenStatementVar() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/localInitializationLVT/whenStatementVar.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/mangling") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Mangling extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInMangling() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/mangling"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("parentheses.kt") + public void testParentheses() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/mangling/parentheses.kt"); + } + + @TestMetadata("parenthesesNoSanitize.kt") + public void testParenthesesNoSanitize() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/mangling/parenthesesNoSanitize.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/multifileClasses") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class MultifileClasses extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInMultifileClasses() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/multifileClasses"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("defaultFunctionInMultifileClass.kt") + public void testDefaultFunctionInMultifileClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/multifileClasses/defaultFunctionInMultifileClass.kt"); + } + + @TestMetadata("optimizedMultifileClassFacadeMethods.kt") + public void testOptimizedMultifileClassFacadeMethods() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/multifileClasses/optimizedMultifileClassFacadeMethods.kt"); + } + + @TestMetadata("privateFunctionName.kt") + public void testPrivateFunctionName() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/notNullAssertions") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class NotNullAssertions extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInNotNullAssertions() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/notNullAssertions"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("arrayListGet.kt") + public void testArrayListGet() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/arrayListGet.kt"); + } + + @TestMetadata("assertionForNotNullCaptured.kt") + public void testAssertionForNotNullCaptured() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/assertionForNotNullCaptured.kt"); + } + + @TestMetadata("assertionForNotNullTypeParam.kt") + public void testAssertionForNotNullTypeParam() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/assertionForNotNullTypeParam.kt"); + } + + @TestMetadata("assertionForNotNullTypeParam_1_4.kt") + public void testAssertionForNotNullTypeParam_1_4() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/assertionForNotNullTypeParam_1_4.kt"); + } + + @TestMetadata("doNotGenerateParamAssertions.kt") + public void testDoNotGenerateParamAssertions() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/doNotGenerateParamAssertions.kt"); + } + + @TestMetadata("javaMultipleSubstitutions.kt") + public void testJavaMultipleSubstitutions() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/javaMultipleSubstitutions.kt"); + } + + @TestMetadata("noAssertionForNullableCaptured.kt") + public void testNoAssertionForNullableCaptured() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/noAssertionForNullableCaptured.kt"); + } + + @TestMetadata("noAssertionForNullableGenericMethod.kt") + public void testNoAssertionForNullableGenericMethod() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/noAssertionForNullableGenericMethod.kt"); + } + + @TestMetadata("noAssertionForNullableGenericMethodCall.kt") + public void testNoAssertionForNullableGenericMethodCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/noAssertionForNullableGenericMethodCall.kt"); + } + + @TestMetadata("noAssertionForPrivateMethod.kt") + public void testNoAssertionForPrivateMethod() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/noAssertionForPrivateMethod.kt"); + } + + @TestMetadata("noAssertionsForKotlin.kt") + public void testNoAssertionsForKotlin() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/notNullAssertions/noAssertionsForKotlin.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/nullCheckOptimization") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class NullCheckOptimization extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInNullCheckOptimization() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/nullCheckOptimization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("alreadyCheckedForIs.kt") + public void testAlreadyCheckedForIs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/alreadyCheckedForIs.kt"); + } + + @TestMetadata("alreadyCheckedForNull.kt") + public void testAlreadyCheckedForNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/alreadyCheckedForNull.kt"); + } + + @TestMetadata("deterministicNotNullChecks.kt") + public void testDeterministicNotNullChecks() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/deterministicNotNullChecks.kt"); + } + + @TestMetadata("expressionValueIsNotNull.kt") + public void testExpressionValueIsNotNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNull.kt"); + } + + @TestMetadata("expressionValueIsNotNullAfterExclExcl.kt") + public void testExpressionValueIsNotNullAfterExclExcl() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNullAfterExclExcl.kt"); + } + + @TestMetadata("expressionValueIsNotNullTwice.kt") + public void testExpressionValueIsNotNullTwice() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNullTwice.kt"); + } + + @TestMetadata("ifNullEqualsNull.kt") + public void testIfNullEqualsNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifNullEqualsNull.kt"); + } + + @TestMetadata("ifNullEqualsNullInline.kt") + public void testIfNullEqualsNullInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifNullEqualsNullInline.kt"); + } + + @TestMetadata("ifUnitEqualsNull.kt") + public void testIfUnitEqualsNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifUnitEqualsNull.kt"); + } + + @TestMetadata("ifUnitEqualsNullInline.kt") + public void testIfUnitEqualsNullInline() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/ifUnitEqualsNullInline.kt"); + } + + @TestMetadata("kt12839.kt") + public void testKt12839() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/kt12839.kt"); + } + + @TestMetadata("multipleExclExcl_1_4.kt") + public void testMultipleExclExcl_1_4() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/multipleExclExcl_1_4.kt"); + } + + @TestMetadata("notNullAsNotNullable.kt") + public void testNotNullAsNotNullable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/notNullAsNotNullable.kt"); + } + + @TestMetadata("notNullExpressionValueTwice_1_4.kt") + public void testNotNullExpressionValueTwice_1_4() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/notNullExpressionValueTwice_1_4.kt"); + } + + @TestMetadata("nullCheckAfterExclExcl_1_4.kt") + public void testNullCheckAfterExclExcl_1_4() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/nullCheckAfterExclExcl_1_4.kt"); + } + + @TestMetadata("nullabilityAssertionOnDispatchReceiver.kt") + public void testNullabilityAssertionOnDispatchReceiver() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/nullabilityAssertionOnDispatchReceiver.kt"); + } + + @TestMetadata("primitiveCheck.kt") + public void testPrimitiveCheck() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/primitiveCheck.kt"); + } + + @TestMetadata("redundantSafeCall.kt") + public void testRedundantSafeCall() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall.kt"); + } + + @TestMetadata("redundantSafeCall_1_4.kt") + public void testRedundantSafeCall_1_4() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall_1_4.kt"); + } + + @TestMetadata("reifiedIs.kt") + public void testReifiedIs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedIs.kt"); + } + + @TestMetadata("reifiedNullIs.kt") + public void testReifiedNullIs() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/reifiedNullIs.kt"); + } + + @TestMetadata("trivialInstanceOf.kt") + public void testTrivialInstanceOf() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/trivialInstanceOf.kt"); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/nullCheckOptimization/localLateinit") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class LocalLateinit extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInLocalLateinit() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/nullCheckOptimization/localLateinit"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("checkedAlways.kt") + public void testCheckedAlways() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/localLateinit/checkedAlways.kt"); + } + + @TestMetadata("checkedOnce.kt") + public void testCheckedOnce() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/localLateinit/checkedOnce.kt"); + } + + @TestMetadata("initialized.kt") + public void testInitialized() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/nullCheckOptimization/localLateinit/initialized.kt"); + } + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/optimizedDelegatedProperties") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class OptimizedDelegatedProperties extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInOptimizedDelegatedProperties() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/optimizedDelegatedProperties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("definedInSources.kt") + public void testDefinedInSources() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/optimizedDelegatedProperties/definedInSources.kt"); + } + + @TestMetadata("inSeparateModule.kt") + public void testInSeparateModule() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/optimizedDelegatedProperties/inSeparateModule.kt"); + } + + @TestMetadata("lazy.kt") + public void testLazy() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/optimizedDelegatedProperties/lazy.kt"); + } + + @TestMetadata("withNonNullMetadataParameter.kt") + public void testWithNonNullMetadataParameter() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/optimizedDelegatedProperties/withNonNullMetadataParameter.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/parameterlessMain") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ParameterlessMain extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInParameterlessMain() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/parameterlessMain"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("dontGenerateOnExtensionReceiver.kt") + public void testDontGenerateOnExtensionReceiver() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/parameterlessMain/dontGenerateOnExtensionReceiver.kt"); + } + + @TestMetadata("dontGenerateOnJvmNameMain.kt") + public void testDontGenerateOnJvmNameMain() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/parameterlessMain/dontGenerateOnJvmNameMain.kt"); + } + + @TestMetadata("dontGenerateOnJvmOverloads.kt") + public void testDontGenerateOnJvmOverloads() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/parameterlessMain/dontGenerateOnJvmOverloads.kt"); + } + + @TestMetadata("dontGenerateOnMain.kt") + public void testDontGenerateOnMain() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/parameterlessMain/dontGenerateOnMain.kt"); + } + + @TestMetadata("dontGenerateOnMainExtension.kt") + public void testDontGenerateOnMainExtension() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/parameterlessMain/dontGenerateOnMainExtension.kt"); + } + + @TestMetadata("dontGenerateOnNullableArray.kt") + public void testDontGenerateOnNullableArray() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/parameterlessMain/dontGenerateOnNullableArray.kt"); + } + + @TestMetadata("dontGenerateOnVarargsString.kt") + public void testDontGenerateOnVarargsString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/parameterlessMain/dontGenerateOnVarargsString.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/properties") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Properties extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInProperties() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/properties"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/properties/lateinit") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Lateinit extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInLateinit() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/properties/lateinit"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("companionObject.kt") + public void testCompanionObject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/properties/lateinit/companionObject.kt"); + } + + @TestMetadata("companionObjectFromLambda.kt") + public void testCompanionObjectFromLambda() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/properties/lateinit/companionObjectFromLambda.kt"); + } + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/ranges") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Ranges extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInRanges() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/ranges"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("ifNotInRange.kt") + public void testIfNotInRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/ifNotInRange.kt"); + } + + @TestMetadata("inArrayIndices.kt") + public void testInArrayIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inArrayIndices.kt"); + } + + @TestMetadata("inCharSequenceIndices.kt") + public void testInCharSequenceIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inCharSequenceIndices.kt"); + } + + @TestMetadata("inCollectionIndices.kt") + public void testInCollectionIndices() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inCollectionIndices.kt"); + } + + @TestMetadata("inComparableRangeLiteral.kt") + public void testInComparableRangeLiteral() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt"); + } + + @TestMetadata("inMixedUnsignedRange.kt") + public void testInMixedUnsignedRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange.kt"); + } + + @TestMetadata("inMixedUnsignedRange_2.kt") + public void testInMixedUnsignedRange_2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange_2.kt"); + } + + @TestMetadata("inNonMatchingRangeIntrinsified.kt") + public void testInNonMatchingRangeIntrinsified() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inNonMatchingRangeIntrinsified.kt"); + } + + @TestMetadata("inOptimizableRange.kt") + public void testInOptimizableRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inOptimizableRange.kt"); + } + + @TestMetadata("inOptimizableUnsignedRange.kt") + public void testInOptimizableUnsignedRange() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inOptimizableUnsignedRange.kt"); + } + + @TestMetadata("inUntil.kt") + public void testInUntil() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/inUntil.kt"); + } + + @TestMetadata("noDupXForLiteralRangeContains.kt") + public void testNoDupXForLiteralRangeContains() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/ranges/noDupXForLiteralRangeContains.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/sam") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Sam extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInSam() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/sam"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("samWrapperForNullInitialization.kt") + public void testSamWrapperForNullInitialization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/sam/samWrapperForNullInitialization.kt"); + } + + @TestMetadata("samWrapperForNullableInitialization.kt") + public void testSamWrapperForNullableInitialization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/sam/samWrapperForNullableInitialization.kt"); + } + + @TestMetadata("samWrapperOfLambda.kt") + public void testSamWrapperOfLambda() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/sam/samWrapperOfLambda.kt"); + } + + @TestMetadata("samWrapperOfReference.kt") + public void testSamWrapperOfReference() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/sam/samWrapperOfReference.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/statements") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Statements extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInStatements() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/statements"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("ifSingleBranch.kt") + public void testIfSingleBranch() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/ifSingleBranch.kt"); + } + + @TestMetadata("ifThenElse.kt") + public void testIfThenElse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/ifThenElse.kt"); + } + + @TestMetadata("ifThenElseEmpty.kt") + public void testIfThenElseEmpty() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/ifThenElseEmpty.kt"); + } + + @TestMetadata("labeled.kt") + public void testLabeled() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/labeled.kt"); + } + + @TestMetadata("statementsComposition.kt") + public void testStatementsComposition() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/statementsComposition.kt"); + } + + @TestMetadata("tryCatchFinally.kt") + public void testTryCatchFinally() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/tryCatchFinally.kt"); + } + + @TestMetadata("when.kt") + public void testWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/when.kt"); + } + + @TestMetadata("whenSubject.kt") + public void testWhenSubject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/statements/whenSubject.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/staticFields") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class StaticFields extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInStaticFields() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/staticFields"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("classObject.kt") + public void testClassObject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/staticFields/classObject.kt"); + } + + @TestMetadata("object.kt") + public void testObject() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/staticFields/object.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/storeStackBeforeInline") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class StoreStackBeforeInline extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInStoreStackBeforeInline() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/storeStackBeforeInline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("differentTypes.kt") + public void testDifferentTypes() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/differentTypes.kt"); + } + + @TestMetadata("primitiveMerge.kt") + public void testPrimitiveMerge() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/primitiveMerge.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/simple.kt"); + } + + @TestMetadata("unreachableMarker.kt") + public void testUnreachableMarker() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/unreachableMarker.kt"); + } + + @TestMetadata("withLambda.kt") + public void testWithLambda() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/storeStackBeforeInline/withLambda.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/stringOperations") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class StringOperations extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInStringOperations() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/stringOperations"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("concat.kt") + public void testConcat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/concat.kt"); + } + + @TestMetadata("constConcat.kt") + public void testConstConcat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/constConcat.kt"); + } + + @TestMetadata("constValConcat.kt") + public void testConstValConcat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/constValConcat.kt"); + } + + @TestMetadata("doNotAppendEmptyString.kt") + public void testDoNotAppendEmptyString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/doNotAppendEmptyString.kt"); + } + + @TestMetadata("interpolation.kt") + public void testInterpolation() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/interpolation.kt"); + } + + @TestMetadata("kt15235.kt") + public void testKt15235() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/kt15235.kt"); + } + + @TestMetadata("kt19037.kt") + public void testKt19037() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/kt19037.kt"); + } + + @TestMetadata("multipleNestedConcat.kt") + public void testMultipleNestedConcat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/multipleNestedConcat.kt"); + } + + @TestMetadata("nestedConcat.kt") + public void testNestedConcat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/nestedConcat.kt"); + } + + @TestMetadata("nonNullableStringPlus.kt") + public void testNonNullableStringPlus() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/nonNullableStringPlus.kt"); + } + + @TestMetadata("nullableStringPlus.kt") + public void testNullableStringPlus() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/nullableStringPlus.kt"); + } + + @TestMetadata("partiallyConstConcat.kt") + public void testPartiallyConstConcat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/partiallyConstConcat.kt"); + } + + @TestMetadata("plusAssign.kt") + public void testPlusAssign() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/plusAssign.kt"); + } + + @TestMetadata("primitiveToString.kt") + public void testPrimitiveToString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/primitiveToString.kt"); + } + + @TestMetadata("primitiveToStringNotOptimizable.kt") + public void testPrimitiveToStringNotOptimizable() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/primitiveToStringNotOptimizable.kt"); + } + + @TestMetadata("primitivesAsStringTemplates.kt") + public void testPrimitivesAsStringTemplates() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/primitivesAsStringTemplates.kt"); + } + + @TestMetadata("singleConcat.kt") + public void testSingleConcat() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/singleConcat.kt"); + } + + @TestMetadata("stringBuilderToString.kt") + public void testStringBuilderToString() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/stringBuilderToString.kt"); + } + + @TestMetadata("stringPlus.kt") + public void testStringPlus() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/stringPlus.kt"); + } + + @TestMetadata("useAppendCharForOneCharStringInTemplate.kt") + public void testUseAppendCharForOneCharStringInTemplate() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/useAppendCharForOneCharStringInTemplate.kt"); + } + + @TestMetadata("useAppendCharForOneCharStringInTemplate_2.kt") + public void testUseAppendCharForOneCharStringInTemplate_2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/useAppendCharForOneCharStringInTemplate_2.kt"); + } + + @TestMetadata("useAppendCharForOneCharStringUsingPlus.kt") + public void testUseAppendCharForOneCharStringUsingPlus() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/stringOperations/useAppendCharForOneCharStringUsingPlus.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/toArray") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class ToArray extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInToArray() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/toArray"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("noAccessorForToArray.kt") + public void testNoAccessorForToArray() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/toArray/noAccessorForToArray.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/unsignedTypes") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class UnsignedTypes extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInUnsignedTypes() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/unsignedTypes"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("unsignedIntCompare_before.kt") + public void testUnsignedIntCompare_before() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntCompare_before.kt"); + } + + @TestMetadata("unsignedIntCompare_jvm18.kt") + public void testUnsignedIntCompare_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntCompare_jvm18.kt"); + } + + @TestMetadata("unsignedIntDivide_jvm18.kt") + public void testUnsignedIntDivide_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntDivide_jvm18.kt"); + } + + @TestMetadata("unsignedIntRemainder_jvm18.kt") + public void testUnsignedIntRemainder_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntRemainder_jvm18.kt"); + } + + @TestMetadata("unsignedIntSmartCasts_jvm18.kt") + public void testUnsignedIntSmartCasts_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntSmartCasts_jvm18.kt"); + } + + @TestMetadata("unsignedIntToString_jvm18.kt") + public void testUnsignedIntToString_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedIntToString_jvm18.kt"); + } + + @TestMetadata("unsignedLongCompare_jvm18.kt") + public void testUnsignedLongCompare_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedLongCompare_jvm18.kt"); + } + + @TestMetadata("unsignedLongDivide_jvm18.kt") + public void testUnsignedLongDivide_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedLongDivide_jvm18.kt"); + } + + @TestMetadata("unsignedLongRemainder_jvm18.kt") + public void testUnsignedLongRemainder_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedLongRemainder_jvm18.kt"); + } + + @TestMetadata("unsignedLongToString_jvm18.kt") + public void testUnsignedLongToString_jvm18() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/unsignedLongToString_jvm18.kt"); + } + + @TestMetadata("whenByUnsigned.kt") + public void testWhenByUnsigned() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/unsignedTypes/whenByUnsigned.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/varargs") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Varargs extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInVarargs() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/varargs"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("doNotCopyImmediatelyCreatedArrays.kt") + public void testDoNotCopyImmediatelyCreatedArrays() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/varargs/doNotCopyImmediatelyCreatedArrays.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/when") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class When extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInWhen() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/when"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("edgeCases.kt") + public void testEdgeCases() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/edgeCases.kt"); + } + + @TestMetadata("exhaustiveWhenInitialization.kt") + public void testExhaustiveWhenInitialization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/exhaustiveWhenInitialization.kt"); + } + + @TestMetadata("exhaustiveWhenReturn.kt") + public void testExhaustiveWhenReturn() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/exhaustiveWhenReturn.kt"); + } + + @TestMetadata("exhaustiveWhenUnit.kt") + public void testExhaustiveWhenUnit() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/exhaustiveWhenUnit.kt"); + } + + @TestMetadata("exhaustiveWhenUnitStatement.kt") + public void testExhaustiveWhenUnitStatement() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/exhaustiveWhenUnitStatement.kt"); + } + + @TestMetadata("inlineConstValsInsideWhen.kt") + public void testInlineConstValsInsideWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/inlineConstValsInsideWhen.kt"); + } + + @TestMetadata("integralWhenWithNoInlinedConstants.kt") + public void testIntegralWhenWithNoInlinedConstants() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/integralWhenWithNoInlinedConstants.kt"); + } + + @TestMetadata("kt18818.kt") + public void testKt18818() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/kt18818.kt"); + } + + @TestMetadata("lookupSwitch.kt") + public void testLookupSwitch() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/lookupSwitch.kt"); + } + + @TestMetadata("lookupSwitchWithSubjectVal.kt") + public void testLookupSwitchWithSubjectVal() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/lookupSwitchWithSubjectVal.kt"); + } + + @TestMetadata("noBoxingInDefaultWhenWithSpecialCases.kt") + public void testNoBoxingInDefaultWhenWithSpecialCases() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/noBoxingInDefaultWhenWithSpecialCases.kt"); + } + + @TestMetadata("qualifiedConstValsInsideWhen.kt") + public void testQualifiedConstValsInsideWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/qualifiedConstValsInsideWhen.kt"); + } + + @TestMetadata("sealedWhenInitialization.kt") + public void testSealedWhenInitialization() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/sealedWhenInitialization.kt"); + } + + @TestMetadata("simpleConstValsInsideWhen.kt") + public void testSimpleConstValsInsideWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/simpleConstValsInsideWhen.kt"); + } + + @TestMetadata("stringSwitchWithSubjectVal.kt") + public void testStringSwitchWithSubjectVal() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/stringSwitchWithSubjectVal.kt"); + } + + @TestMetadata("subjectValHasLocalVariableSlot.kt") + public void testSubjectValHasLocalVariableSlot() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/subjectValHasLocalVariableSlot.kt"); + } + + @TestMetadata("subjectValInEnumWhenHasLocalVariableSlot.kt") + public void testSubjectValInEnumWhenHasLocalVariableSlot() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/subjectValInEnumWhenHasLocalVariableSlot.kt"); + } + + @TestMetadata("subjectValInIntWhenHasLocalVariableSlot.kt") + public void testSubjectValInIntWhenHasLocalVariableSlot() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/subjectValInIntWhenHasLocalVariableSlot.kt"); + } + + @TestMetadata("subjectValInStringWhenHasLocalVariableSlot.kt") + public void testSubjectValInStringWhenHasLocalVariableSlot() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/subjectValInStringWhenHasLocalVariableSlot.kt"); + } + + @TestMetadata("switchOptimizationDuplicates.kt") + public void testSwitchOptimizationDuplicates() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/switchOptimizationDuplicates.kt"); + } + + @TestMetadata("tableSwitch.kt") + public void testTableSwitch() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/tableSwitch.kt"); + } + + @TestMetadata("tableSwitchWithSubjectVal.kt") + public void testTableSwitchWithSubjectVal() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/tableSwitchWithSubjectVal.kt"); + } + + @TestMetadata("whenNull.kt") + public void testWhenNull() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/whenNull.kt"); + } + + @TestMetadata("whenZero.kt") + public void testWhenZero() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/when/whenZero.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/whenEnumOptimization") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class WhenEnumOptimization extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInWhenEnumOptimization() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/whenEnumOptimization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("bigEnum.kt") + public void testBigEnum() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/bigEnum.kt"); + } + + @TestMetadata("differentEnumClasses.kt") + public void testDifferentEnumClasses() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/differentEnumClasses.kt"); + } + + @TestMetadata("differentEnumClasses2.kt") + public void testDifferentEnumClasses2() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/differentEnumClasses2.kt"); + } + + @TestMetadata("duplicatingItems.kt") + public void testDuplicatingItems() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/duplicatingItems.kt"); + } + + @TestMetadata("expression.kt") + public void testExpression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/expression.kt"); + } + + @TestMetadata("functionLiteralInTopLevel.kt") + public void testFunctionLiteralInTopLevel() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/functionLiteralInTopLevel.kt"); + } + + @TestMetadata("importedEnumEntry.kt") + public void testImportedEnumEntry() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/importedEnumEntry.kt"); + } + + @TestMetadata("kt14597_full.kt") + public void testKt14597_full() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/kt14597_full.kt"); + } + + @TestMetadata("kt14802.kt") + public void testKt14802() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/kt14802.kt"); + } + + @TestMetadata("kt15806.kt") + public void testKt15806() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/kt15806.kt"); + } + + @TestMetadata("manyWhensWithinClass.kt") + public void testManyWhensWithinClass() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/manyWhensWithinClass.kt"); + } + + @TestMetadata("nonConstantEnum.kt") + public void testNonConstantEnum() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/nonConstantEnum.kt"); + } + + @TestMetadata("nullability.kt") + public void testNullability() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/nullability.kt"); + } + + @TestMetadata("subjectAny.kt") + public void testSubjectAny() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/subjectAny.kt"); + } + + @TestMetadata("withoutElse.kt") + public void testWithoutElse() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenEnumOptimization/withoutElse.kt"); + } + } + + @TestMetadata("compiler/testData/codegen/bytecodeText/whenStringOptimization") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class WhenStringOptimization extends AbstractFirBytecodeTextTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTestWithCustomIgnoreDirective(this::doTest, TargetBackend.JVM_IR, testDataFilePath, "// IGNORE_BACKEND_FIR: "); + } + + public void testAllFilesPresentInWhenStringOptimization() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/bytecodeText/whenStringOptimization"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); + } + + @TestMetadata("denseHashCode.kt") + public void testDenseHashCode() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/denseHashCode.kt"); + } + + @TestMetadata("duplicatingItems.kt") + public void testDuplicatingItems() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/duplicatingItems.kt"); + } + + @TestMetadata("duplicatingItemsSameHashCodeFewBranches.kt") + public void testDuplicatingItemsSameHashCodeFewBranches() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/duplicatingItemsSameHashCodeFewBranches.kt"); + } + + @TestMetadata("duplicatingItemsSameHashCodeMoreBranches.kt") + public void testDuplicatingItemsSameHashCodeMoreBranches() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/duplicatingItemsSameHashCodeMoreBranches.kt"); + } + + @TestMetadata("expression.kt") + public void testExpression() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/expression.kt"); + } + + @TestMetadata("inlineStringConstInsideWhen.kt") + public void testInlineStringConstInsideWhen() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/inlineStringConstInsideWhen.kt"); + } + + @TestMetadata("nonInlinedConst.kt") + public void testNonInlinedConst() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/nonInlinedConst.kt"); + } + + @TestMetadata("nullability.kt") + public void testNullability() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/nullability.kt"); + } + + @TestMetadata("sameHashCode.kt") + public void testSameHashCode() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/sameHashCode.kt"); + } + + @TestMetadata("statement.kt") + public void testStatement() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/whenStringOptimization/statement.kt"); + } + } +} diff --git a/compiler/testData/codegen/bytecodeText/boxingOptimization/safeCallToPrimitiveEquality.kt b/compiler/testData/codegen/bytecodeText/boxingOptimization/safeCallToPrimitiveEquality.kt index dbcc8173912..8bdb3e09c21 100644 --- a/compiler/testData/codegen/bytecodeText/boxingOptimization/safeCallToPrimitiveEquality.kt +++ b/compiler/testData/codegen/bytecodeText/boxingOptimization/safeCallToPrimitiveEquality.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR // TODO KT-36646 Don't box primitive values in equality comparison with nullable primitive values in JVM_IR diff --git a/compiler/testData/codegen/bytecodeText/boxingOptimization/unsignedRangeIteratorSpecialization.kt b/compiler/testData/codegen/bytecodeText/boxingOptimization/unsignedRangeIteratorSpecialization.kt index 2baf52f43ef..e50d129f2d6 100644 --- a/compiler/testData/codegen/bytecodeText/boxingOptimization/unsignedRangeIteratorSpecialization.kt +++ b/compiler/testData/codegen/bytecodeText/boxingOptimization/unsignedRangeIteratorSpecialization.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // IGNORE_BACKEND: JVM, JVM_IR // ^ TODO support new mangling rules in optimizer diff --git a/compiler/testData/codegen/bytecodeText/bridgeForFakeOverride.kt b/compiler/testData/codegen/bytecodeText/bridgeForFakeOverride.kt index 2f481c74fc3..a7c09880025 100644 --- a/compiler/testData/codegen/bytecodeText/bridgeForFakeOverride.kt +++ b/compiler/testData/codegen/bytecodeText/bridgeForFakeOverride.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR interface A { fun foo(): Any } diff --git a/compiler/testData/codegen/bytecodeText/builtinFunctions/contains.kt b/compiler/testData/codegen/bytecodeText/builtinFunctions/contains.kt index 4422a29be04..5c27e142624 100644 --- a/compiler/testData/codegen/bytecodeText/builtinFunctions/contains.kt +++ b/compiler/testData/codegen/bytecodeText/builtinFunctions/contains.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR abstract class A1 : MutableCollection { override fun contains(o: Q): Boolean { throw UnsupportedOperationException() diff --git a/compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/abstractList.kt b/compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/abstractList.kt index 474ecbc0b74..58c312ddee0 100644 --- a/compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/abstractList.kt +++ b/compiler/testData/codegen/bytecodeText/builtinFunctions/genericParameterBridge/abstractList.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR abstract class A3 : java.util.AbstractList() abstract class A4 : java.util.AbstractList() { override fun contains(o: W): Boolean { diff --git a/compiler/testData/codegen/bytecodeText/builtinFunctions/size.kt b/compiler/testData/codegen/bytecodeText/builtinFunctions/size.kt index dda5e3f62cb..0000f80a425 100644 --- a/compiler/testData/codegen/bytecodeText/builtinFunctions/size.kt +++ b/compiler/testData/codegen/bytecodeText/builtinFunctions/size.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR abstract class A1 : Collection { override val size: Int get() = 1 } diff --git a/compiler/testData/codegen/bytecodeText/callableReference/boundFieldReferenceInInline.kt b/compiler/testData/codegen/bytecodeText/callableReference/boundFieldReferenceInInline.kt index 108e782182f..ee0942d426b 100644 --- a/compiler/testData/codegen/bytecodeText/callableReference/boundFieldReferenceInInline.kt +++ b/compiler/testData/codegen/bytecodeText/callableReference/boundFieldReferenceInInline.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: JClass.java public class JClass { diff --git a/compiler/testData/codegen/bytecodeText/callableReference/unboundFieldReferenceInInline.kt b/compiler/testData/codegen/bytecodeText/callableReference/unboundFieldReferenceInInline.kt index 30e77d5baa7..f9a7c52576b 100644 --- a/compiler/testData/codegen/bytecodeText/callableReference/unboundFieldReferenceInInline.kt +++ b/compiler/testData/codegen/bytecodeText/callableReference/unboundFieldReferenceInInline.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: JClass.java public class JClass { diff --git a/compiler/testData/codegen/bytecodeText/constClosureOptimization.kt b/compiler/testData/codegen/bytecodeText/constClosureOptimization.kt index c9724cf4d42..65e28073b2e 100644 --- a/compiler/testData/codegen/bytecodeText/constClosureOptimization.kt +++ b/compiler/testData/codegen/bytecodeText/constClosureOptimization.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR // TODO KT-36637 Trivial closure optimizatin in JVM_IR diff --git a/compiler/testData/codegen/bytecodeText/constProperty/noInline.kt b/compiler/testData/codegen/bytecodeText/constProperty/noInline.kt index 08f5f827381..35bf8782acd 100644 --- a/compiler/testData/codegen/bytecodeText/constProperty/noInline.kt +++ b/compiler/testData/codegen/bytecodeText/constProperty/noInline.kt @@ -1,4 +1,5 @@ // !LANGUAGE: -InlineConstVals +// IGNORE_BACKEND_FIR: JVM_IR const val z = 0 diff --git a/compiler/testData/codegen/bytecodeText/constantConditions/inlineIfFalse.kt b/compiler/testData/codegen/bytecodeText/constantConditions/inlineIfFalse.kt index e271a5b29ca..dbc41b5b156 100644 --- a/compiler/testData/codegen/bytecodeText/constantConditions/inlineIfFalse.kt +++ b/compiler/testData/codegen/bytecodeText/constantConditions/inlineIfFalse.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR package inlineInIfFalseDex fun inlineIfFalse() { diff --git a/compiler/testData/codegen/bytecodeText/constants/inlineUnsignedIntConstant.kt b/compiler/testData/codegen/bytecodeText/constants/inlineUnsignedIntConstant.kt index eeb05ef1dd9..aaeae9efd69 100644 --- a/compiler/testData/codegen/bytecodeText/constants/inlineUnsignedIntConstant.kt +++ b/compiler/testData/codegen/bytecodeText/constants/inlineUnsignedIntConstant.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // FILE: uint.kt diff --git a/compiler/testData/codegen/bytecodeText/coroutines/debug/localVariableCorrectLabel.kt b/compiler/testData/codegen/bytecodeText/coroutines/debug/localVariableCorrectLabel.kt index 8974bbcc549..5c5674b4dde 100644 --- a/compiler/testData/codegen/bytecodeText/coroutines/debug/localVariableCorrectLabel.kt +++ b/compiler/testData/codegen/bytecodeText/coroutines/debug/localVariableCorrectLabel.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR import kotlin.sequences.* import kotlin.experimental.* diff --git a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/inlineClassBoxingInSuspendFunReturn_Primitive.kt b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/inlineClassBoxingInSuspendFunReturn_Primitive.kt index 759f4e7c392..0782f7f426a 100644 --- a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/inlineClassBoxingInSuspendFunReturn_Primitive.kt +++ b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/inlineClassBoxingInSuspendFunReturn_Primitive.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR inline class ICInt(val x: Int) // unbox-impl in generated 'equals' diff --git a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_Any.kt b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_Any.kt index 2ccf399405e..9ab22dfd5f8 100644 --- a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_Any.kt +++ b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_Any.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR inline class ICAny(val x: Any) diff --git a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_InlineAny.kt b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_InlineAny.kt index c41d9c48729..4ac93d801b9 100644 --- a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_InlineAny.kt +++ b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_InlineAny.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR inline class IC0(val x: Any) // IC0.unbox-impl in generated 'equals' diff --git a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_SameJvmType.kt b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_SameJvmType.kt index 3e9f5f1e2ab..672c1425b5a 100644 --- a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_SameJvmType.kt +++ b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_SameJvmType.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR interface I diff --git a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_String.kt b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_String.kt index f5d15e1f5ac..4eb6420ef96 100644 --- a/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_String.kt +++ b/compiler/testData/codegen/bytecodeText/coroutines/inlineClasses/noInlineClassBoxingInSuspendFunReturn_String.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR inline class ICString(val x: String) diff --git a/compiler/testData/codegen/bytecodeText/coroutines/varValueConflictsWithTable.kt b/compiler/testData/codegen/bytecodeText/coroutines/varValueConflictsWithTable.kt index 1bb3178f1c9..9368b56d40f 100644 --- a/compiler/testData/codegen/bytecodeText/coroutines/varValueConflictsWithTable.kt +++ b/compiler/testData/codegen/bytecodeText/coroutines/varValueConflictsWithTable.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // This test checks, that different variables occupy the same slot // In JVM_IR, however, loop variable's lifetime goes beyond the loop itself, thus the test has no sense in JVM_IR // IGNORE_BACKEND: JVM_IR diff --git a/compiler/testData/codegen/bytecodeText/directInvoke/inplaceClosure.kt b/compiler/testData/codegen/bytecodeText/directInvoke/inplaceClosure.kt index 86033d05e9d..797dd1e360f 100644 --- a/compiler/testData/codegen/bytecodeText/directInvoke/inplaceClosure.kt +++ b/compiler/testData/codegen/bytecodeText/directInvoke/inplaceClosure.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun test() { 1.(fun Int.() = 2)() } diff --git a/compiler/testData/codegen/bytecodeText/falseSmartCast.kt b/compiler/testData/codegen/bytecodeText/falseSmartCast.kt index ae68e2c2c8d..d294cdadabd 100644 --- a/compiler/testData/codegen/bytecodeText/falseSmartCast.kt +++ b/compiler/testData/codegen/bytecodeText/falseSmartCast.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR open class SuperFoo { public fun bar() { if (this is Foo) { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoElementVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoElementVar.kt index cce6d207706..b3c58f0171a 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoElementVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoElementVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val arr = arrayOf("a", "b", "c", "d") fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoIndexVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoIndexVar.kt index 5284ae1f151..ba943b2a4c6 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoIndexVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInArrayWithIndexNoIndexVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val arr = arrayOf("a", "b", "c", "d") fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInEmptyArrayWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInEmptyArrayWithIndex.kt index a7d55ca1f55..e48e94248b3 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInEmptyArrayWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInEmptyArrayWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val arr = intArrayOf() fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInIntArrayWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInIntArrayWithIndex.kt index 96071761471..dfded9a2882 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInIntArrayWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInIntArrayWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val arr = intArrayOf(10, 20, 30, 40) fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInObjectArrayWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInObjectArrayWithIndex.kt index 1d3b1d4b461..3d6edb26cee 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInObjectArrayWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInArrayWithIndex/forInObjectArrayWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val arr = arrayOf("a", "b", "c", "d") fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInCharSequenceWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInCharSequenceWithIndex.kt index bf48c2d3b46..a26bed1e833 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInCharSequenceWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInCharSequenceWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val cs: CharSequence = "abcd" fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInEmptyStringWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInEmptyStringWithIndex.kt index e3752888b3e..e530e73dee1 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInEmptyStringWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInEmptyStringWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((index, x) in "".withIndex()) { return "Loop over empty String should not be executed" diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndex.kt index f3d3f15aeeb..68d3d6b21d3 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { val s = StringBuilder() diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoElementVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoElementVar.kt index e3068baaa07..fdaabd22322 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoElementVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoElementVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = "abcd" fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoIndexVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoIndexVar.kt index 95e2ec7e04e..294b590bf09 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoIndexVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexNoIndexVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = "abcd" fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexWithExplicitlyTypedIndexVariable.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexWithExplicitlyTypedIndexVariable.kt index 94f7335754d..a0ca4050be1 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexWithExplicitlyTypedIndexVariable.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInCharSequenceWithIndex/forInStringWithIndexWithExplicitlyTypedIndexVariable.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = "abcd" fun useAny(x: Any) {} diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInEmptyListWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInEmptyListWithIndex.kt index 11e1e90e934..7291b137de2 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInEmptyListWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInEmptyListWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf() fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInIterableTypeParameterWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInIterableTypeParameterWithIndex.kt index 878ad03269b..af7cb1e1615 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInIterableTypeParameterWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInIterableTypeParameterWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun > test(iterable: T): String { val s = StringBuilder() diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndex.kt index ca24aea5f50..328f0ea8239 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d") fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoElementVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoElementVar.kt index bf45c85dd48..a88a377cc3f 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoElementVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoElementVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d") fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoIndexVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoIndexVar.kt index 65973a4eb44..4567a36a553 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoIndexVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexNoIndexVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d") fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexWithExplicitlyTypedIndexVariable.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexWithExplicitlyTypedIndexVariable.kt index bf105d25ccd..0b48a4b7f81 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexWithExplicitlyTypedIndexVariable.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInIterableWithIndex/forInListWithIndexWithExplicitlyTypedIndexVariable.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d") fun useAny(x: Any) {} diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInDownToWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInDownToWithIndex.kt index f6f3f0117bf..7597514554f 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInDownToWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInDownToWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in (7 downTo 4).withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInIndicesWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInIndicesWithIndex.kt index a1317973b8c..756f08d8274 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInIndicesWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInIndicesWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in listOf(4, 5, 6, 7).indices.withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInRangeToWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInRangeToWithIndex.kt index 1ecf9393c31..f1b1c7ab7a7 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInRangeToWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInRangeToWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in (4..7).withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedStepWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedStepWithIndex.kt index fe9d6410905..1171484e609 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedStepWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedStepWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in ((4..11).reversed() step 2).withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedWithIndex.kt index bb91ad6b49a..8320282ea5f 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInReversedWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in (4..7).reversed().withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepReversedWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepReversedWithIndex.kt index d4de60ca43c..775fc4c5c44 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepReversedWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepReversedWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in (4..11 step 2).reversed().withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepWithIndex.kt index 64675641f7c..35de3c85581 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInStepWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in (4..11 step 2).withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInUntilWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInUntilWithIndex.kt index 95424d6035f..0ad4307772c 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInUntilWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInUntilWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((i, v) in (4 until 8).withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexNoIndexOrElementVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexNoIndexOrElementVar.kt index 7b02976222b..7df9fe839d5 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexNoIndexOrElementVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexNoIndexOrElementVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((_, _) in (4..7).withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexWithIndex.kt index 5ea2c2ff2f9..46023a2b34a 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInProgressionWithIndex/forInWithIndexWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { for ((outer, iv) in (4..7).withIndex().withIndex()) { } diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInEmptySequenceWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInEmptySequenceWithIndex.kt index 85dfef60a20..d4012786e61 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInEmptySequenceWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInEmptySequenceWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf().asSequence() fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceTypeParameterWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceTypeParameterWithIndex.kt index 548ebf456ee..bdf37408f68 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceTypeParameterWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceTypeParameterWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun > test(sequence: T): String { val s = StringBuilder() diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndex.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndex.kt index 8265acf47dd..0b46e2e2398 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndex.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndex.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d").asSequence() fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoElementVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoElementVar.kt index 1b4816399d1..27ce8e49cd1 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoElementVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoElementVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d").asSequence() fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoIndexVar.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoIndexVar.kt index 6a36dcd46d6..21dd1d9d7bc 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoIndexVar.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexNoIndexVar.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d").asSequence() fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexThrowsCME.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexThrowsCME.kt index 85e19c93ceb..c398a6ddb3e 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexThrowsCME.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexThrowsCME.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FULL_JDK val xsl = arrayListOf("a", "b", "c", "d") diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexWithExplicitlyTypedIndexVariable.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexWithExplicitlyTypedIndexVariable.kt index bcaf1e3b5af..82f6f5eaf16 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexWithExplicitlyTypedIndexVariable.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInSequenceWithIndex/forInSequenceWithIndexWithExplicitlyTypedIndexVariable.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val xs = listOf("a", "b", "c", "d").asSequence() fun useAny(x: Any) {} diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilIntMinValue.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilIntMinValue.kt index 0139b5f6453..fbd0abd8d62 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilIntMinValue.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilIntMinValue.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR const val M = Int.MIN_VALUE fun f(a: Int): Int { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilLongMinValue.kt b/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilLongMinValue.kt index 7a0b506cdf3..4547c36f568 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilLongMinValue.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/forInUntil/forInUntilLongMinValue.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR const val M = Long.MIN_VALUE fun f(a: Long): Int { diff --git a/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilUIntMinValue.kt b/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilUIntMinValue.kt index c5e5c9fe327..8a972213a87 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilUIntMinValue.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilUIntMinValue.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME const val M = UInt.MIN_VALUE diff --git a/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilULongMinValue.kt b/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilULongMinValue.kt index e0a09f1bbc9..054a5aaccc5 100644 --- a/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilULongMinValue.kt +++ b/compiler/testData/codegen/bytecodeText/forLoop/unsigned/forInUntilULongMinValue.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME const val M = ULong.MIN_VALUE diff --git a/compiler/testData/codegen/bytecodeText/hashCode/interfaceHashCode.kt b/compiler/testData/codegen/bytecodeText/hashCode/interfaceHashCode.kt index c236203d714..c6758916d84 100644 --- a/compiler/testData/codegen/bytecodeText/hashCode/interfaceHashCode.kt +++ b/compiler/testData/codegen/bytecodeText/hashCode/interfaceHashCode.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR val x: () -> Unit = {} val y = x.hashCode() diff --git a/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForDouble.kt b/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForDouble.kt index e279293dd8e..82e4db9e94e 100644 --- a/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForDouble.kt +++ b/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForDouble.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR fun equals5(a: Any?, b: Any?) = if (a is Double && b is Double?) a == b else null!! fun equals6(a: Any?, b: Any?) = if (a is Double? && b is Double) a == b else null!! diff --git a/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForFloat.kt b/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForFloat.kt index 526f626e3f3..13c33280ed4 100644 --- a/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForFloat.kt +++ b/compiler/testData/codegen/bytecodeText/ieee754/smartCastsForFloat.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR fun equals5(a: Any?, b: Any?) = if (a is Float && b is Float?) a == b else null!! fun equals6(a: Any?, b: Any?) = if (a is Float? && b is Float) a == b else null!! diff --git a/compiler/testData/codegen/bytecodeText/iincGeneration.kt b/compiler/testData/codegen/bytecodeText/iincGeneration.kt index fa06254c327..288d4ac645f 100644 --- a/compiler/testData/codegen/bytecodeText/iincGeneration.kt +++ b/compiler/testData/codegen/bytecodeText/iincGeneration.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun main(args: Array) { var i = 10 diff --git a/compiler/testData/codegen/bytecodeText/inline/deleteClassOnTransfromation.kt b/compiler/testData/codegen/bytecodeText/inline/deleteClassOnTransfromation.kt index 98767a03254..0f94cb3f32c 100644 --- a/compiler/testData/codegen/bytecodeText/inline/deleteClassOnTransfromation.kt +++ b/compiler/testData/codegen/bytecodeText/inline/deleteClassOnTransfromation.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR fun test() { { diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxOfInlineClassesWithFunctionalTypes.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxOfInlineClassesWithFunctionalTypes.kt index 8e15c4de0fe..eb644fb398d 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxOfInlineClassesWithFunctionalTypes.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/boxUnboxOfInlineClassesWithFunctionalTypes.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR // TODO KT-36783 Consider generating GETFIELD instructions instead of unbox-impl calls in special methods of inline classes in JVM_IR diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/boxingForNonLocalAndLabeledReturnsOfInlineClasses.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/boxingForNonLocalAndLabeledReturnsOfInlineClasses.kt index 56ab01062a2..fdfcfd7e46f 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/boxingForNonLocalAndLabeledReturnsOfInlineClasses.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/boxingForNonLocalAndLabeledReturnsOfInlineClasses.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR // FILE: utils.kt diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/callMemberMethodsInsideInlineClass.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/callMemberMethodsInsideInlineClass.kt index a9d8d714d56..b0ab4ce7a36 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/callMemberMethodsInsideInlineClass.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/callMemberMethodsInsideInlineClass.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR // TODO KT-36783 Consider generating GETFIELD instructions instead of unbox-impl calls in special methods of inline classes in JVM_IR diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/delegatedPropertyMangling.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/delegatedPropertyMangling.kt index d802182aa2e..6f0898a27cb 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/delegatedPropertyMangling.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/delegatedPropertyMangling.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // LANGUAGE: +InlineClasses import kotlin.reflect.KProperty diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/equalsIsCalledByInlineClass.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/equalsIsCalledByInlineClass.kt index ace25a5efb9..9eeda4f2f75 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/equalsIsCalledByInlineClass.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/equalsIsCalledByInlineClass.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // FILE: Z.kt inline class Z(val x: Int) diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/hashCodeIsCalledByInlineClass.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/hashCodeIsCalledByInlineClass.kt index 0f058373224..8a0834ec164 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/hashCodeIsCalledByInlineClass.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/hashCodeIsCalledByInlineClass.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // FILE: Z.kt inline class Z(val x: Int) diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInGeneratedToString.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInGeneratedToString.kt index e1a7fab3496..28c6fa70476 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInGeneratedToString.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInGeneratedToString.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // FILE: Z.kt inline class Z(val value: Int) diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInStringTemplate.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInStringTemplate.kt index baf0e9511ca..40ab8cce869 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInStringTemplate.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/inlineClassInStringTemplate.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // FILE: Z.kt inline class Z(val value: Int) diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceDefaultImplStubs.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceDefaultImplStubs.kt index 9af9e905a0f..3f2afe05dc5 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceDefaultImplStubs.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceDefaultImplStubs.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // FILE: test.kt fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceJvmDefaultImplStubs.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceJvmDefaultImplStubs.kt index d2bb7535524..8cda986d8d4 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceJvmDefaultImplStubs.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/interfaceJvmDefaultImplStubs.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM // The JVM backend does not generate the g-impl method, but ends up calling it from box. diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/mangledInlineClassInterfaceImplementation.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/mangledInlineClassInterfaceImplementation.kt index d0048aeb678..8985cef4739 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/mangledInlineClassInterfaceImplementation.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/mangledInlineClassInterfaceImplementation.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR interface A { fun foo(a: T): String diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/resultApiRunCatchingDoesntBox.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/resultApiRunCatchingDoesntBox.kt index b86baff928e..a906140387d 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/resultApiRunCatchingDoesntBox.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/resultApiRunCatchingDoesntBox.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM // IGNORE_BACKEND: JVM_IR // WITH_RUNTIME diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfInlineClassValue.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfInlineClassValue.kt index 7798e2ee988..ff348cfa77d 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfInlineClassValue.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfInlineClassValue.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // FILE: Z.kt inline class Z(val x: Int) diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfReferenceInlineClassValue.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfReferenceInlineClassValue.kt index 7dcb0481cff..08ae4afa45b 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfReferenceInlineClassValue.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/toStringOfReferenceInlineClassValue.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // Completely incorrect bytecode - see `box/inlineClasses/toStringOfUnboxedNullable.kt` // IGNORE_BACKEND: JVM diff --git a/compiler/testData/codegen/bytecodeText/inlineClasses/uIntArrayIteratorWithoutBoxing.kt b/compiler/testData/codegen/bytecodeText/inlineClasses/uIntArrayIteratorWithoutBoxing.kt index eaeb74ffaf7..1470cec631d 100644 --- a/compiler/testData/codegen/bytecodeText/inlineClasses/uIntArrayIteratorWithoutBoxing.kt +++ b/compiler/testData/codegen/bytecodeText/inlineClasses/uIntArrayIteratorWithoutBoxing.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +InlineClasses +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR // TODO KT-36783 Consider generating GETFIELD instructions instead of unbox-impl calls in special methods of inline classes in JVM_IR diff --git a/compiler/testData/codegen/bytecodeText/inlineJavaConstantFromSubclass.kt b/compiler/testData/codegen/bytecodeText/inlineJavaConstantFromSubclass.kt index 7511d6c1903..98a5040ed25 100644 --- a/compiler/testData/codegen/bytecodeText/inlineJavaConstantFromSubclass.kt +++ b/compiler/testData/codegen/bytecodeText/inlineJavaConstantFromSubclass.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: first/JavaSuperclass.java package first; diff --git a/compiler/testData/codegen/bytecodeText/inlineJavaStaticFields.kt b/compiler/testData/codegen/bytecodeText/inlineJavaStaticFields.kt index f6ae773a90d..cbcec0a7313 100644 --- a/compiler/testData/codegen/bytecodeText/inlineJavaStaticFields.kt +++ b/compiler/testData/codegen/bytecodeText/inlineJavaStaticFields.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: JClass.java import org.jetbrains.annotations.NotNull; diff --git a/compiler/testData/codegen/bytecodeText/inlineProtectedJavaConstantFromOtherPackage.kt b/compiler/testData/codegen/bytecodeText/inlineProtectedJavaConstantFromOtherPackage.kt index e81e9b6375a..d15d3b71281 100644 --- a/compiler/testData/codegen/bytecodeText/inlineProtectedJavaConstantFromOtherPackage.kt +++ b/compiler/testData/codegen/bytecodeText/inlineProtectedJavaConstantFromOtherPackage.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: first/Foo.java package first; diff --git a/compiler/testData/codegen/bytecodeText/interfaces/addedInterfaceBridge.kt b/compiler/testData/codegen/bytecodeText/interfaces/addedInterfaceBridge.kt index 99ef633275c..080dbc65c3c 100644 --- a/compiler/testData/codegen/bytecodeText/interfaces/addedInterfaceBridge.kt +++ b/compiler/testData/codegen/bytecodeText/interfaces/addedInterfaceBridge.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR interface A { fun f(x: T): T } diff --git a/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt b/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt index e308c0d92dc..0c0c81ce6ac 100644 --- a/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt +++ b/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR interface A { fun foo() = 42 } diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_after.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_after.kt index 46a5d76e9b4..72b8c012aa6 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_after.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_after.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR fun equals3(a: Byte?, b: Byte?) = a != null && b != null && a == b fun equals4(a: Byte?, b: Byte?) = if (a is Byte && b is Byte) a == b else null!! diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_before.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_before.kt index 25f5bc0ff17..dad543c2488 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_before.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/byteSmartCast_before.kt @@ -1,4 +1,5 @@ // !LANGUAGE: -ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR fun equals3(a: Byte?, b: Byte?) = a != null && b != null && a == b diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/charSmartCast.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/charSmartCast.kt index 53b7a1b412b..1a0e8810354 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/charSmartCast.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/charSmartCast.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun equals3(a: Char?, b: Char?) = a != null && b != null && a == b fun equals4(a: Char?, b: Char?) = if (a is Char && b is Char) a == b else null!! diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_after.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_after.kt index ff1be5417a7..17e6f3f0da6 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_after.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_after.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR fun equals3(a: Int?, b: Int?) = a != null && b != null && a == b fun equals4(a: Int?, b: Int?) = if (a is Int && b is Int) a == b else null!! diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_before.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_before.kt index f10cde20209..74051dc7e5c 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_before.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/intSmartCast_before.kt @@ -1,4 +1,5 @@ // !LANGUAGE: -ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR fun equals3(a: Int?, b: Int?) = a != null && b != null && a == b fun equals4(a: Int?, b: Int?) = if (a is Int && b is Int) a == b else null!! diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/longSmartCast.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/longSmartCast.kt index 02fd0b3ea8f..ed9090abd7d 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/longSmartCast.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/longSmartCast.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun equals3(a: Long?, b: Long?) = a != null && b != null && a == b fun equals4(a: Long?, b: Long?) = if (a is Long && b is Long) a == b else null!! diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_after.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_after.kt index d0eae9f50a5..3525c638bec 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_after.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_after.kt @@ -1,4 +1,5 @@ // !LANGUAGE: +ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR fun equals3(a: Short?, b: Short?) = a != null && b != null && a == b diff --git a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_before.kt b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_before.kt index 94aac9757c0..aac811e8c9e 100644 --- a/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_before.kt +++ b/compiler/testData/codegen/bytecodeText/intrinsicsCompare/shortSmartCast_before.kt @@ -1,4 +1,5 @@ // !LANGUAGE: -ProperIeee754Comparisons +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR fun equals3(a: Short?, b: Short?) = a != null && b != null && a == b diff --git a/compiler/testData/codegen/bytecodeText/javaStatics.kt b/compiler/testData/codegen/bytecodeText/javaStatics.kt index 112c6ed69ba..78dd5d4735e 100644 --- a/compiler/testData/codegen/bytecodeText/javaStatics.kt +++ b/compiler/testData/codegen/bytecodeText/javaStatics.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: Child.java class Child extends Parent { diff --git a/compiler/testData/codegen/bytecodeText/jvm8/hashCode/hashCode.kt b/compiler/testData/codegen/bytecodeText/jvm8/hashCode/hashCode.kt index bffb0fbd2fa..fdbac019ff0 100644 --- a/compiler/testData/codegen/bytecodeText/jvm8/hashCode/hashCode.kt +++ b/compiler/testData/codegen/bytecodeText/jvm8/hashCode/hashCode.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // JVM_TARGET: 1.8 fun box(): String { diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/ifConsts.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/ifConsts.kt index 6fdeedeffbf..f1c600b4f85 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/ifConsts.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/ifConsts.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun cond() = false fun bar() {} diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/ifElse.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/ifElse.kt index 302c4d2b588..b15e3d5fdac 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/ifElse.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/ifElse.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo() { if (0 < 1) { System.out?.println() diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalse.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalse.kt index d51843a2e0d..9b7482df843 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalse.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalse.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo(): Int { if (false) { return 1 diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalseElse.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalseElse.kt index 899ced55af5..7ad4545652c 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalseElse.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/ifFalseElse.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo(): Int { if (false) { return 1 diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrue.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrue.kt index c637bc4ee16..7e06cfe8993 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrue.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrue.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo(): Int { if (true) { return 1 diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrueElse.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrueElse.kt index ed33ff7b39a..4d46f5509ca 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrueElse.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/ifTrueElse.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo(): Int { if (true) { return 1 diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition.kt index 4ca2079a094..2bd7ddbbdb8 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR //FILE: test.kt diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition2.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition2.kt index 902a94d2767..474ba57fa98 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition2.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/inlineCondition2.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR //FILE: test.kt fun box() { diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/singleThen.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/singleThen.kt index a92db8cec9e..c8b501071f6 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/singleThen.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/singleThen.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo() { if (0 < 1) { System.out?.println() diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/tryCatch.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/tryCatch.kt index 0fdc13a0e6b..89a45e6e7bb 100644 --- a/compiler/testData/codegen/bytecodeText/lineNumbers/tryCatch.kt +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/tryCatch.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo() { try { System.out?.println() diff --git a/compiler/testData/codegen/bytecodeText/mapGetOrDefault.kt b/compiler/testData/codegen/bytecodeText/mapGetOrDefault.kt index 0af315b6e79..ca5304a938a 100644 --- a/compiler/testData/codegen/bytecodeText/mapGetOrDefault.kt +++ b/compiler/testData/codegen/bytecodeText/mapGetOrDefault.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // JVM_TARGET: 1.8 // WITH_RUNTIME // FULL_JDK diff --git a/compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt b/compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt index 9c8b20ce1d2..8510f7e1603 100644 --- a/compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt +++ b/compiler/testData/codegen/bytecodeText/multifileClasses/privateFunctionName.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // WITH_RUNTIME // FILE: part1.kt diff --git a/compiler/testData/codegen/bytecodeText/notNullAssertions/arrayListGet.kt b/compiler/testData/codegen/bytecodeText/notNullAssertions/arrayListGet.kt index 6c89da9e8a8..c6c2eae56f3 100644 --- a/compiler/testData/codegen/bytecodeText/notNullAssertions/arrayListGet.kt +++ b/compiler/testData/codegen/bytecodeText/notNullAssertions/arrayListGet.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR import java.util.ArrayList fun foo(): Any { diff --git a/compiler/testData/codegen/bytecodeText/notNullAssertions/assertionForNotNullCaptured.kt b/compiler/testData/codegen/bytecodeText/notNullAssertions/assertionForNotNullCaptured.kt index 3633b5db67b..de9551a47ab 100644 --- a/compiler/testData/codegen/bytecodeText/notNullAssertions/assertionForNotNullCaptured.kt +++ b/compiler/testData/codegen/bytecodeText/notNullAssertions/assertionForNotNullCaptured.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR class A { fun add(element: T) {} } diff --git a/compiler/testData/codegen/bytecodeText/notNullAssertions/javaMultipleSubstitutions.kt b/compiler/testData/codegen/bytecodeText/notNullAssertions/javaMultipleSubstitutions.kt index 13103cb1e6c..e7f4be40de9 100644 --- a/compiler/testData/codegen/bytecodeText/notNullAssertions/javaMultipleSubstitutions.kt +++ b/compiler/testData/codegen/bytecodeText/notNullAssertions/javaMultipleSubstitutions.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: A.java import org.jetbrains.annotations.NotNull; diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNull.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNull.kt index 758216e51e3..8db917deb8a 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNull.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNull.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: j/J.java package j; diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNullTwice.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNullTwice.kt index ff2f16e7fda..01ac2aa4da5 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNullTwice.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/expressionValueIsNotNullTwice.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: j/J.java package j; diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/notNullExpressionValueTwice_1_4.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/notNullExpressionValueTwice_1_4.kt index 6cfa2e956a5..a80f2c8a9e1 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/notNullExpressionValueTwice_1_4.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/notNullExpressionValueTwice_1_4.kt @@ -1,4 +1,5 @@ // !API_VERSION: LATEST +// IGNORE_BACKEND_FIR: JVM_IR // FILE: j/J.java package j; diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/nullabilityAssertionOnDispatchReceiver.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/nullabilityAssertionOnDispatchReceiver.kt index f4d48e41b15..94ff2b7e2e8 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/nullabilityAssertionOnDispatchReceiver.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/nullabilityAssertionOnDispatchReceiver.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME // FILE: test.kt diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall.kt index 5a1fe4989db..3e7757ac288 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun test(s: String) = s?.length // 0 IFNULL diff --git a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall_1_4.kt b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall_1_4.kt index 06686adedc9..39c7d170a74 100644 --- a/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall_1_4.kt +++ b/compiler/testData/codegen/bytecodeText/nullCheckOptimization/redundantSafeCall_1_4.kt @@ -1,4 +1,5 @@ // !API_VERSION: LATEST +// IGNORE_BACKEND_FIR: JVM_IR fun test(s: String) = s?.length diff --git a/compiler/testData/codegen/bytecodeText/preEvaluateInlineJavaStaticFields.kt b/compiler/testData/codegen/bytecodeText/preEvaluateInlineJavaStaticFields.kt index a1acf41d438..26933655c8d 100644 --- a/compiler/testData/codegen/bytecodeText/preEvaluateInlineJavaStaticFields.kt +++ b/compiler/testData/codegen/bytecodeText/preEvaluateInlineJavaStaticFields.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // FILE: JClass.java import org.jetbrains.annotations.NotNull; diff --git a/compiler/testData/codegen/bytecodeText/prefixIntVarIncrement.kt b/compiler/testData/codegen/bytecodeText/prefixIntVarIncrement.kt index 13e5070405f..ff725ab0e19 100644 --- a/compiler/testData/codegen/bytecodeText/prefixIntVarIncrement.kt +++ b/compiler/testData/codegen/bytecodeText/prefixIntVarIncrement.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun main(args: Array) { var i = 10 ++i diff --git a/compiler/testData/codegen/bytecodeText/ranges/inArrayIndices.kt b/compiler/testData/codegen/bytecodeText/ranges/inArrayIndices.kt index eb11afc1855..9b4d50fca9e 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inArrayIndices.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inArrayIndices.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun testPrimitiveArray(i: Int, ints: IntArray) = i in ints.indices fun testObjectArray(i: Int, xs: Array) = i in xs.indices diff --git a/compiler/testData/codegen/bytecodeText/ranges/inCharSequenceIndices.kt b/compiler/testData/codegen/bytecodeText/ranges/inCharSequenceIndices.kt index 9c5003f200d..bc5d07b1267 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inCharSequenceIndices.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inCharSequenceIndices.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun testCharSequence(i: Int, cs: CharSequence) = i in cs.indices fun testLongWithCharSequence(i: Long, cs: CharSequence) = i in cs.indices diff --git a/compiler/testData/codegen/bytecodeText/ranges/inCollectionIndices.kt b/compiler/testData/codegen/bytecodeText/ranges/inCollectionIndices.kt index 2426d4cf79e..46bbf35967a 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inCollectionIndices.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inCollectionIndices.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun testCollection(i: Int, xs: List) = i in xs.indices fun testLongWithCollection(i: Long, xs: List) = i in xs.indices diff --git a/compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt b/compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt index bc7e71df6fa..67062f63213 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inComparableRangeLiteral.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun test1(a: String) = a in "alpha" .. "omega" fun test2(a: String) = a !in "alpha" .. "omega" fun > test3(x: T, left: T, right: T) = x in left .. right diff --git a/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange.kt b/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange.kt index fb5aa71caf3..e90524cd50a 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun ub_ub(x: UByte, a: UByte, b: UByte) = x in a..b fun ub_us(x: UByte, a: UShort, b: UShort) = x in a..b fun ub_ui(x: UByte, a: UInt, b: UInt) = x in a..b diff --git a/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange_2.kt b/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange_2.kt index b32fe700a70..e052056574f 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange_2.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inMixedUnsignedRange_2.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // ULong in range of UInt, uses non-intrinsic 'contains' for non-IR backend fun ul_ub(x: ULong, a: UByte, b: UByte) = x in a..b diff --git a/compiler/testData/codegen/bytecodeText/ranges/inNonMatchingRangeIntrinsified.kt b/compiler/testData/codegen/bytecodeText/ranges/inNonMatchingRangeIntrinsified.kt index b5da9fd3862..c5bdd13cba1 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inNonMatchingRangeIntrinsified.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inNonMatchingRangeIntrinsified.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun inInt(x: Long): Boolean { return x in 1..2 } diff --git a/compiler/testData/codegen/bytecodeText/ranges/inOptimizableRange.kt b/compiler/testData/codegen/bytecodeText/ranges/inOptimizableRange.kt index 4473c174761..820af418e5e 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inOptimizableRange.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inOptimizableRange.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun Byte.inByte(left: Byte, right: Byte) = this in left..right fun Short.inInt(left: Int, right: Int) = this in left .. right diff --git a/compiler/testData/codegen/bytecodeText/ranges/inOptimizableUnsignedRange.kt b/compiler/testData/codegen/bytecodeText/ranges/inOptimizableUnsignedRange.kt index 271b06cb0e8..85a97f54c29 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inOptimizableUnsignedRange.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inOptimizableUnsignedRange.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun testUIntRangeLiteral(a: UInt, b: UInt) = 42u in a .. b fun testULongRangeLiteral(a: ULong, b: ULong) = 42UL in a .. b diff --git a/compiler/testData/codegen/bytecodeText/ranges/inUntil.kt b/compiler/testData/codegen/bytecodeText/ranges/inUntil.kt index 06a72214abe..14b43172c1f 100644 --- a/compiler/testData/codegen/bytecodeText/ranges/inUntil.kt +++ b/compiler/testData/codegen/bytecodeText/ranges/inUntil.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun testChar(a: Char, x: Char, y: Char) = a in x until y fun testByte(a: Byte, x: Byte, y: Byte) = a in x until y diff --git a/compiler/testData/codegen/bytecodeText/stringOperations/singleConcat.kt b/compiler/testData/codegen/bytecodeText/stringOperations/singleConcat.kt index e39f97ba536..25b0928e01a 100644 --- a/compiler/testData/codegen/bytecodeText/stringOperations/singleConcat.kt +++ b/compiler/testData/codegen/bytecodeText/stringOperations/singleConcat.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun f(s: String) = "$s" fun g(s: String?) = "$s" diff --git a/compiler/testData/codegen/bytecodeText/when/exhaustiveWhenUnitStatement.kt b/compiler/testData/codegen/bytecodeText/when/exhaustiveWhenUnitStatement.kt index 62a35740285..9f2f9adcc4d 100644 --- a/compiler/testData/codegen/bytecodeText/when/exhaustiveWhenUnitStatement.kt +++ b/compiler/testData/codegen/bytecodeText/when/exhaustiveWhenUnitStatement.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: JVM_IR // TODO KT-36840 Don't generate 'throw' clause for statement 'when' in JVM_IR diff --git a/compiler/testData/codegen/bytecodeText/when/integralWhenWithNoInlinedConstants.kt b/compiler/testData/codegen/bytecodeText/when/integralWhenWithNoInlinedConstants.kt index dac7c856c92..e350aa424a0 100644 --- a/compiler/testData/codegen/bytecodeText/when/integralWhenWithNoInlinedConstants.kt +++ b/compiler/testData/codegen/bytecodeText/when/integralWhenWithNoInlinedConstants.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo1(x: Int): Boolean { when(x) { 0 -> return true diff --git a/compiler/testData/codegen/bytecodeText/when/switchOptimizationDuplicates.kt b/compiler/testData/codegen/bytecodeText/when/switchOptimizationDuplicates.kt index a6438315fb7..34f6596cb38 100644 --- a/compiler/testData/codegen/bytecodeText/when/switchOptimizationDuplicates.kt +++ b/compiler/testData/codegen/bytecodeText/when/switchOptimizationDuplicates.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo(x: Int): Int { return when (x) { 1, 1, 2 -> 1001 diff --git a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/bigEnum.kt b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/bigEnum.kt index 230eae422bb..0af7d4df73c 100644 --- a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/bigEnum.kt +++ b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/bigEnum.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR import kotlin.test.assertEquals enum class BigEnum { diff --git a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/duplicatingItems.kt b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/duplicatingItems.kt index 87e9d97c05a..a2131007dc3 100644 --- a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/duplicatingItems.kt +++ b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/duplicatingItems.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR import kotlin.test.assertEquals enum class Season { diff --git a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/expression.kt b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/expression.kt index a1c4bc676c5..39424a42746 100644 --- a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/expression.kt +++ b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/expression.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR import kotlin.test.assertEquals enum class Season { diff --git a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/manyWhensWithinClass.kt b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/manyWhensWithinClass.kt index 34dad145a32..07dcac76ee5 100644 --- a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/manyWhensWithinClass.kt +++ b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/manyWhensWithinClass.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR package abc.foo enum class Season { diff --git a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/nullability.kt b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/nullability.kt index 4a4a6cc6340..47dbc05e968 100644 --- a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/nullability.kt +++ b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/nullability.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR enum class Season { WINTER, SPRING, diff --git a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/withoutElse.kt b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/withoutElse.kt index 09e8377c0b4..c89597748a1 100644 --- a/compiler/testData/codegen/bytecodeText/whenEnumOptimization/withoutElse.kt +++ b/compiler/testData/codegen/bytecodeText/whenEnumOptimization/withoutElse.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR import kotlin.test.assertEquals enum class Season { diff --git a/compiler/testData/codegen/bytecodeText/whenStringOptimization/duplicatingItems.kt b/compiler/testData/codegen/bytecodeText/whenStringOptimization/duplicatingItems.kt index 15a2ebde392..21d45ba9699 100644 --- a/compiler/testData/codegen/bytecodeText/whenStringOptimization/duplicatingItems.kt +++ b/compiler/testData/codegen/bytecodeText/whenStringOptimization/duplicatingItems.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR import kotlin.test.assertEquals fun foo(x : String) : String { diff --git a/compiler/testData/codegen/bytecodeText/whenStringOptimization/expression.kt b/compiler/testData/codegen/bytecodeText/whenStringOptimization/expression.kt index 4831cfb6df9..083d03e5351 100644 --- a/compiler/testData/codegen/bytecodeText/whenStringOptimization/expression.kt +++ b/compiler/testData/codegen/bytecodeText/whenStringOptimization/expression.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo(x : String) : String { return when (x) { "abc", "cde" -> "abc_cde" diff --git a/compiler/testData/codegen/bytecodeText/whenStringOptimization/inlineStringConstInsideWhen.kt b/compiler/testData/codegen/bytecodeText/whenStringOptimization/inlineStringConstInsideWhen.kt index 8563b273642..d55753d04cc 100644 --- a/compiler/testData/codegen/bytecodeText/whenStringOptimization/inlineStringConstInsideWhen.kt +++ b/compiler/testData/codegen/bytecodeText/whenStringOptimization/inlineStringConstInsideWhen.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR const val y = "cde" fun foo(x : String) : String { diff --git a/compiler/testData/codegen/bytecodeText/whenStringOptimization/nullability.kt b/compiler/testData/codegen/bytecodeText/whenStringOptimization/nullability.kt index 52905d3a900..3461ba0bb80 100644 --- a/compiler/testData/codegen/bytecodeText/whenStringOptimization/nullability.kt +++ b/compiler/testData/codegen/bytecodeText/whenStringOptimization/nullability.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo1(x : String?) : String { when (x) { "abc", "cde" -> return "abc_cde" diff --git a/compiler/testData/codegen/bytecodeText/whenStringOptimization/sameHashCode.kt b/compiler/testData/codegen/bytecodeText/whenStringOptimization/sameHashCode.kt index f5f0d55b265..2f4e7a773b8 100644 --- a/compiler/testData/codegen/bytecodeText/whenStringOptimization/sameHashCode.kt +++ b/compiler/testData/codegen/bytecodeText/whenStringOptimization/sameHashCode.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo(x : String) : String { assert("abz]".hashCode() == "aby|".hashCode()) diff --git a/compiler/testData/codegen/bytecodeText/whenStringOptimization/statement.kt b/compiler/testData/codegen/bytecodeText/whenStringOptimization/statement.kt index 7e07e9961d7..bf3aa834ba4 100644 --- a/compiler/testData/codegen/bytecodeText/whenStringOptimization/statement.kt +++ b/compiler/testData/codegen/bytecodeText/whenStringOptimization/statement.kt @@ -1,3 +1,4 @@ +// IGNORE_BACKEND_FIR: JVM_IR fun foo1(x : String) : String { when (x) { "abc", "cde" -> return "abc_cde" diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/codegen/ir/AbstractFirBytecodeTextTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/codegen/ir/AbstractFirBytecodeTextTest.kt new file mode 100644 index 00000000000..487d49df3d3 --- /dev/null +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/codegen/ir/AbstractFirBytecodeTextTest.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.codegen.ir + +import org.jetbrains.kotlin.config.CommonConfigurationKeys +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.config.JVMConfigurationKeys + +abstract class AbstractFirBytecodeTextTest : AbstractIrBytecodeTextTest() { + override fun updateConfiguration(configuration: CompilerConfiguration) { + super.updateConfiguration(configuration) + configuration.put(CommonConfigurationKeys.USE_FIR, true) + configuration.put(JVMConfigurationKeys.IR, true) + } +} diff --git a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt index e13394bd3e3..36f651bfceb 100644 --- a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt +++ b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt @@ -542,6 +542,10 @@ fun main(args: Array) { testClass { model("codegen/boxAgainstJava", targetBackend = TargetBackend.JVM_IR, excludeDirs = listOf("oldLanguageVersions")) } + + testClass { + model("codegen/bytecodeText", targetBackend = TargetBackend.JVM_IR, excludeDirs = listOf("oldLanguageVersions")) + } } testGroup(