diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/FirOldDiagnosticsTestWithJvmIrBackendGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/FirOldDiagnosticsTestWithJvmIrBackendGenerated.java new file mode 100644 index 00000000000..5f860d6645d --- /dev/null +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/FirOldDiagnosticsTestWithJvmIrBackendGenerated.java @@ -0,0 +1,896 @@ +/* + * Copyright 2010-2022 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.test.runners; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend") +@TestDataPath("$PROJECT_ROOT") +public class FirOldDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirDiagnosticsTestWithJvmIrBackend { + @Test + public void testAllFilesPresentInTestsWithJvmBackend() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("indirectInlineCycle.kt") + public void testIndirectInlineCycle() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/indirectInlineCycle.kt"); + } + + @Test + @TestMetadata("indirectInlineCycle_ir.kt") + public void testIndirectInlineCycle_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/indirectInlineCycle_ir.kt"); + } + + @Test + @TestMetadata("inlineCycle.kt") + public void testInlineCycle() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/inlineCycle.kt"); + } + + @Test + @TestMetadata("inlineCycle_ir.kt") + public void testInlineCycle_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/inlineCycle_ir.kt"); + } + + @Test + @TestMetadata("multipleBigArityFunsImplemented.kt") + public void testMultipleBigArityFunsImplemented() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.kt"); + } + + @Test + @TestMetadata("multipleBigArityFunsImplemented_ir.kt") + public void testMultipleBigArityFunsImplemented_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented_ir.kt"); + } + + @Test + @TestMetadata("noWarningInLV1_5.kt") + public void testNoWarningInLV1_5() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/noWarningInLV1_5.kt"); + } + + @Test + @TestMetadata("propertyInlineCycle.kt") + public void testPropertyInlineCycle() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/propertyInlineCycle.kt"); + } + + @Test + @TestMetadata("suspendInlineCycle.kt") + public void testSuspendInlineCycle() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/suspendInlineCycle.kt"); + } + + @Test + @TestMetadata("suspendInlineCycle_ir.kt") + public void testSuspendInlineCycle_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/suspendInlineCycle_ir.kt"); + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/dataObjects") + @TestDataPath("$PROJECT_ROOT") + public class DataObjects { + @Test + public void testAllFilesPresentInDataObjects() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/dataObjects"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("customReadResolve.kt") + public void testCustomReadResolve() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/dataObjects/customReadResolve.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature") + @TestDataPath("$PROJECT_ROOT") + public class DuplicateJvmSignature { + @Test + public void testAllFilesPresentInDuplicateJvmSignature() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("caseInProperties.kt") + public void testCaseInProperties() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.kt"); + } + + @Test + @TestMetadata("changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt") + public void testChangingNullabilityOfOrdinaryClassIsBinaryCompatibleChange() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt"); + } + + @Test + @TestMetadata("vararg.kt") + public void testVararg() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt"); + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides") + @TestDataPath("$PROJECT_ROOT") + public class AccidentalOverrides { + @Test + @TestMetadata("accidentalOverrideFromGrandparent.kt") + public void testAccidentalOverrideFromGrandparent() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.kt"); + } + + @Test + public void testAllFilesPresentInAccidentalOverrides() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("classFunctionOverriddenByProperty.kt") + public void testClassFunctionOverriddenByProperty() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt"); + } + + @Test + @TestMetadata("classFunctionOverriddenByPropertyInConstructor.kt") + public void testClassFunctionOverriddenByPropertyInConstructor() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyInConstructor.kt"); + } + + @Test + @TestMetadata("classFunctionOverriddenByPropertyNoGetter.kt") + public void testClassFunctionOverriddenByPropertyNoGetter() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.kt"); + } + + @Test + @TestMetadata("classPropertyOverriddenByFunction.kt") + public void testClassPropertyOverriddenByFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.kt"); + } + + @Test + @TestMetadata("defaultFunction_ir.kt") + public void testDefaultFunction_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction_ir.kt"); + } + + @Test + @TestMetadata("defaultFunction_old.kt") + public void testDefaultFunction_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction_old.kt"); + } + + @Test + @TestMetadata("delegatedFunctionOverriddenByProperty_ir.kt") + public void testDelegatedFunctionOverriddenByProperty_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/delegatedFunctionOverriddenByProperty_ir.kt"); + } + + @Test + @TestMetadata("delegatedFunctionOverriddenByProperty_old.kt") + public void testDelegatedFunctionOverriddenByProperty_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/delegatedFunctionOverriddenByProperty_old.kt"); + } + + @Test + @TestMetadata("genericClassFunction.kt") + public void testGenericClassFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.kt"); + } + + @Test + @TestMetadata("overridesNothing_ir.kt") + public void testOverridesNothing_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_ir.kt"); + } + + @Test + @TestMetadata("privateClassFunctionOverriddenByProperty.kt") + public void testPrivateClassFunctionOverriddenByProperty() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/privateClassFunctionOverriddenByProperty.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByPropertyNoImpl.kt") + public void testTraitFunctionOverriddenByPropertyNoImpl() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByProperty_ir.kt") + public void testTraitFunctionOverriddenByProperty_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty_ir.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByProperty_old.kt") + public void testTraitFunctionOverriddenByProperty_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty_old.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunctionNoImpl.kt") + public void testTraitPropertyOverriddenByFunctionNoImpl() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunction_ir.kt") + public void testTraitPropertyOverriddenByFunction_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction_ir.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunction_old.kt") + public void testTraitPropertyOverriddenByFunction_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction_old.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges") + @TestDataPath("$PROJECT_ROOT") + public class Bridges { + @Test + public void testAllFilesPresentInBridges() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("class_ir.kt") + public void testClass_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class_ir.kt"); + } + + @Test + @TestMetadata("class_old.kt") + public void testClass_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class_old.kt"); + } + + @Test + @TestMetadata("fakeOverrideTrait_ir.kt") + public void testFakeOverrideTrait_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait_ir.kt"); + } + + @Test + @TestMetadata("fakeOverrideTrait_old.kt") + public void testFakeOverrideTrait_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait_old.kt"); + } + + @Test + @TestMetadata("trait_ir.kt") + public void testTrait_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait_ir.kt"); + } + + @Test + @TestMetadata("trait_old.kt") + public void testTrait_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait_old.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure") + @TestDataPath("$PROJECT_ROOT") + public class Erasure { + @Test + public void testAllFilesPresentInErasure() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("clashFromInterfaceAndSuperClass_ir.kt") + public void testClashFromInterfaceAndSuperClass_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass_ir.kt"); + } + + @Test + @TestMetadata("clashFromInterfaceAndSuperClass_old.kt") + public void testClashFromInterfaceAndSuperClass_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass_old.kt"); + } + + @Test + @TestMetadata("collections.kt") + public void testCollections() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.kt"); + } + + @Test + @TestMetadata("delegateToTwoTraits.kt") + public void testDelegateToTwoTraits() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt"); + } + + @Test + @TestMetadata("delegationAndOwnMethod.kt") + public void testDelegationAndOwnMethod() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt"); + } + + @Test + @TestMetadata("delegationToTraitImplAndOwnMethod.kt") + public void testDelegationToTraitImplAndOwnMethod() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt"); + } + + @Test + @TestMetadata("extensionProperties.kt") + public void testExtensionProperties() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt"); + } + + @Test + @TestMetadata("genericType.kt") + public void testGenericType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.kt"); + } + + @Test + @TestMetadata("inheritFromTwoTraits_ir.kt") + public void testInheritFromTwoTraits_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits_ir.kt"); + } + + @Test + @TestMetadata("inheritFromTwoTraits_old.kt") + public void testInheritFromTwoTraits_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits_old.kt"); + } + + @Test + @TestMetadata("kotlinAndJavaCollections.kt") + public void testKotlinAndJavaCollections() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.kt"); + } + + @Test + @TestMetadata("nullableType.kt") + public void testNullableType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.kt"); + } + + @Test + @TestMetadata("superTraitAndDelegationToTraitImpl_ir.kt") + public void testSuperTraitAndDelegationToTraitImpl_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl_ir.kt"); + } + + @Test + @TestMetadata("superTraitAndDelegationToTraitImpl_old.kt") + public void testSuperTraitAndDelegationToTraitImpl_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl_old.kt"); + } + + @Test + @TestMetadata("twoTraitsAndOwnFunction_ir.kt") + public void testTwoTraitsAndOwnFunction_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction_ir.kt"); + } + + @Test + @TestMetadata("twoTraitsAndOwnFunction_old.kt") + public void testTwoTraitsAndOwnFunction_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction_old.kt"); + } + + @Test + @TestMetadata("typeMappedToJava.kt") + public void testTypeMappedToJava() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.kt"); + } + + @Test + @TestMetadata("typeParameter.kt") + public void testTypeParameter() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.kt"); + } + + @Test + @TestMetadata("typeParameterWithBound.kt") + public void testTypeParameterWithBound() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.kt"); + } + + @Test + @TestMetadata("typeParameterWithTwoBounds.kt") + public void testTypeParameterWithTwoBounds() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.kt"); + } + + @Test + @TestMetadata("typeParameterWithTwoBoundsInWhere.kt") + public void testTypeParameterWithTwoBoundsInWhere() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns") + @TestDataPath("$PROJECT_ROOT") + public class FinalMembersFromBuiltIns { + @Test + public void testAllFilesPresentInFinalMembersFromBuiltIns() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("enumMembers.kt") + public void testEnumMembers() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt"); + } + + @Test + @TestMetadata("waitNotifyGetClass_ir.kt") + public void testWaitNotifyGetClass_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass_ir.kt"); + } + + @Test + @TestMetadata("waitNotifyGetClass_old.kt") + public void testWaitNotifyGetClass_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass_old.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty") + @TestDataPath("$PROJECT_ROOT") + public class FunctionAndProperty { + @Test + public void testAllFilesPresentInFunctionAndProperty() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.kt"); + } + + @Test + @TestMetadata("classObject.kt") + public void testClassObject() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.kt"); + } + + @Test + @TestMetadata("classPropertyInConstructor.kt") + public void testClassPropertyInConstructor() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.kt"); + } + + @Test + @TestMetadata("extensionFunctionAndNormalFunction.kt") + public void testExtensionFunctionAndNormalFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.kt"); + } + + @Test + @TestMetadata("extensionPropertyAndFunction.kt") + public void testExtensionPropertyAndFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt"); + } + + @Test + @TestMetadata("functionAndSetter.kt") + public void testFunctionAndSetter() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.kt"); + } + + @Test + @TestMetadata("functionAndVar.kt") + public void testFunctionAndVar() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt"); + } + + @Test + @TestMetadata("localClass.kt") + public void testLocalClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.kt"); + } + + @Test + @TestMetadata("localClassInClass.kt") + public void testLocalClassInClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.kt"); + } + + @Test + @TestMetadata("nestedClass.kt") + public void testNestedClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.kt"); + } + + @Test + @TestMetadata("object.kt") + public void testObject() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.kt"); + } + + @Test + @TestMetadata("objectExpression.kt") + public void testObjectExpression() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.kt"); + } + + @Test + @TestMetadata("objectExpressionInConstructor.kt") + public void testObjectExpressionInConstructor() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.kt"); + } + + @Test + @TestMetadata("privateClassPropertyNoClash.kt") + public void testPrivateClassPropertyNoClash() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/privateClassPropertyNoClash.kt"); + } + + @Test + @TestMetadata("topLevel.kt") + public void testTopLevel() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.kt"); + } + + @Test + @TestMetadata("topLevelDifferentFiles.kt") + public void testTopLevelDifferentFiles() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelDifferentFiles.kt"); + } + + @Test + @TestMetadata("topLevelGetter.kt") + public void testTopLevelGetter() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt"); + } + + @Test + @TestMetadata("trait_ir.kt") + public void testTrait_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait_ir.kt"); + } + + @Test + @TestMetadata("trait_old.kt") + public void testTrait_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait_old.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames") + @TestDataPath("$PROJECT_ROOT") + public class SpecialNames { + @Test + public void testAllFilesPresentInSpecialNames() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("classObjectCopiedField.kt") + public void testClassObjectCopiedField() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.kt"); + } + + @Test + @TestMetadata("classObjectCopiedFieldObject_ir.kt") + public void testClassObjectCopiedFieldObject_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject_ir.kt"); + } + + @Test + @TestMetadata("classObjectCopiedFieldObject_old.kt") + public void testClassObjectCopiedFieldObject_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject_old.kt"); + } + + @Test + @TestMetadata("classObject_ir.kt") + public void testClassObject_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObject_ir.kt"); + } + + @Test + @TestMetadata("classObject_old.kt") + public void testClassObject_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObject_old.kt"); + } + + @Test + @TestMetadata("dataClassCopy.kt") + public void testDataClassCopy() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.kt"); + } + + @Test + @TestMetadata("defaults_ir.kt") + public void testDefaults_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults_ir.kt"); + } + + @Test + @TestMetadata("defaults_old.kt") + public void testDefaults_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults_old.kt"); + } + + @Test + @TestMetadata("delegationBy_ir.kt") + public void testDelegationBy_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/delegationBy_ir.kt"); + } + + @Test + @TestMetadata("delegationBy_old.kt") + public void testDelegationBy_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/delegationBy_old.kt"); + } + + @Test + @TestMetadata("enum.kt") + public void testEnum() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.kt"); + } + + @Test + @TestMetadata("innerClassField_ir.kt") + public void testInnerClassField_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/innerClassField_ir.kt"); + } + + @Test + @TestMetadata("innerClassField_old.kt") + public void testInnerClassField_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/innerClassField_old.kt"); + } + + @Test + @TestMetadata("instance_ir.kt") + public void testInstance_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance_ir.kt"); + } + + @Test + @TestMetadata("instance_old.kt") + public void testInstance_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance_old.kt"); + } + + @Test + @TestMetadata("propertyMetadataCache_ir.kt") + public void testPropertyMetadataCache_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/propertyMetadataCache_ir.kt"); + } + + @Test + @TestMetadata("propertyMetadataCache_old.kt") + public void testPropertyMetadataCache_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/propertyMetadataCache_old.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics") + @TestDataPath("$PROJECT_ROOT") + public class Statics { + @Test + public void testAllFilesPresentInStatics() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("jkjk.kt") + public void testJkjk() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/jkjk.kt"); + } + + @Test + @TestMetadata("kotlinClassExtendsJavaClass.kt") + public void testKotlinClassExtendsJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClass.kt"); + } + + @Test + @TestMetadata("kotlinClassExtendsJavaClassExtendsJavaClass.kt") + public void testKotlinClassExtendsJavaClassExtendsJavaClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClassExtendsJavaClass.kt"); + } + + @Test + @TestMetadata("kotlinClassImplementsJavaInterface.kt") + public void testKotlinClassImplementsJavaInterface() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassImplementsJavaInterface.kt"); + } + + @Test + @TestMetadata("kotlinClassImplementsJavaInterfaceExtendsJavaInteface.kt") + public void testKotlinClassImplementsJavaInterfaceExtendsJavaInteface() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassImplementsJavaInterfaceExtendsJavaInteface.kt"); + } + + @Test + @TestMetadata("kotlinMembersVsJavaNonVisibleStatics.kt") + public void testKotlinMembersVsJavaNonVisibleStatics() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinMembersVsJavaNonVisibleStatics.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized") + @TestDataPath("$PROJECT_ROOT") + public class Synthesized { + @Test + public void testAllFilesPresentInSynthesized() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("enumValuesValueOf.kt") + public void testEnumValuesValueOf() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl") + @TestDataPath("$PROJECT_ROOT") + public class TraitImpl { + @Test + public void testAllFilesPresentInTraitImpl() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("defaultVsNonDefault_ir.kt") + public void testDefaultVsNonDefault_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault_ir.kt"); + } + + @Test + @TestMetadata("defaultVsNonDefault_old.kt") + public void testDefaultVsNonDefault_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault_old.kt"); + } + + @Test + @TestMetadata("kt43611.kt") + public void testKt43611() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt"); + } + + @Test + @TestMetadata("oneTrait_ir.kt") + public void testOneTrait_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait_ir.kt"); + } + + @Test + @TestMetadata("oneTrait_old.kt") + public void testOneTrait_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait_old.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByPropertyInTrait_ir.kt") + public void testTraitFunctionOverriddenByPropertyInTrait_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait_ir.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByPropertyInTrait_old.kt") + public void testTraitFunctionOverriddenByPropertyInTrait_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait_old.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunctionInTrait_ir.kt") + public void testTraitPropertyOverriddenByFunctionInTrait_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait_ir.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunctionInTrait_old.kt") + public void testTraitPropertyOverriddenByFunctionInTrait_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait_old.kt"); + } + + @Test + @TestMetadata("twoTraits_ir.kt") + public void testTwoTraits_ir() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits_ir.kt"); + } + + @Test + @TestMetadata("twoTraits_old.kt") + public void testTwoTraits_old() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits_old.kt"); + } + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/multifileClasses") + @TestDataPath("$PROJECT_ROOT") + public class MultifileClasses { + @Test + public void testAllFilesPresentInMultifileClasses() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/multifileClasses"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("jvmSynthetic.kt") + public void testJvmSynthetic() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/multifileClasses/jvmSynthetic.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/scripts") + @TestDataPath("$PROJECT_ROOT") + public class Scripts { + @Test + public void testAllFilesPresentInScripts() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/scripts"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/typeOf") + @TestDataPath("$PROJECT_ROOT") + public class TypeOf { + @Test + public void testAllFilesPresentInTypeOf() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/typeOf"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("nonReifiedTypeParameterWithRecursiveBound.kt") + public void testNonReifiedTypeParameterWithRecursiveBound() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/typeOf/nonReifiedTypeParameterWithRecursiveBound.kt"); + } + + @Test + @TestMetadata("suspendType.kt") + public void testSuspendType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/typeOf/suspendType.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses") + @TestDataPath("$PROJECT_ROOT") + public class ValueClasses { + @Test + public void testAllFilesPresentInValueClasses() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses"), Pattern.compile("^(.+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("cloneable.kt") + public void testCloneable() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt"); + } + } +} diff --git a/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt b/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt index c6726dfc49c..19e239afe60 100644 --- a/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt +++ b/compiler/frontend.common/src/org/jetbrains/kotlin/diagnostics/DiagnosticReporter.kt @@ -76,7 +76,7 @@ open class KtDiagnosticReporterWithContext( } @OptIn(InternalDiagnosticFactoryMethod::class) - fun report( + fun report( factory: KtDiagnosticFactory2, a1: A1, a2: A2, @@ -85,6 +85,13 @@ open class KtDiagnosticReporterWithContext( sourceElement?.let { report(factory.on(it, a1, a2, positioningStrategy), this) } } + fun reportAndCommit(factory: KtDiagnosticFactory0) { + sourceElement?.let { + reportOn(it, factory, this) + checkAndCommitReportsOn(it, this) + } + } + fun reportAndCommit(factory: KtDiagnosticFactory1, a: A) { sourceElement?.let { reportOn(it, factory, a, this) diff --git a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index 2f0df6457dc..4a962fb8ad1 100644 --- a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -874,7 +874,7 @@ class ExpressionCodegen( private fun generateGlobalReturnFlagIfPossible(expression: IrExpression, label: String) { if (state.isInlineDisabled) { - context.ktDiagnosticReporter.at(expression, irFunction).report(BackendErrors.NON_LOCAL_RETURN_IN_DISABLED_INLINE) + context.ktDiagnosticReporter.at(expression, irFunction).reportAndCommit(BackendErrors.NON_LOCAL_RETURN_IN_DISABLED_INLINE) genThrow(mv, "java/lang/UnsupportedOperationException", "Non-local returns are not allowed with inlining disabled") } else { generateGlobalReturnFlag(mv, label) diff --git a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrInlineIntrinsicsSupport.kt b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrInlineIntrinsicsSupport.kt index 9765e4f7ee1..3244609b037 100644 --- a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrInlineIntrinsicsSupport.kt +++ b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrInlineIntrinsicsSupport.kt @@ -119,12 +119,12 @@ class IrInlineIntrinsicsSupport( override fun toKotlinType(type: IrType): KotlinType = type.toIrBasedKotlinType() override fun reportSuspendTypeUnsupported() { - classCodegen.context.ktDiagnosticReporter.at(reportErrorsOn, containingFile).report(JvmBackendErrors.TYPEOF_SUSPEND_TYPE) + classCodegen.context.ktDiagnosticReporter.at(reportErrorsOn, containingFile).reportAndCommit(JvmBackendErrors.TYPEOF_SUSPEND_TYPE) } override fun reportNonReifiedTypeParameterWithRecursiveBoundUnsupported(typeParameterName: Name) { classCodegen.context.ktDiagnosticReporter.at(reportErrorsOn, containingFile) - .report(JvmBackendErrors.TYPEOF_NON_REIFIED_TYPE_PARAMETER_WITH_RECURSIVE_BOUND, typeParameterName.asString()) + .reportAndCommit(JvmBackendErrors.TYPEOF_NON_REIFIED_TYPE_PARAMETER_WITH_RECURSIVE_BOUND, typeParameterName.asString()) } override fun rewritePluginDefinedOperationMarker(v: InstructionAdapter, reifiedInsn: AbstractInsnNode, instructions: InsnList, type: IrType): Boolean { diff --git a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt index f7c460392fe..b847f625d34 100644 --- a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt +++ b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/IrSourceCompilerForInline.kt @@ -129,7 +129,7 @@ class IrSourceCompilerForInline( override fun reportSuspensionPointInsideMonitor(stackTraceElement: String) { codegen.context.ktDiagnosticReporter .at(callElement.symbol.owner as IrDeclaration) - .report(JvmBackendErrors.SUSPENSION_POINT_INSIDE_MONITOR, stackTraceElement) + .reportAndCommit(JvmBackendErrors.SUSPENSION_POINT_INSIDE_MONITOR, stackTraceElement) } } diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ConstEvaluationLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ConstEvaluationLowering.kt index e5ab7ad9f89..79c5a53d962 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ConstEvaluationLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/ConstEvaluationLowering.kt @@ -33,12 +33,12 @@ class ConstEvaluationLowering(val context: JvmBackendContext) : FileLoweringPass override fun lower(irFile: IrFile) { fun onError(element: IrElement, error: IrErrorExpression) { context.ktDiagnosticReporter.at(element, irFile) - .report(JvmBackendErrors.EXCEPTION_IN_CONST_VAL_INITIALIZER, error.description) + .reportAndCommit(JvmBackendErrors.EXCEPTION_IN_CONST_VAL_INITIALIZER, error.description) } fun onWarning(element: IrElement, warning: IrErrorExpression) { context.ktDiagnosticReporter.at(element, irFile) - .report(JvmBackendErrors.EXCEPTION_IN_CONST_EXPRESSION, warning.description) + .reportAndCommit(JvmBackendErrors.EXCEPTION_IN_CONST_EXPRESSION, warning.description) } val suppressErrors = context.configuration.getBoolean(JVMConfigurationKeys.IGNORE_CONST_OPTIMIZATION_ERRORS) diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt index cb114398459..70e11791239 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + open class B { fun getX() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/delegatedFunctionOverriddenByProperty_ir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/delegatedFunctionOverriddenByProperty_ir.kt index 3bb7b70c3c3..6b097bda120 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/delegatedFunctionOverriddenByProperty_ir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/delegatedFunctionOverriddenByProperty_ir.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // TARGET_BACKEND: JVM_IR interface B { fun getX() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_old.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_old.kt deleted file mode 100644 index 811f860aa7d..00000000000 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_old.kt +++ /dev/null @@ -1,8 +0,0 @@ -// TARGET_BACKEND: JVM_IR -interface B { - fun getX() = 1 -} - -class C : B { - override val x = 1 -} \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_old.txt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_old.txt deleted file mode 100644 index 6aca9466bb4..00000000000 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_old.txt +++ /dev/null @@ -1,17 +0,0 @@ -package - -public interface B { - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open fun getX(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} - -public final class C : B { - public constructor C() - public open val x: kotlin.Int = 1 - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun getX(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt index 428eaedd188..0d8f0b72e0a 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + interface T { fun getX(): Int } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty_ir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty_ir.kt index 53ca83bbeaa..12b21c2946e 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty_ir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty_ir.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // TARGET_BACKEND: JVM_IR interface T { fun getX() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt index 3a71b9296d1..2179c191e06 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt index 6f79f5982e9..ff0fdffa8f9 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt index 3c1d75b4ebc..23195d742cd 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt index fa4f8a0a017..f82aa1dc503 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + class G val G.foo: Int diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl_ir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl_ir.kt index 8bb10a9d25f..e6972eac006 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl_ir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl_ir.kt @@ -1,5 +1,6 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER // TARGET_BACKEND: JVM_IR +// IGNORE_FIR interface A { fun foo(l: List) diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt index d333d24e91d..ba03f217728 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + enum class E { ENTRY; diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt index eec16d6f66a..aceec85466e 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER class C { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt index 16c335a3207..3e34eeaf371 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER class C { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt index 8a2aced6a29..80d2a6ba960 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt @@ -1,3 +1,5 @@ +// IGNORE_FIR + val x: Int get() = 1 fun getX() = 1 \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait_ir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait_ir.kt index 5a3a90c5781..41ca349e4a2 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait_ir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait_ir.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // TARGET_BACKEND: JVM_IR interface T { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/jkjk.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/jkjk.kt index b7705e58fd1..db46e2989bd 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/jkjk.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/jkjk.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER // FILE: A.java diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClass.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClass.kt index 2a98cec122b..a2bbdbdf139 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClass.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClass.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER // FILE: A.java diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClassExtendsJavaClass.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClassExtendsJavaClass.kt index 31bf50861c9..ef21fde0323 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClassExtendsJavaClass.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/statics/kotlinClassExtendsJavaClassExtendsJavaClass.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // !DIAGNOSTICS: -UNUSED_PARAMETER // FILE: A.java diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt index 228ab02f029..2d79d8d93ee 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt @@ -1,6 +1,8 @@ +// !DIAGNOSTICS: -UNUSED_PARAMETER + interface A { fun f(a: List): String = TODO() - private fun f(a: List): String = TODO() + private fun f(a: List): String = TODO() } class B : A \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait_ir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait_ir.kt index 2fc8610adc4..9c466d022d1 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait_ir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait_ir.kt @@ -1,3 +1,4 @@ +// IGNORE_FIR // TARGET_BACKEND: JVM_IR interface T { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt index 878fc256fa9..70ec2d87944 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt @@ -1,8 +1,10 @@ -fun foo(vararg x: Int) {} -fun foo(x: IntArray) {} +// !DIAGNOSTICS: -UNUSED_PARAMETER -fun foo(vararg x: Int?) {} -fun foo(x: Array) {} +fun foo(vararg x: Int) {} +fun foo(x: IntArray) {} -fun foo(vararg nn: Number) {} -fun foo(nn: Array) {} +fun foo(vararg x: Int?) {} +fun foo(x: Array) {} + +fun foo(vararg nn: Number) {} +fun foo(nn: Array) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt deleted file mode 100644 index 7e85ce8b0f0..00000000000 --- a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt +++ /dev/null @@ -1,31 +0,0 @@ -// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses -// !DIAGNOSTICS: -UNUSED_PARAMETER, -PLATFORM_CLASS_MAPPED_TO_KOTLIN -// WITH_STDLIB - -package kotlin.jvm - -annotation class JvmInline - -inline class IC0(val a: Any): Cloneable - -@JvmInline -value class VC0(val a: Any): Cloneable - -inline class IC1(val a: Any): java.lang.Cloneable - -@JvmInline -value class VC1(val a: Any): java.lang.Cloneable - -interface MyCloneable1: Cloneable - -inline class IC2(val a: Any): MyCloneable1 - -@JvmInline -value class VC2(val a: Any): MyCloneable1 - -interface MyCloneable2: java.lang.Cloneable - -inline class IC3(val a: Any): MyCloneable2 - -@JvmInline -value class VC3(val a: Any): MyCloneable2 \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.txt b/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.txt deleted file mode 100644 index e854a208261..00000000000 --- a/compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.txt +++ /dev/null @@ -1,95 +0,0 @@ -package - -package kotlin { - - package kotlin.jvm { - - public final inline class IC0 : kotlin.Cloneable { - public constructor IC0(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - protected open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - - public final inline class IC1 : java.lang.Cloneable { - public constructor IC1(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - - public final inline class IC2 : kotlin.jvm.MyCloneable1 { - public constructor IC2(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - protected open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - - public final inline class IC3 : kotlin.jvm.MyCloneable2 { - public constructor IC3(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - - public final annotation class JvmInline : kotlin.Annotation { - public constructor JvmInline() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - public interface MyCloneable1 : kotlin.Cloneable { - protected open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - public interface MyCloneable2 : java.lang.Cloneable { - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - } - - @kotlin.jvm.JvmInline public final value class VC0 : kotlin.Cloneable { - public constructor VC0(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - protected open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - - @kotlin.jvm.JvmInline public final value class VC1 : java.lang.Cloneable { - public constructor VC1(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - - @kotlin.jvm.JvmInline public final value class VC2 : kotlin.jvm.MyCloneable1 { - public constructor VC2(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - protected open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - - @kotlin.jvm.JvmInline public final value class VC3 : kotlin.jvm.MyCloneable2 { - public constructor VC3(/*0*/ a: kotlin.Any) - public final val a: kotlin.Any - public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String - } - } -} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithJvmIrBackendGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithJvmIrBackendGenerated.java index 51734e523a9..ada2fe13ecb 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithJvmIrBackendGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithJvmIrBackendGenerated.java @@ -167,12 +167,6 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_ir.kt"); } - @Test - @TestMetadata("overridesNothing_old.kt") - public void testOverridesNothing_old() throws Exception { - runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing_old.kt"); - } - @Test @TestMetadata("privateClassFunctionOverriddenByProperty.kt") public void testPrivateClassFunctionOverriddenByProperty() throws Exception { @@ -785,11 +779,5 @@ public class DiagnosticsTestWithJvmIrBackendGenerated extends AbstractDiagnostic public void testCloneable() throws Exception { runTest("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt"); } - - @Test - @TestMetadata("cloneable.fir.kt") - public void testCloneable_fir() throws Exception { - runTest("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt"); - } } } diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithOldJvmBackendGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithOldJvmBackendGenerated.java index dbad323f036..5b0f880d152 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithOldJvmBackendGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsTestWithOldJvmBackendGenerated.java @@ -707,11 +707,5 @@ public class DiagnosticsTestWithOldJvmBackendGenerated extends AbstractDiagnosti public void testCloneable() throws Exception { runTest("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt"); } - - @Test - @TestMetadata("cloneable.fir.kt") - public void testCloneable_fir() throws Exception { - runTest("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.fir.kt"); - } } } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticsTestWithJvmBackend.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticsTestWithJvmBackend.kt index 43da6cf0230..ad0976715b9 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticsTestWithJvmBackend.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticsTestWithJvmBackend.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.test.runners import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.test.Constructor +import org.jetbrains.kotlin.test.InTextDirectivesUtils import org.jetbrains.kotlin.test.TargetBackend import org.jetbrains.kotlin.test.backend.classic.ClassicBackendInput import org.jetbrains.kotlin.test.backend.classic.ClassicJvmBackendFacade @@ -15,6 +16,7 @@ import org.jetbrains.kotlin.test.backend.ir.IrBackendInput import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.builders.classicFrontendHandlersStep +import org.jetbrains.kotlin.test.builders.firHandlersStep import org.jetbrains.kotlin.test.builders.jvmArtifactsHandlersStep import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter @@ -27,12 +29,14 @@ import org.jetbrains.kotlin.test.frontend.classic.handlers.OldNewInferenceMetaIn import org.jetbrains.kotlin.test.frontend.fir.Fir2IrResultsConverter import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact +import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDiagnosticsHandler import org.jetbrains.kotlin.test.model.* import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider import org.jetbrains.kotlin.test.services.configuration.ScriptingEnvironmentConfigurator +import java.io.File abstract class AbstractDiagnosticsTestWithJvmBackend, I : ResultingArtifact.BackendInput> : AbstractKotlinCompilerTest() { abstract val targetFrontend: FrontendKind @@ -68,11 +72,17 @@ abstract class AbstractDiagnosticsTestWithJvmBackend> get() = ::JvmIrBackendFacade + + override fun runTest(filePath: String) { + val wholeFile = File(filePath) + val wholeText = wholeFile.readText() + // TODO: test infrastructure shouldn't allow to run such tests anyway + if (InTextDirectivesUtils.isDirectiveDefined(wholeText, "// TARGET_BACKEND: JVM_OLD")) return + if (InTextDirectivesUtils.isDirectiveDefined(wholeText, "// IGNORE_FIR")) return + super.runTest(filePath) + } } diff --git a/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit5CompilerTests.kt b/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit5CompilerTests.kt index ac27569f8b4..4a270cec593 100644 --- a/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit5CompilerTests.kt +++ b/compiler/tests-for-compiler-generator/tests/org/jetbrains/kotlin/test/generators/GenerateJUnit5CompilerTests.kt @@ -264,6 +264,10 @@ fun generateJUnit5CompilerTests(args: Array) { model("diagnostics/firTestWithJvmBackend") } + testClass(suiteTestClassName = "FirOldDiagnosticsTestWithJvmIrBackendGenerated") { + model("diagnostics/testsWithJvmBackend") + } + testClass { model("codegen/boxInline") }