From 5f2ff0629627fd95e2563637a940abd1c4959e19 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 22 Jun 2023 17:19:36 +0200 Subject: [PATCH] Add tests for JVM backend diagnostics with K2 light tree In the vast majority of tests, diagnostics are reported at a slightly different location in LT vs PSI. This is because in the light tree mode, backend errors are reported basically on the start of the IR element, which is for example the keyword "class" for a class and not its name as in K1 or in K2+PSI. Similarly, the end of the diagnostic is at the ending offset of the IR element. Normally it would be a bit user-unfriendly to highlight the whole class as red, starting from the keyword "class" and ending with the closing brace "}". But remember that these are backend diagnostics in the K2+LT mode, which is only possible in the compiler scenario, not in the IDE. And in this case, the ending offset doesn't matter at all because it's not presented to the user, and minor change in the starting offset is not a problem as well. There are some tests which legitimately fail in the LT mode because the corresponding diagnostics haven't been supported. They will be dealt with in subsequent commits: testPropertyInlineCycle testInlineCycle MultifileClasses.testJvmSynthetic testSuspendInlineCycle testIndirectInlineCycle #KT-59586 --- ...gnosticsTestWithJvmIrBackendGenerated.java | 750 ++++++++++++++++++ .../accidentalOverrideFromGrandparent.fir.kt | 15 + .../accidentalOverrideFromGrandparent.kt | 2 +- .../classFunctionOverriddenByProperty.fir.kt | 6 +- .../classFunctionOverriddenByProperty.kt | 4 +- ...unctionOverriddenByPropertyNoGetter.fir.kt | 9 + ...assFunctionOverriddenByPropertyNoGetter.kt | 5 +- .../classPropertyOverriddenByFunction.fir.kt | 10 + .../classPropertyOverriddenByFunction.kt | 5 +- .../defaultFunction.fir.kt | 10 + .../accidentalOverrides/defaultFunction.kt | 2 +- .../genericClassFunction.fir.kt | 10 + .../genericClassFunction.kt | 4 +- .../overridesNothing.fir.kt | 9 + .../accidentalOverrides/overridesNothing.kt | 5 +- .../traitFunctionOverriddenByProperty.fir.kt | 6 +- .../traitFunctionOverriddenByProperty.kt | 4 +- ...tFunctionOverriddenByPropertyNoImpl.fir.kt | 6 +- ...traitFunctionOverriddenByPropertyNoImpl.kt | 4 +- .../traitPropertyOverriddenByFunction.fir.kt | 10 + .../traitPropertyOverriddenByFunction.kt | 2 +- ...tPropertyOverriddenByFunctionNoImpl.fir.kt | 9 + ...traitPropertyOverriddenByFunctionNoImpl.kt | 5 +- .../bridges/class.fir.kt | 12 + .../duplicateJvmSignature/bridges/class.kt | 4 +- .../bridges/fakeOverrideTrait.fir.kt | 10 + .../bridges/fakeOverrideTrait.kt | 4 +- .../bridges/trait.fir.kt | 12 + .../duplicateJvmSignature/bridges/trait.kt | 4 +- .../caseInProperties.fir.kt | 4 + .../duplicateJvmSignature/caseInProperties.kt | 5 +- ...dinaryClassIsBinaryCompatibleChange.fir.kt | 8 + ...OfOrdinaryClassIsBinaryCompatibleChange.kt | 4 +- .../clashFromInterfaceAndSuperClass.fir.kt | 20 + .../clashFromInterfaceAndSuperClass.kt | 2 +- .../erasure/collections.fir.kt | 5 + .../erasure/collections.kt | 4 +- .../erasure/delegateToTwoTraits.fir.kt | 15 + .../erasure/delegateToTwoTraits.kt | 2 +- .../erasure/delegationAndOwnMethod.fir.kt | 10 + .../erasure/delegationAndOwnMethod.kt | 2 +- .../delegationToTraitImplAndOwnMethod.fir.kt | 16 + .../delegationToTraitImplAndOwnMethod.kt | 2 +- .../erasure/extensionProperties.fir.kt | 10 +- .../erasure/extensionProperties.kt | 4 +- .../erasure/genericType.fir.kt | 7 + .../erasure/genericType.kt | 4 +- .../erasure/inheritFromTwoTraits.fir.kt | 13 + .../erasure/inheritFromTwoTraits.kt | 4 +- .../erasure/kotlinAndJavaCollections.fir.kt | 5 + .../erasure/kotlinAndJavaCollections.kt | 4 +- .../erasure/nullableType.fir.kt | 5 + .../erasure/nullableType.kt | 4 +- .../superTraitAndDelegationToTraitImpl.fir.kt | 14 + .../superTraitAndDelegationToTraitImpl.kt | 2 +- .../erasure/twoTraitsAndOwnFunction.fir.kt | 14 + .../erasure/twoTraitsAndOwnFunction.kt | 4 +- .../erasure/typeMappedToJava.fir.kt | 5 + .../erasure/typeMappedToJava.kt | 4 +- .../erasure/typeParameter.fir.kt | 5 + .../erasure/typeParameter.kt | 4 +- .../erasure/typeParameterWithBound.fir.kt | 7 + .../erasure/typeParameterWithBound.kt | 4 +- .../erasure/typeParameterWithTwoBounds.fir.kt | 9 + .../erasure/typeParameterWithTwoBounds.kt | 4 +- .../typeParameterWithTwoBoundsInWhere.fir.kt | 9 + .../typeParameterWithTwoBoundsInWhere.kt | 4 +- .../enumMembers.fir.kt | 4 +- .../finalMembersFromBuiltIns/enumMembers.kt | 2 + .../waitNotifyGetClass.fir.kt | 20 + .../waitNotifyGetClass.kt | 2 +- .../functionAndProperty/class.fir.kt | 6 + .../functionAndProperty/class.kt | 5 +- .../functionAndProperty/classObject.fir.kt | 8 + .../functionAndProperty/classObject.kt | 5 +- .../classPropertyInConstructor.fir.kt | 5 + .../classPropertyInConstructor.kt | 5 +- .../extensionFunctionAndNormalFunction.fir.kt | 7 + .../extensionFunctionAndNormalFunction.kt | 2 +- .../extensionPropertyAndFunction.fir.kt | 7 +- .../extensionPropertyAndFunction.kt | 1 + .../functionAndSetter.fir.kt | 8 + .../functionAndProperty/functionAndSetter.kt | 4 +- .../functionAndProperty/functionAndVar.fir.kt | 7 +- .../functionAndProperty/functionAndVar.kt | 3 +- .../functionAndProperty/localClass.fir.kt | 8 + .../functionAndProperty/localClass.kt | 5 +- .../localClassInClass.fir.kt | 10 + .../functionAndProperty/localClassInClass.kt | 5 +- .../functionAndProperty/nestedClass.fir.kt | 8 + .../functionAndProperty/nestedClass.kt | 5 +- .../functionAndProperty/object.fir.kt | 6 + .../functionAndProperty/object.kt | 5 +- .../objectExpression.fir.kt | 7 + .../functionAndProperty/objectExpression.kt | 5 +- .../objectExpressionInConstructor.fir.kt | 8 + .../objectExpressionInConstructor.kt | 5 +- .../functionAndProperty/topLevel.fir.kt | 4 + .../functionAndProperty/topLevel.kt | 5 +- .../functionAndProperty/topLevelGetter.fir.kt | 8 +- .../functionAndProperty/topLevelGetter.kt | 4 +- .../functionAndProperty/trait.fir.kt | 8 +- .../functionAndProperty/trait.kt | 4 +- .../inlineClasses/declarationClash.fir.kt | 5 +- .../inlineClasses/declarationClash.kt | 1 + .../classObjectCopiedField.fir.kt | 10 + .../specialNames/classObjectCopiedField.kt | 5 +- .../classObjectCopiedFieldObject.fir.kt | 20 + .../classObjectCopiedFieldObject.kt | 2 +- .../specialNames/dataClassCopy.fir.kt | 6 + .../specialNames/dataClassCopy.kt | 4 +- .../specialNames/defaults.fir.kt | 7 + .../specialNames/defaults.kt | 4 +- .../specialNames/enum.fir.kt | 9 + .../specialNames/enum.kt | 5 +- .../specialNames/instance.fir.kt | 9 + .../specialNames/instance.kt | 4 +- .../synthesized/enumValuesValueOf.fir.kt | 14 + .../synthesized/enumValuesValueOf.kt | 3 +- .../traitImpl/defaultVsNonDefault.fir.kt | 12 + .../traitImpl/defaultVsNonDefault.kt | 2 +- .../traitImpl/kt43611.fir.kt | 9 + .../traitImpl/kt43611.kt | 4 +- .../traitImpl/oneTrait.fir.kt | 9 + .../traitImpl/oneTrait.kt | 2 +- ...FunctionOverriddenByPropertyInTrait.fir.kt | 6 +- ...raitFunctionOverriddenByPropertyInTrait.kt | 2 + ...PropertyOverriddenByFunctionInTrait.fir.kt | 10 + ...raitPropertyOverriddenByFunctionInTrait.kt | 2 +- .../traitImpl/twoTraits.fir.kt | 13 + .../traitImpl/twoTraits.kt | 4 +- .../valueClasses/declarationClash.fir.kt | 13 +- .../valueClasses/declarationClash.kt | 1 + .../duplicateJvmSignature/vararg.fir.kt | 11 + .../duplicateJvmSignature/vararg.kt | 2 +- .../multipleBigArityFunsImplemented.fir.kt | 21 + .../multipleBigArityFunsImplemented.kt | 2 +- .../handlers/JvmBackendDiagnosticsHandler.kt | 9 +- .../AbstractDiagnosticsTestWithJvmBackend.kt | 5 + .../generators/GenerateJUnit5CompilerTests.kt | 4 + 140 files changed, 1511 insertions(+), 137 deletions(-) create mode 100644 compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated.java create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.fir.kt create mode 100644 compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.fir.kt diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated.java new file mode 100644 index 00000000000..a9259ce24b6 --- /dev/null +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated.java @@ -0,0 +1,750 @@ +/* + * Copyright 2010-2023 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 FirLightTreeDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirLightTreeDiagnosticsTestWithJvmIrBackend { + @Test + public void testAllFilesPresentInTestsWithJvmBackend() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("indirectInlineCycle.kt") + public void testIndirectInlineCycle() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/indirectInlineCycle.kt"); + } + + @Test + @TestMetadata("inlineCycle.kt") + public void testInlineCycle() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/inlineCycle.kt"); + } + + @Test + @TestMetadata("kt57104.kt") + public void testKt57104() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/kt57104.kt"); + } + + @Test + @TestMetadata("kt57104_2.kt") + public void testKt57104_2() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/kt57104_2.kt"); + } + + @Test + @TestMetadata("multipleBigArityFunsImplemented.kt") + public void testMultipleBigArityFunsImplemented() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.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"); + } + + @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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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.kt") + public void testDefaultFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.kt"); + } + + @Test + @TestMetadata("delegatedFunctionOverriddenByProperty.kt") + public void testDelegatedFunctionOverriddenByProperty() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/delegatedFunctionOverriddenByProperty.kt"); + } + + @Test + @TestMetadata("genericClassFunction.kt") + public void testGenericClassFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.kt"); + } + + @Test + @TestMetadata("overridesNothing.kt") + public void testOverridesNothing() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.kt"); + } + + @Test + @TestMetadata("privateClassFunctionOverriddenByProperty.kt") + public void testPrivateClassFunctionOverriddenByProperty() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/privateClassFunctionOverriddenByProperty.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByProperty.kt") + public void testTraitFunctionOverriddenByProperty() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByPropertyNoImpl.kt") + public void testTraitFunctionOverriddenByPropertyNoImpl() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunction.kt") + public void testTraitPropertyOverriddenByFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunctionNoImpl.kt") + public void testTraitPropertyOverriddenByFunctionNoImpl() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("class.kt") + public void testClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.kt"); + } + + @Test + @TestMetadata("fakeOverrideTrait.kt") + public void testFakeOverrideTrait() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.kt"); + } + + @Test + @TestMetadata("trait.kt") + public void testTrait() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("clashFromInterfaceAndSuperClass.kt") + public void testClashFromInterfaceAndSuperClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.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.kt") + public void testInheritFromTwoTraits() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.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.kt") + public void testSuperTraitAndDelegationToTraitImpl() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.kt"); + } + + @Test + @TestMetadata("twoTraitsAndOwnFunction.kt") + public void testTwoTraitsAndOwnFunction() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("enumMembers.kt") + public void testEnumMembers() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt"); + } + + @Test + @TestMetadata("waitNotifyGetClass.kt") + public void testWaitNotifyGetClass() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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.kt") + public void testTrait() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses") + @TestDataPath("$PROJECT_ROOT") + public class InlineClasses { + @Test + public void testAllFilesPresentInInlineClasses() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("declarationClash.kt") + public void testDeclarationClash() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("classObject.kt") + public void testClassObject() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObject.kt"); + } + + @Test + @TestMetadata("classObjectCopiedField.kt") + public void testClassObjectCopiedField() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.kt"); + } + + @Test + @TestMetadata("classObjectCopiedFieldObject.kt") + public void testClassObjectCopiedFieldObject() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.kt"); + } + + @Test + @TestMetadata("dataClassCopy.kt") + public void testDataClassCopy() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.kt"); + } + + @Test + @TestMetadata("defaults.kt") + public void testDefaults() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.kt"); + } + + @Test + @TestMetadata("delegationBy.kt") + public void testDelegationBy() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/delegationBy.kt"); + } + + @Test + @TestMetadata("enum.kt") + public void testEnum() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.kt"); + } + + @Test + @TestMetadata("innerClassField.kt") + public void testInnerClassField() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/innerClassField.kt"); + } + + @Test + @TestMetadata("instance.kt") + public void testInstance() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.kt"); + } + + @Test + @TestMetadata("propertyMetadataCache.kt") + public void testPropertyMetadataCache() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/propertyMetadataCache.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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("defaultVsNonDefault.kt") + public void testDefaultVsNonDefault() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.kt"); + } + + @Test + @TestMetadata("kt43611.kt") + public void testKt43611() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt"); + } + + @Test + @TestMetadata("oneTrait.kt") + public void testOneTrait() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.kt"); + } + + @Test + @TestMetadata("traitFunctionOverriddenByPropertyInTrait.kt") + public void testTraitFunctionOverriddenByPropertyInTrait() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.kt"); + } + + @Test + @TestMetadata("traitPropertyOverriddenByFunctionInTrait.kt") + public void testTraitPropertyOverriddenByFunctionInTrait() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.kt"); + } + + @Test + @TestMetadata("twoTraits.kt") + public void testTwoTraits() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.kt"); + } + } + + @Nested + @TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses") + @TestDataPath("$PROJECT_ROOT") + public class ValueClasses { + @Test + public void testAllFilesPresentInValueClasses() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("declarationClash.kt") + public void testDeclarationClash() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), 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$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true); + } + + @Test + @TestMetadata("cloneable.kt") + public void testCloneable() throws Exception { + runTest("compiler/testData/diagnostics/testsWithJvmBackend/valueClasses/cloneable.kt"); + } + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.fir.kt new file mode 100644 index 00000000000..52f59b0e95c --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.fir.kt @@ -0,0 +1,15 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER +interface Foo { + fun foo(x: X) +} + +open class FooImpl : Foo { + override fun foo(x: String) { + } +} + +open class FooImpl2 : FooImpl() { + fun foo(x: Any) { + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.kt index 4d5a3fc834a..9bb1905aaf8 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/accidentalOverrideFromGrandparent.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { fun foo(x: X) diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.fir.kt index 7f101fb02cb..7cdafa1fa9c 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.fir.kt @@ -1,8 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + open class B { fun getX() = 1 } class C : B() { - val x: Int - get() = 1 + val x: Int + get() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt index cb114398459..39dc1b639e7 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByProperty.kt @@ -1,3 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE + open class B { fun getX() = 1 } @@ -5,4 +7,4 @@ open class B { class C : B() { val x: Int get() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.fir.kt new file mode 100644 index 00000000000..676068a71af --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE + +open class B { + fun getX() = 1 +} + +class C : B() { + val x: Int = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.kt index edde17be14d..ccc4648cb72 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classFunctionOverriddenByPropertyNoGetter.kt @@ -1,8 +1,9 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + open class B { fun getX() = 1 } class C : B() { val x: Int = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.fir.kt new file mode 100644 index 00000000000..035dff7dd8a --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + +open class B { + val x: Int + get() = 1 +} + +class C : B() { + fun getX() = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.kt index 96c253a80bf..ff50f157394 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/classPropertyOverriddenByFunction.kt @@ -1,4 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + open class B { val x: Int get() = 1 @@ -6,4 +7,4 @@ open class B { class C : B() { fun getX() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.fir.kt new file mode 100644 index 00000000000..ce8ca162012 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +open class Base { + open fun `foo$default`(d: Derived, i: Int, mask: Int, mh: Any) {} +} + +class Derived : Base() { + fun foo(i: Int = 0) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.kt index dcdaab42ff3..64609a7c1e7 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/defaultFunction.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER open class Base { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.fir.kt new file mode 100644 index 00000000000..8f0c5740d9a --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +open class B { + fun foo(l: List) {} +} + +class C : B() { + fun foo(l: List) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.kt index 2a89e2e191e..e91c5a67d3b 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/genericClassFunction.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER open class B { @@ -7,4 +7,4 @@ open class B { class C : B() { fun foo(l: List) {} -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.fir.kt new file mode 100644 index 00000000000..245f99992a9 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE + +interface B { + fun getX() = 1 +} + +class C : B { + override val x = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.kt index ca96c2a46d8..cea703420aa 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/overridesNothing.kt @@ -1,8 +1,9 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + 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/traitFunctionOverriddenByProperty.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.fir.kt index b9e4cf5f057..5250e70ff87 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.fir.kt @@ -1,8 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { fun getX() = 1 } class C : T { - val x: Int - get() = 1 + val x: Int + get() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.kt index f8f3d413c83..102ca654346 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByProperty.kt @@ -1,3 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { fun getX() = 1 } @@ -5,4 +7,4 @@ interface T { class C : T { val x: Int get() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.fir.kt index 8f2f51dec5b..7d31a0368c7 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.fir.kt @@ -1,8 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { fun getX(): Int } abstract class C : T { - val x: Int - get() = 1 + val x: Int + get() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt index 428eaedd188..e9a8e2b11d5 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitFunctionOverriddenByPropertyNoImpl.kt @@ -1,3 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { fun getX(): Int } @@ -5,4 +7,4 @@ interface T { abstract class C : T { val x: Int get() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.fir.kt new file mode 100644 index 00000000000..dd5e5b6b279 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + +interface T { + val x: Int + get() = 1 +} + +class C : T { + fun getX() = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.kt index 2b6641460fa..aad952e94e7 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunction.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE interface T { val x: Int diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.fir.kt new file mode 100644 index 00000000000..43f4eb6c2ea --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE + +interface T { + val x: Int +} + +abstract class C : T { + fun getX() = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.kt index 646a33d55f7..25344c80389 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/accidentalOverrides/traitPropertyOverriddenByFunctionNoImpl.kt @@ -1,8 +1,9 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + interface T { val x: Int } abstract class C : T { fun getX() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.fir.kt new file mode 100644 index 00000000000..4a1f1c5e886 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.fir.kt @@ -0,0 +1,12 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +open class B { + open fun foo(t: T) {} +} + +class C : B() { + override fun foo(t: String) {} + + fun foo(o: Any) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.kt index b2cfcf398c8..563307708fb 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/class.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER open class B { @@ -9,4 +9,4 @@ class C : B() { override fun foo(t: String) {} fun foo(o: Any) {} -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.fir.kt new file mode 100644 index 00000000000..c350a2f6345 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface B { + fun foo(t: T) {} +} + +class C : B { + fun foo(o: Any) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.kt index 111ee53b25f..4cbfe2af193 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/fakeOverrideTrait.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface B { @@ -7,4 +7,4 @@ interface B { class C : B { fun foo(o: Any) {} -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.fir.kt new file mode 100644 index 00000000000..2ae3cbfe7b1 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.fir.kt @@ -0,0 +1,12 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface B { + fun foo(t: T) {} +} + +class C : B { + override fun foo(t: String) {} + + fun foo(o: Any) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.kt index 8332516c771..c03b5bce7b7 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/bridges/trait.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface B { @@ -9,4 +9,4 @@ class C : B { override fun foo(t: String) {} fun foo(o: Any) {} -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.fir.kt new file mode 100644 index 00000000000..e757c4c0641 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.fir.kt @@ -0,0 +1,4 @@ +// COMPARE_WITH_LIGHT_TREE + +val aa = 1 +val Aa = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.kt index c4342350441..7ad53983c84 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/caseInProperties.kt @@ -1,3 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + val aa = 1 -val Aa = 1 \ No newline at end of file +val Aa = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt new file mode 100644 index 00000000000..f5dab32febd --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.fir.kt @@ -0,0 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE +// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses +// !DIAGNOSTICS: -UNUSED_PARAMETER + +inline class IC(val i: Int) + +fun foo(a: Any, ic: IC) {} +fun foo(a: Any?, ic: IC) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt index f142d9f2547..3cd82d2ab9b 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/changingNullabilityOfOrdinaryClassIsBinaryCompatibleChange.kt @@ -1,8 +1,8 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !LANGUAGE: +InlineClasses, -JvmInlineValueClasses // !DIAGNOSTICS: -UNUSED_PARAMETER inline class IC(val i: Int) fun foo(a: Any, ic: IC) {} -fun foo(a: Any?, ic: IC) {} \ No newline at end of file +fun foo(a: Any?, ic: IC) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.fir.kt new file mode 100644 index 00000000000..20af4e6b487 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.fir.kt @@ -0,0 +1,20 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +public open class A { + fun foo(x: T) = "O" + fun foo(x: A) = "K" +} + +interface C { + fun foo(x: E): String + fun foo(x: A): String +} + +interface D { + fun foo(x: A): String +} + +class B1 : A>(), D + +interface B2 : C>, D diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.kt index 3b66fcc0924..e045da5e2d7 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/clashFromInterfaceAndSuperClass.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER public open class A { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.fir.kt new file mode 100644 index 00000000000..ee69af4329c --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.fir.kt @@ -0,0 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +fun foo(s: List) {} +fun foo(s: MutableList) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.kt index 6abcfe88fe0..bc9c2457461 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/collections.kt @@ -1,5 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER fun foo(s: List) {} -fun foo(s: MutableList) {} \ No newline at end of file +fun foo(s: MutableList) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.fir.kt new file mode 100644 index 00000000000..dca72f74897 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.fir.kt @@ -0,0 +1,15 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo { + fun foo(l: List) +} + +interface Bar { + fun foo(l: List) +} + +class Baz(f: Foo, b: Bar) : + Foo by f, + Bar by b { +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt index 3b835eb44ce..a1a64d4bfa1 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegateToTwoTraits.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.fir.kt new file mode 100644 index 00000000000..e977b88326b --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo { + fun foo(l: List) +} + +class Bar(f: Foo): Foo by f { + fun foo(l: List) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt index 27738d26a2c..7d8d245e6d2 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationAndOwnMethod.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.fir.kt new file mode 100644 index 00000000000..6e6ca4dcbf4 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.fir.kt @@ -0,0 +1,16 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo { + fun foo(l: List) { + + } +} + +class Bar(f: Foo): Foo by f { + fun foo(l: List) {} +} + +class BarOther(f: Foo): Foo by f { + override fun foo(l: List) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt index 9b608a382c0..e614ea4d334 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/delegationToTraitImplAndOwnMethod.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.fir.kt index 0fe46a7851a..81a5d0ff7da 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.fir.kt @@ -1,7 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE + class G -val G.foo: Int - get() = 1 +val G.foo: Int + get() = 1 -val G.foo: Int - get() = 1 +val G.foo: Int + get() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt index fa4f8a0a017..0c0855d555f 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/extensionProperties.kt @@ -1,7 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE + class G val G.foo: Int get() = 1 val G.foo: Int - get() = 1 \ No newline at end of file + get() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.fir.kt new file mode 100644 index 00000000000..13ff5b8a89c --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.fir.kt @@ -0,0 +1,7 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +class G + +fun foo(x: G): G {null!!} +fun foo(x: G): G {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.kt index 89aab75b675..02f0ca6ced2 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/genericType.kt @@ -1,7 +1,7 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class G fun foo(x: G): G {null!!} -fun foo(x: G): G {null!!} \ No newline at end of file +fun foo(x: G): G {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.fir.kt new file mode 100644 index 00000000000..2866e1d52f0 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.fir.kt @@ -0,0 +1,13 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo { + fun foo(l: List) {} +} + +interface Bar { + fun foo(l: List) {} +} + +class Baz(): Foo, Bar { +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.kt index 132b5ace90c..8e8ad40a0f8 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/inheritFromTwoTraits.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { @@ -10,4 +10,4 @@ interface Bar { } class Baz(): Foo, Bar { -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.fir.kt new file mode 100644 index 00000000000..4ce45644d4e --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.fir.kt @@ -0,0 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN + +fun foo(s: List) {} +fun foo(s: java.util.List) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.kt index 0705b9e5e0c..cf4528d8232 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/kotlinAndJavaCollections.kt @@ -1,5 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN fun foo(s: List) {} -fun foo(s: java.util.List) {} \ No newline at end of file +fun foo(s: java.util.List) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.fir.kt new file mode 100644 index 00000000000..d0c372cdf24 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.fir.kt @@ -0,0 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +fun foo(x: String) {} +fun foo(x: String?) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.kt index cd9ca636bfc..f031e6de924 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/nullableType.kt @@ -1,5 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER fun foo(x: String) {} -fun foo(x: String?) {} \ No newline at end of file +fun foo(x: String?) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.fir.kt new file mode 100644 index 00000000000..09d50bb6039 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.fir.kt @@ -0,0 +1,14 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface A { + fun foo(l: List) +} + +interface B { + fun foo(l: List) {} +} + +class C(f: A): A by f, B + +class D(f: A): A by f, B diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.kt index b1dc2c2191a..9feb89aa717 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/superTraitAndDelegationToTraitImpl.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface A { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.fir.kt new file mode 100644 index 00000000000..56b1fdc38d4 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.fir.kt @@ -0,0 +1,14 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo { + fun foo(l: List) {} +} + +interface Bar { + fun foo(l: List) {} +} + +class Baz(): Foo, Bar { + fun foo(l: List) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.kt index 13d4ddcbf99..7eb777a90cd 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/twoTraitsAndOwnFunction.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo { @@ -11,4 +11,4 @@ interface Bar { class Baz(): Foo, Bar { fun foo(l: List) {} -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.fir.kt new file mode 100644 index 00000000000..c358e0f1d0d --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.fir.kt @@ -0,0 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN + +fun foo(s: java.lang.String) {} +fun foo(s: String) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.kt index 0010af0d461..71898e33cc1 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeMappedToJava.kt @@ -1,5 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER -PLATFORM_CLASS_MAPPED_TO_KOTLIN fun foo(s: java.lang.String) {} -fun foo(s: String) {} \ No newline at end of file +fun foo(s: String) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.fir.kt new file mode 100644 index 00000000000..b8a73370ae8 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.fir.kt @@ -0,0 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +fun foo(x: T): T {null!!} +fun foo(x: Any): Any {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.kt index 32c037936ee..7714caacae0 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameter.kt @@ -1,5 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER fun foo(x: T): T {null!!} -fun foo(x: Any): Any {null!!} \ No newline at end of file +fun foo(x: Any): Any {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.fir.kt new file mode 100644 index 00000000000..22c3a4dff84 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.fir.kt @@ -0,0 +1,7 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo + +fun foo(x: T): T {null!!} +fun foo(x: Foo): Foo {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.kt index b57481b63a0..a227b18c0f7 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithBound.kt @@ -1,7 +1,7 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo fun foo(x: T): T {null!!} -fun foo(x: Foo): Foo {null!!} \ No newline at end of file +fun foo(x: Foo): Foo {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.fir.kt new file mode 100644 index 00000000000..c8419174236 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo +interface Bar + +fun foo(x: T): T where T: Foo, T: Bar {null!!} +fun foo(x: Foo): Foo {null!!} +fun foo(x: Bar): Bar {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.kt index 9c7f3088057..84875b046fb 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBounds.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo @@ -6,4 +6,4 @@ interface Bar fun foo(x: T): T where T: Foo, T: Bar {null!!} fun foo(x: Foo): Foo {null!!} -fun foo(x: Bar): Bar {null!!} \ No newline at end of file +fun foo(x: Bar): Bar {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.fir.kt new file mode 100644 index 00000000000..c8419174236 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface Foo +interface Bar + +fun foo(x: T): T where T: Foo, T: Bar {null!!} +fun foo(x: Foo): Foo {null!!} +fun foo(x: Bar): Bar {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.kt index 9c7f3088057..84875b046fb 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/erasure/typeParameterWithTwoBoundsInWhere.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface Foo @@ -6,4 +6,4 @@ interface Bar fun foo(x: T): T where T: Foo, T: Bar {null!!} fun foo(x: Foo): Foo {null!!} -fun foo(x: Bar): Bar {null!!} \ No newline at end of file +fun foo(x: Bar): Bar {null!!} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.fir.kt index ac2fc315d6e..1bf8a848b25 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.fir.kt @@ -1,6 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE + enum class E { ENTRY; fun getDeclaringClass() {} - fun finalize() {} + fun finalize() {} } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt index d333d24e91d..b821dfd0402 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/enumMembers.kt @@ -1,3 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE + enum class E { ENTRY; diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.fir.kt new file mode 100644 index 00000000000..97d0a8fe932 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.fir.kt @@ -0,0 +1,20 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +// KT-7174 Report error on members with the same signature as non-overridable methods from mapped Java types (like Object.wait/notify) + +class A { + fun notify() {} + fun notifyAll() {} + fun wait() {} + fun wait(l: Long) {} + fun wait(l: Long, i: Int) {} + fun getClass(): Class = null!! +} + +fun notify() {} +fun notifyAll() {} +fun wait() {} +fun wait(l: Long) {} +fun wait(l: Long, i: Int) {} +fun getClass(): Class = null!! diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.kt index f549f797d1c..618f6a49c9b 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/finalMembersFromBuiltIns/waitNotifyGetClass.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER // KT-7174 Report error on members with the same signature as non-overridable methods from mapped Java types (like Object.wait/notify) diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.fir.kt new file mode 100644 index 00000000000..f910fc8015d --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.fir.kt @@ -0,0 +1,6 @@ +// COMPARE_WITH_LIGHT_TREE + +class C { + val x = 1 + fun getX() = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.kt index 570f547b47a..b7851a5a29b 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/class.kt @@ -1,5 +1,6 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + class C { val x = 1 fun getX() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.fir.kt new file mode 100644 index 00000000000..b4ae1deb083 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.fir.kt @@ -0,0 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE + +class C { + companion object { + val x = 1 + fun getX() = 1 + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.kt index 6dbb1669ef1..12a0346cfcb 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classObject.kt @@ -1,7 +1,8 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + class C { companion object { val x = 1 fun getX() = 1 } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.fir.kt new file mode 100644 index 00000000000..12a067f4e6c --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.fir.kt @@ -0,0 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE + +class C(val x: Int) { + fun getX() = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.kt index adeb6f954a0..5e42e2de0de 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/classPropertyInConstructor.kt @@ -1,4 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + class C(val x: Int) { fun getX() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.fir.kt new file mode 100644 index 00000000000..300163f7d62 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.fir.kt @@ -0,0 +1,7 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +class C { + fun foo(x: Any) {} + fun Any.foo() {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.kt index 08b0987c338..fdde1e754c3 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionFunctionAndNormalFunction.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class C { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.fir.kt index 400e96dd267..43d3493efd2 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.fir.kt @@ -1,7 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class C { - fun getX(t: Any) = 1 - val Any.x: Int - get() = 1 + fun getX(t: Any) = 1 + val Any.x: Int + get() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt index eec16d6f66a..d5b677e97ce 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/extensionPropertyAndFunction.kt @@ -1,3 +1,4 @@ +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class C { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.fir.kt new file mode 100644 index 00000000000..c48c59f5342 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.fir.kt @@ -0,0 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +class C { + fun setX(x: Int) {} + + var x: Int = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.kt index a97a645e0fa..dfdf7828781 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndSetter.kt @@ -1,8 +1,8 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class C { fun setX(x: Int) {} var x: Int = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.fir.kt index afec6ea9e00..fc236e55c5b 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.fir.kt @@ -1,8 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class C { - fun setX(x: Int) {} + fun setX(x: Int) {} - var x: Int = 1 - set(v) {} + var x: Int = 1 + set(v) {} } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt index 16c335a3207..9ba7b1364cb 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/functionAndVar.kt @@ -1,3 +1,4 @@ +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class C { @@ -5,4 +6,4 @@ class C { var x: Int = 1 set(v) {} -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.fir.kt new file mode 100644 index 00000000000..dfeef0e6df2 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.fir.kt @@ -0,0 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE + +fun foo() { + class C { + val x = 1 + fun getX() = 1 + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.kt index 051bd45b3f1..86446a92eb5 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClass.kt @@ -1,7 +1,8 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + fun foo() { class C { val x = 1 fun getX() = 1 } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.fir.kt new file mode 100644 index 00000000000..0481b75a5c9 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + +class Outer { + fun foo() { + class C { + val x = 1 + fun getX() = 1 + } + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.kt index 0e14eb1237c..1da3f3e405e 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/localClassInClass.kt @@ -1,4 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + class Outer { fun foo() { class C { @@ -6,4 +7,4 @@ class Outer { fun getX() = 1 } } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.fir.kt new file mode 100644 index 00000000000..628ee11bbdc --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.fir.kt @@ -0,0 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE + +class B { + class C { + val x = 1 + fun getX() = 1 + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.kt index be5f4eb476b..5c40331bd80 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/nestedClass.kt @@ -1,7 +1,8 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + class B { class C { val x = 1 fun getX() = 1 } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.fir.kt new file mode 100644 index 00000000000..518f64c69c9 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.fir.kt @@ -0,0 +1,6 @@ +// COMPARE_WITH_LIGHT_TREE + +object C { + val x = 1 + fun getX() = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.kt index 771f8953c06..f8cd431bd28 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/object.kt @@ -1,5 +1,6 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + object C { val x = 1 fun getX() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.fir.kt new file mode 100644 index 00000000000..0f23dd0221f --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.fir.kt @@ -0,0 +1,7 @@ +// COMPARE_WITH_LIGHT_TREE + +fun foo() = + object { + val x = 1 + fun getX() = 1 + } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.kt index 566257b7900..0297d13d633 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpression.kt @@ -1,6 +1,7 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + fun foo() = object { val x = 1 fun getX() = 1 - } \ No newline at end of file + } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.fir.kt new file mode 100644 index 00000000000..2b236d99474 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.fir.kt @@ -0,0 +1,8 @@ +// COMPARE_WITH_LIGHT_TREE + +class Outer { + val x = object { + val x = 1 + fun getX() = 1 + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.kt index ea9059864b2..69133f37b33 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/objectExpressionInConstructor.kt @@ -1,7 +1,8 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + class Outer { val x = object { val x = 1 fun getX() = 1 } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.fir.kt new file mode 100644 index 00000000000..886fecb73a0 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.fir.kt @@ -0,0 +1,4 @@ +// COMPARE_WITH_LIGHT_TREE + +val x = 1 +fun getX() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.kt index eef957606a2..78102ff892b 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevel.kt @@ -1,3 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + val x = 1 -fun getX() = 1 \ No newline at end of file +fun getX() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.fir.kt index a9a6d8067f9..1b1a26e0242 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.fir.kt @@ -1,3 +1,5 @@ -val x: Int - get() = 1 -fun getX() = 1 +// COMPARE_WITH_LIGHT_TREE + +val x: Int + get() = 1 +fun getX() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt index 8a2aced6a29..28951b52af4 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/topLevelGetter.kt @@ -1,3 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE + val x: Int get() = 1 -fun getX() = 1 \ No newline at end of file +fun getX() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.fir.kt index 377cef7e93e..aae05ab0fdc 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.fir.kt @@ -1,5 +1,7 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { - val x: Int - get() = 1 - fun getX() = 1 + val x: Int + get() = 1 + fun getX() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.kt index 81fca7ab9c5..45e2438586e 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/functionAndProperty/trait.kt @@ -1,5 +1,7 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { val x: Int get() = 1 fun getX() = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.fir.kt index f47c76b2fb9..848d48d8029 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.fir.kt @@ -1,10 +1,11 @@ +// COMPARE_WITH_LIGHT_TREE // WITH_STDLIB @JvmInline value class A(val x: Int) { - constructor(x: UInt): this(x.toInt()) + constructor(x: UInt): this(x.toInt()) } data class B(val x: UInt) { - constructor(x: Int) : this(x.toUInt()) + constructor(x: Int) : this(x.toUInt()) } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.kt index d6518c301c5..d4e21455b72 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/inlineClasses/declarationClash.kt @@ -1,3 +1,4 @@ +// COMPARE_WITH_LIGHT_TREE // WITH_STDLIB @JvmInline diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.fir.kt new file mode 100644 index 00000000000..0fda7cf5760 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + +class C { + companion object { + val X = 1 + val `X$1` = 1 + } + + val X = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.kt index a5487d35da7..2122b3ab827 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedField.kt @@ -1,4 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + class C { companion object { val X = 1 @@ -6,4 +7,4 @@ class C { } val X = 1 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.fir.kt new file mode 100644 index 00000000000..36a8cf89607 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.fir.kt @@ -0,0 +1,20 @@ +// COMPARE_WITH_LIGHT_TREE + +class B { + companion object A { + } + + val A: A = B.A +} + +class C { + companion object A { + val A: A = C.A + } +} + +class D { + companion object A { + lateinit var A: A + } +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.kt index f4bdc63a3dc..3c3035ff35a 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/classObjectCopiedFieldObject.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE class B { companion object A { diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.fir.kt new file mode 100644 index 00000000000..0640a60e87c --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.fir.kt @@ -0,0 +1,6 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +data class C(val c: Int) { + fun `copy$default`(c: C, x: Int, m: Int, mh: Any) = C(this.c) +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.kt index 2b276437ceb..9f1b3881494 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/dataClassCopy.kt @@ -1,6 +1,6 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER data class C(val c: Int) { fun `copy$default`(c: C, x: Int, m: Int, mh: Any) = C(this.c) -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.fir.kt new file mode 100644 index 00000000000..3c61934974e --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.fir.kt @@ -0,0 +1,7 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +class C { + fun `a$default`(c: C, x: Int, m: Int, mh: Any) {} + fun a(x: Int = 1) {} +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.kt index 814ced9cf29..22b02c02240 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/defaults.kt @@ -1,7 +1,7 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER class C { fun `a$default`(c: C, x: Int, m: Int, mh: Any) {} fun a(x: Int = 1) {} -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.fir.kt new file mode 100644 index 00000000000..2690c61e08b --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +enum class E { + A; + + fun values(): Array = null!! + fun valueOf(s: String): E = null!! +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.kt index 226d81bd119..1d5a85e95af 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/enum.kt @@ -1,8 +1,9 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER + enum class E { A; fun values(): Array = null!! fun valueOf(s: String): E = null!! -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.fir.kt new file mode 100644 index 00000000000..e8ddc0dd38b --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE + +object O { + val INSTANCE: O = null!! +} + +object O2 { + lateinit var INSTANCE: O2 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.kt index 49ecbcf6568..395b2b835e0 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/specialNames/instance.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE object O { val INSTANCE: O = null!! @@ -6,4 +6,4 @@ object O { object O2 { lateinit var INSTANCE: O2 -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.fir.kt new file mode 100644 index 00000000000..8812d76b1ab --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.fir.kt @@ -0,0 +1,14 @@ +// COMPARE_WITH_LIGHT_TREE + +enum class A { + A1, + A2; + + fun valueOf(s: String): A = valueOf(s) + + fun valueOf() = "OK" + + fun values(): Array = null!! + + fun values(x: String) = x +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.kt index 2e928695092..7eb5204cc94 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/synthesized/enumValuesValueOf.kt @@ -1,4 +1,5 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE + enum class A { A1, A2; diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.fir.kt new file mode 100644 index 00000000000..7d2db136306 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.fir.kt @@ -0,0 +1,12 @@ +// COMPARE_WITH_LIGHT_TREE + +interface Base1 { + fun getX(): Int +} + +interface Base2 { + val x: Int + get() = 1 +} + +interface Test : Base1, Base2 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.kt index c769a8fccc1..94dd0bd2dc9 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/defaultVsNonDefault.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE interface Base1 { fun getX(): Int diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.fir.kt new file mode 100644 index 00000000000..60cd47f30b6 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +interface A { + fun f(a: List): String = TODO() + private fun f(a: List): String = TODO() +} + +class B : A diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt index 74ac3b4cce4..cf32cb23a1c 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/kt43611.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER interface A { @@ -6,4 +6,4 @@ interface A { private fun f(a: List): String = TODO() } -class B : A \ No newline at end of file +class B : A diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.fir.kt new file mode 100644 index 00000000000..436d7a2bf7e --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.fir.kt @@ -0,0 +1,9 @@ +// COMPARE_WITH_LIGHT_TREE + +interface T { + fun getX() = 1 +} + +class C : T { + val x = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.kt index 06f0e31bffd..ec09db62f51 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/oneTrait.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE interface T { fun getX() = 1 diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.fir.kt index 32381a3c31c..36be921e368 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.fir.kt @@ -1,8 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { fun getX() = 1 } interface C : T { - val x: Int - get() = 1 + val x: Int + get() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.kt index 77b0641286e..87bbee44bc1 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitFunctionOverriddenByPropertyInTrait.kt @@ -1,3 +1,5 @@ +// COMPARE_WITH_LIGHT_TREE + interface T { fun getX() = 1 } diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.fir.kt new file mode 100644 index 00000000000..652e53fe999 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.fir.kt @@ -0,0 +1,10 @@ +// COMPARE_WITH_LIGHT_TREE + +interface T { + val x: Int + get() = 1 +} + +interface C : T { + fun getX() = 1 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.kt index f87f32f2483..bf530b14477 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/traitPropertyOverriddenByFunctionInTrait.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE interface T { val x: Int diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.fir.kt new file mode 100644 index 00000000000..bcf87c2668a --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.fir.kt @@ -0,0 +1,13 @@ +// COMPARE_WITH_LIGHT_TREE + +interface T1 { + fun getX() = 1 +} + +interface T2 { + val x: Int + get() = 1 +} + +class C : T1, T2 { +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.kt index a205e63ee4e..6494de3df1f 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/traitImpl/twoTraits.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE interface T1 { fun getX() = 1 @@ -10,4 +10,4 @@ interface T2 { } class C : T1, T2 { -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.fir.kt index f2ce85eab0f..b00e9cd8efb 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.fir.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.fir.kt @@ -1,13 +1,14 @@ +// COMPARE_WITH_LIGHT_TREE // !LANGUAGE: +ValueClasses // WITH_STDLIB @JvmInline value class A(val x: Int, val y: Int) { - constructor(other: A): this(other.x, other.y) - constructor(x: UInt, y: UInt): this(x.toInt(), y.toInt()) + constructor(other: A): this(other.x, other.y) + constructor(x: UInt, y: UInt): this(x.toInt(), y.toInt()) } -data class B(val x: UInt, val y: UInt) { - constructor(other: A) : this(other.x, other.y) - constructor(x: Int, y: Int) : this(x.toUInt(), y.toUInt()) -} +data class B(val x: UInt, val y: UInt) { + constructor(other: A) : this(other.x, other.y) + constructor(x: Int, y: Int) : this(x.toUInt(), y.toUInt()) +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.kt index 9d024d14dae..925fb351423 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/valueClasses/declarationClash.kt @@ -1,3 +1,4 @@ +// COMPARE_WITH_LIGHT_TREE // !LANGUAGE: +ValueClasses // WITH_STDLIB diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.fir.kt new file mode 100644 index 00000000000..bd313ab9e71 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.fir.kt @@ -0,0 +1,11 @@ +// COMPARE_WITH_LIGHT_TREE +// !DIAGNOSTICS: -UNUSED_PARAMETER + +fun foo(vararg x: Int) {} +fun foo(x: IntArray) {} + +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/duplicateJvmSignature/vararg.kt b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt index 018bf68eeee..5d5c15025f8 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/duplicateJvmSignature/vararg.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE // !DIAGNOSTICS: -UNUSED_PARAMETER fun foo(vararg x: Int) {} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.fir.kt b/compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.fir.kt new file mode 100644 index 00000000000..9b5b3cd572d --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.fir.kt @@ -0,0 +1,21 @@ +// COMPARE_WITH_LIGHT_TREE + +class Fun : + (Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, + Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int) -> Int, + (Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, + Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int) -> Int +{ + override fun invoke( + p00: Int, p01: Int, p02: Int, p03: Int, p04: Int, p05: Int, p06: Int, p07: Int, p08: Int, p09: Int, + p10: Int, p11: Int, p12: Int, p13: Int, p14: Int, p15: Int, p16: Int, p17: Int, p18: Int, p19: Int, + p20: Int, p21: Int, p22: Int, p23: Int, p24: Int, p25: Int, p26: Int, p27: Int, p28: Int, p29: Int + ): Int = 330 + + override fun invoke( + p00: Int, p01: Int, p02: Int, p03: Int, p04: Int, p05: Int, p06: Int, p07: Int, p08: Int, p09: Int, + p10: Int, p11: Int, p12: Int, p13: Int, p14: Int, p15: Int, p16: Int, p17: Int, p18: Int, p19: Int, + p20: Int, p21: Int, p22: Int, p23: Int, p24: Int, p25: Int, p26: Int, p27: Int, p28: Int, p29: Int, + p30: Int, p31: Int, p32: Int + ): Int = 333 +} diff --git a/compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.kt b/compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.kt index 2c2564c4eee..7b4bb559b4f 100644 --- a/compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.kt +++ b/compiler/testData/diagnostics/testsWithJvmBackend/multipleBigArityFunsImplemented.kt @@ -1,4 +1,4 @@ -// FIR_IDENTICAL +// COMPARE_WITH_LIGHT_TREE class Fun : (Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, Int, diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBackendDiagnosticsHandler.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBackendDiagnosticsHandler.kt index a22d85431e9..52774fc7871 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBackendDiagnosticsHandler.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/JvmBackendDiagnosticsHandler.kt @@ -15,7 +15,10 @@ import org.jetbrains.kotlin.diagnostics.impl.BaseDiagnosticsCollector import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.resolve.jvm.diagnostics.KtDefaultJvmErrorMessages +import org.jetbrains.kotlin.test.FirParser import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives +import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives +import org.jetbrains.kotlin.test.directives.model.singleOrZeroValue import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticReporter import org.jetbrains.kotlin.test.frontend.classic.handlers.withNewInferenceModeEnabled import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDiagnosticCodeMetaInfo @@ -57,11 +60,13 @@ class JvmBackendDiagnosticsHandler(testServices: TestServices) : JvmBinaryArtifa private fun reportKtDiagnostics(module: TestModule, info: BinaryArtifacts.Jvm) { val ktDiagnosticReporter = info.classFileFactory.generationState.diagnosticReporter as BaseDiagnosticsCollector val globalMetadataInfoHandler = testServices.globalMetadataInfoHandler + val firParser = module.directives.singleOrZeroValue(FirDiagnosticsDirectives.FIR_PARSER) + val lightTreeComparingModeEnabled = firParser != null && FirDiagnosticsDirectives.COMPARE_WITH_LIGHT_TREE in module.directives + val lightTreeEnabled = firParser == FirParser.LightTree for (testFile in module.files) { val ktDiagnostics = ktDiagnosticReporter.diagnosticsByFilePath["/${testFile.name}"] ?: continue ktDiagnostics.forEach { - val metaInfos = - it.toMetaInfos(module, testFile, globalMetadataInfoHandler, false, false) + val metaInfos = it.toMetaInfos(module, testFile, globalMetadataInfoHandler, lightTreeEnabled, lightTreeComparingModeEnabled) globalMetadataInfoHandler.addMetadataInfosForFile(testFile, metaInfos) } } 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 c9d61fe8c77..54fea49b7bb 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 @@ -29,6 +29,7 @@ import org.jetbrains.kotlin.test.frontend.fir.Fir2IrJvmResultsConverter 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.frontend.fir.handlers.PsiLightTreeMetaInfoProcessor import org.jetbrains.kotlin.test.model.* import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator @@ -63,6 +64,7 @@ abstract class AbstractDiagnosticsTestWithJvmBackend) { model("diagnostics/testsWithJvmBackend", excludedPattern = excludedCustomTestdataPattern) } + testClass { + model("diagnostics/testsWithJvmBackend", excludedPattern = excludedCustomTestdataPattern) + } + testClass { model("codegen/boxInline") }