From 297d07f465b73c6d0a37c331b961704324e08544 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 1 Nov 2019 17:19:06 +0300 Subject: [PATCH] [FIR] Refactor fir resolve tests Now there is only base test runner for all kinds of diagnostics test (`AbstractFirBaseDiagnosticsTest`) --- .../samConstructors/genericSam.kt | 0 .../samConstructors/genericSam.txt | 0 .../genericSamInferenceFromExpectType.kt | 0 .../genericSamInferenceFromExpectType.txt | 0 .../samConstructors/kotlinSam.kt | 0 .../samConstructors/kotlinSam.txt | 0 .../realConstructorFunction.kt | 6 +- .../realConstructorFunction.txt | 0 .../samConstructors/runnable.kt | 0 .../samConstructors/runnable.txt | 0 .../samConstructors/simple.kt | 0 .../samConstructors/simple.txt | 0 .../samConversions/genericSam.kt | 0 .../samConversions/genericSam.txt | 0 .../samConversions/kotlinSam.kt | 8 +- .../samConversions/kotlinSam.txt | 0 .../notSamBecauseOfSupertype.kt | 4 +- .../notSamBecauseOfSupertype.txt | 0 .../samConversions/runnable.kt | 0 .../samConversions/runnable.txt | 0 .../samConversions/samSupertype.kt | 0 .../samConversions/samSupertype.txt | 0 .../samSupertypeWithOverride.kt | 0 .../samSupertypeWithOverride.txt | 0 .../samConversions/simple.kt | 0 .../samConversions/simple.txt | 0 .../callableReferences/beyoundCalls.kt | 2 +- .../callableReferences/beyoundCalls.txt | 0 .../stdlib}/callableReferences/companions.kt | 6 +- .../stdlib}/callableReferences/companions.txt | 0 .../callableReferences/constructors.kt | 0 .../callableReferences/constructors.txt | 0 .../callableReferences/differentLevels.kt | 0 .../callableReferences/differentLevels.txt | 0 .../extensionReceiverInference.kt | 0 .../extensionReceiverInference.txt | 0 ...nNoApplicableCallableReferenceCandidate.kt | 2 +- ...NoApplicableCallableReferenceCandidate.txt | 0 ...icableCallableReferenceFromDistantScope.kt | 0 ...cableCallableReferenceFromDistantScope.txt | 0 ...bleReferenceDependingOnInferredReceiver.kt | 2 +- ...leReferenceDependingOnInferredReceiver.txt | 0 ...rtypeFromReturnTypesOfCallableReference.kt | 0 ...typeFromReturnTypesOfCallableReference.txt | 0 .../eagerAndPostponedCallableReferences.kt | 2 +- .../eagerAndPostponedCallableReferences.txt | 0 .../eagerResolveOfSingleCallableReference.kt | 0 .../eagerResolveOfSingleCallableReference.txt | 0 .../moreSpecificAmbiguousExtensions.kt | 0 .../moreSpecificAmbiguousExtensions.txt | 0 ...ipleOutersAndMultipleCallableReferences.kt | 0 ...pleOutersAndMultipleCallableReferences.txt | 0 ...biguityBetweenTopLevelAndMemberProperty.kt | 0 ...iguityBetweenTopLevelAndMemberProperty.txt | 0 .../overloadsBound.kt | 0 .../overloadsBound.txt | 0 ...postponedResolveOfManyCallableReference.kt | 0 ...ostponedResolveOfManyCallableReference.txt | 0 ...llableReferencesAfterAllSimpleArguments.kt | 4 +- ...lableReferencesAfterAllSimpleArguments.txt | 0 .../withGenericFun.kt | 0 .../withGenericFun.txt | 0 .../callableReferences/implicitTypes.kt | 2 +- .../callableReferences/implicitTypes.txt | 0 .../inferenceFromCallableReferenceType.kt | 0 .../inferenceFromCallableReferenceType.txt | 0 .../inferenceFromExpectedType.kt | 0 .../inferenceFromExpectedType.txt | 0 .../stdlib}/callableReferences/javaStatic.kt | 2 +- .../stdlib}/callableReferences/javaStatic.txt | 0 .../manyCandidatesInference.kt | 0 .../manyCandidatesInference.txt | 0 .../callableReferences/manyInnerCandidates.kt | 0 .../manyInnerCandidates.txt | 0 .../manyInnerManyOuterCandidates.kt | 0 .../manyInnerManyOuterCandidates.txt | 0 .../manyInnermanyOuterCandidatesAmbiguity.kt | 2 +- .../manyInnermanyOuterCandidatesAmbiguity.txt | 0 .../callableReferences/manyOuterCandidates.kt | 0 .../manyOuterCandidates.txt | 0 .../stdlib}/callableReferences/properties.kt | 0 .../stdlib}/callableReferences/properties.txt | 0 .../stdlib}/callableReferences/sam.kt | 0 .../stdlib}/callableReferences/sam.txt | 0 .../callableReferences/simpleClassReceiver.kt | 0 .../simpleClassReceiver.txt | 0 .../simpleExpressionReceiver.kt | 0 .../simpleExpressionReceiver.txt | 0 .../callableReferences/simpleNoReceiver.kt | 0 .../callableReferences/simpleNoReceiver.txt | 0 .../callableReferences/varProperties.kt | 0 .../callableReferences/varProperties.txt | 0 .../stdlib}/j+k/FieldAndGetter.kt | 2 +- .../stdlib}/j+k/FieldAndGetter.txt | 0 .../stdlib}/j+k/FieldSubstitution.kt | 0 .../stdlib}/j+k/FieldSubstitution.txt | 0 .../stdlib}/j+k/FunctionTypeInJava.kt | 0 .../stdlib}/j+k/FunctionTypeInJava.txt | 0 .../stdlib}/j+k/KJKComplexHierarchy.kt | 0 .../stdlib}/j+k/KJKComplexHierarchy.txt | 0 .../j+k/KJKComplexHierarchyNestedLoop.kt | 8 +- .../j+k/KJKComplexHierarchyNestedLoop.txt | 0 .../j+k/KJKComplexHierarchyWithNested.kt | 4 +- .../j+k/KJKComplexHierarchyWithNested.txt | 0 .../stdlib}/j+k/KJKInheritance.kt | 0 .../stdlib}/j+k/KJKInheritance.txt | 0 .../stdlib}/j+k/KJKInheritanceGeneric.kt | 0 .../stdlib}/j+k/KJKInheritanceGeneric.txt | 0 .../stdlib}/j+k/KotlinClassParameter.kt | 2 +- .../stdlib}/j+k/KotlinClassParameter.txt | 0 .../j+k/KotlinClassParameterGeneric.kt | 4 +- .../j+k/KotlinClassParameterGeneric.txt | 0 .../stdlib}/j+k/LoggerInstance.kt | 0 .../stdlib}/j+k/LoggerInstance.txt | 0 .../stdlib}/j+k/MyException.kt | 6 +- .../stdlib}/j+k/MyException.txt | 0 .../stdlib}/j+k/MyIterable.kt | 4 +- .../stdlib}/j+k/MyIterable.txt | 0 .../stdlib}/j+k/MyMap.kt | 4 +- .../stdlib}/j+k/MyMap.txt | 0 .../stdlib}/j+k/RawType.kt | 0 .../stdlib}/j+k/RawType.txt | 0 .../stdlib}/j+k/complexFlexibleInference.kt | 0 .../stdlib}/j+k/complexFlexibleInference.txt | 0 .../stdlib}/j+k/outerInnerClasses.kt | 0 .../stdlib}/j+k/outerInnerClasses.txt | 0 .../resolve/testData/resolve/tryInference.txt | 2 +- .../fir/AbstractFirBaseDiagnosticsTest.kt | 295 +++++++ .../AbstractFirCfgBuildingWithStdlibTest.kt | 8 +- .../kotlin/fir/AbstractFirDiagnosticTest.kt | 58 ++ .../fir/AbstractFirDiagnosticsSmokeTest.kt | 161 +--- .../kotlin/fir/AbstractFirDiagnosticsTest.kt | 31 - ...t => AbstractFirDiagnosticsWithCfgTest.kt} | 20 +- .../kotlin/fir/AbstractFirResolveTestCase.kt | 231 ----- .../AbstractFirResolveTestCaseWithStdlib.kt | 12 +- .../fir/FirDiagnosticsTestGenerated.java | 819 +++++++++++++----- ...nosticsWithCfgAndStdlibTestGenerated.java} | 2 +- ...> FirDiagnosticsWithCfgTestGenerated.java} | 6 +- ...FirDiagnosticsWithStdlibTestGenerated.java | 439 ++++++++++ .../fir/FirResolveTestCaseGenerated.java | 726 ---------------- ...FirResolveTestCaseWithStdlibGenerated.java | 150 ---- .../fir/java/AbstractFirLightClassesTest.kt | 2 +- .../kotlin/checkers/BaseDiagnosticsTest.kt | 6 +- .../generators/tests/GenerateCompilerTests.kt | 15 +- 144 files changed, 1481 insertions(+), 1578 deletions(-) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/genericSam.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/genericSam.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/genericSamInferenceFromExpectType.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/genericSamInferenceFromExpectType.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/kotlinSam.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/kotlinSam.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/realConstructorFunction.kt (58%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/realConstructorFunction.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/runnable.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/runnable.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/simple.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConstructors/simple.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/genericSam.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/genericSam.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/kotlinSam.kt (77%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/kotlinSam.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/notSamBecauseOfSupertype.kt (80%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/notSamBecauseOfSupertype.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/runnable.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/runnable.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/samSupertype.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/samSupertype.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/samSupertypeWithOverride.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/samSupertypeWithOverride.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/simple.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve}/samConversions/simple.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/beyoundCalls.kt (84%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/beyoundCalls.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/companions.kt (84%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/companions.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/constructors.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/constructors.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/differentLevels.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/differentLevels.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/extensionReceiverInference.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/extensionReceiverInference.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt (67%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt (90%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt (83%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/overloadsBound.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/overloadsBound.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt (60%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/withGenericFun.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/fromBasicDiagnosticTests/withGenericFun.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/implicitTypes.kt (66%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/implicitTypes.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/inferenceFromCallableReferenceType.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/inferenceFromCallableReferenceType.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/inferenceFromExpectedType.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/inferenceFromExpectedType.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/javaStatic.kt (90%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/javaStatic.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyCandidatesInference.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyCandidatesInference.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyInnerCandidates.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyInnerCandidates.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyInnerManyOuterCandidates.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyInnerManyOuterCandidates.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt (79%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyInnermanyOuterCandidatesAmbiguity.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyOuterCandidates.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/manyOuterCandidates.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/properties.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/properties.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/sam.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/sam.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/simpleClassReceiver.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/simpleClassReceiver.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/simpleExpressionReceiver.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/simpleExpressionReceiver.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/simpleNoReceiver.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/simpleNoReceiver.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/varProperties.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/callableReferences/varProperties.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/FieldAndGetter.kt (86%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/FieldAndGetter.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/FieldSubstitution.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/FieldSubstitution.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/FunctionTypeInJava.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/FunctionTypeInJava.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKComplexHierarchy.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKComplexHierarchy.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKComplexHierarchyNestedLoop.kt (68%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKComplexHierarchyNestedLoop.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKComplexHierarchyWithNested.kt (86%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKComplexHierarchyWithNested.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKInheritance.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKInheritance.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKInheritanceGeneric.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KJKInheritanceGeneric.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KotlinClassParameter.kt (79%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KotlinClassParameter.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KotlinClassParameterGeneric.kt (66%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/KotlinClassParameterGeneric.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/LoggerInstance.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/LoggerInstance.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/MyException.kt (74%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/MyException.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/MyIterable.kt (68%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/MyIterable.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/MyMap.kt (86%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/MyMap.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/RawType.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/RawType.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/complexFlexibleInference.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/complexFlexibleInference.txt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/outerInnerClasses.kt (100%) rename compiler/fir/resolve/testData/{diagnostics => resolve/stdlib}/j+k/outerInnerClasses.txt (100%) create mode 100644 compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirBaseDiagnosticsTest.kt create mode 100644 compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt delete mode 100644 compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsTest.kt rename compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/{AbstractFirCfgBuildingTest.kt => AbstractFirDiagnosticsWithCfgTest.kt} (91%) delete mode 100644 compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCase.kt rename compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/{FirCfgBuildingWithStdlibTestGenerated.java => FirDiagnosticsWithCfgAndStdlibTestGenerated.java} (93%) rename compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/{FirCfgBuildingTestGenerated.java => FirDiagnosticsWithCfgTestGenerated.java} (96%) create mode 100644 compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java delete mode 100644 compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseGenerated.java delete mode 100644 compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/genericSam.kt b/compiler/fir/resolve/testData/resolve/samConstructors/genericSam.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/genericSam.kt rename to compiler/fir/resolve/testData/resolve/samConstructors/genericSam.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/genericSam.txt b/compiler/fir/resolve/testData/resolve/samConstructors/genericSam.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/genericSam.txt rename to compiler/fir/resolve/testData/resolve/samConstructors/genericSam.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/genericSamInferenceFromExpectType.kt b/compiler/fir/resolve/testData/resolve/samConstructors/genericSamInferenceFromExpectType.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/genericSamInferenceFromExpectType.kt rename to compiler/fir/resolve/testData/resolve/samConstructors/genericSamInferenceFromExpectType.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/genericSamInferenceFromExpectType.txt b/compiler/fir/resolve/testData/resolve/samConstructors/genericSamInferenceFromExpectType.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/genericSamInferenceFromExpectType.txt rename to compiler/fir/resolve/testData/resolve/samConstructors/genericSamInferenceFromExpectType.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/kotlinSam.kt b/compiler/fir/resolve/testData/resolve/samConstructors/kotlinSam.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/kotlinSam.kt rename to compiler/fir/resolve/testData/resolve/samConstructors/kotlinSam.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/kotlinSam.txt b/compiler/fir/resolve/testData/resolve/samConstructors/kotlinSam.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/kotlinSam.txt rename to compiler/fir/resolve/testData/resolve/samConstructors/kotlinSam.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/realConstructorFunction.kt b/compiler/fir/resolve/testData/resolve/samConstructors/realConstructorFunction.kt similarity index 58% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/realConstructorFunction.kt rename to compiler/fir/resolve/testData/resolve/samConstructors/realConstructorFunction.kt index 4f6982ca11b..d2426e224ed 100644 --- a/compiler/fir/resolve/testData/diagnostics/samConstructors/realConstructorFunction.kt +++ b/compiler/fir/resolve/testData/resolve/samConstructors/realConstructorFunction.kt @@ -10,13 +10,13 @@ fun foo(m: MyRunnable) {} fun MyRunnable(x: (Int) -> Boolean) = 1 fun main() { - foo(MyRunnable { x -> + foo(MyRunnable { x -> x > 1 }) - foo(MyRunnable({ it > 1 })) + foo(MyRunnable({ it > 1 })) val x = { x: Int -> x > 1 } - foo(MyRunnable(x)) + foo(MyRunnable(x)) } diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/realConstructorFunction.txt b/compiler/fir/resolve/testData/resolve/samConstructors/realConstructorFunction.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/realConstructorFunction.txt rename to compiler/fir/resolve/testData/resolve/samConstructors/realConstructorFunction.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/runnable.kt b/compiler/fir/resolve/testData/resolve/samConstructors/runnable.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/runnable.kt rename to compiler/fir/resolve/testData/resolve/samConstructors/runnable.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/runnable.txt b/compiler/fir/resolve/testData/resolve/samConstructors/runnable.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/runnable.txt rename to compiler/fir/resolve/testData/resolve/samConstructors/runnable.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/simple.kt b/compiler/fir/resolve/testData/resolve/samConstructors/simple.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/simple.kt rename to compiler/fir/resolve/testData/resolve/samConstructors/simple.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConstructors/simple.txt b/compiler/fir/resolve/testData/resolve/samConstructors/simple.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConstructors/simple.txt rename to compiler/fir/resolve/testData/resolve/samConstructors/simple.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/genericSam.kt b/compiler/fir/resolve/testData/resolve/samConversions/genericSam.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/genericSam.kt rename to compiler/fir/resolve/testData/resolve/samConversions/genericSam.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/genericSam.txt b/compiler/fir/resolve/testData/resolve/samConversions/genericSam.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/genericSam.txt rename to compiler/fir/resolve/testData/resolve/samConversions/genericSam.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/kotlinSam.kt b/compiler/fir/resolve/testData/resolve/samConversions/kotlinSam.kt similarity index 77% rename from compiler/fir/resolve/testData/diagnostics/samConversions/kotlinSam.kt rename to compiler/fir/resolve/testData/resolve/samConversions/kotlinSam.kt index c1531c5de27..3c3884cb04d 100644 --- a/compiler/fir/resolve/testData/diagnostics/samConversions/kotlinSam.kt +++ b/compiler/fir/resolve/testData/resolve/samConversions/kotlinSam.kt @@ -31,12 +31,12 @@ fun main() { foo1(f) foo2 { x -> x > 1 } - foo2(f) + foo2(f) - foo3 { x -> x > 1 } + foo3 { x -> x > 1 } foo3(f) - foo4 { x -> x > 1 } - foo4(f) + foo4 { x -> x > 1 } + foo4(f) } diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/kotlinSam.txt b/compiler/fir/resolve/testData/resolve/samConversions/kotlinSam.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/kotlinSam.txt rename to compiler/fir/resolve/testData/resolve/samConversions/kotlinSam.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/notSamBecauseOfSupertype.kt b/compiler/fir/resolve/testData/resolve/samConversions/notSamBecauseOfSupertype.kt similarity index 80% rename from compiler/fir/resolve/testData/diagnostics/samConversions/notSamBecauseOfSupertype.kt rename to compiler/fir/resolve/testData/resolve/samConversions/notSamBecauseOfSupertype.kt index 59864e4bae7..4d5d49e461e 100644 --- a/compiler/fir/resolve/testData/diagnostics/samConversions/notSamBecauseOfSupertype.kt +++ b/compiler/fir/resolve/testData/resolve/samConversions/notSamBecauseOfSupertype.kt @@ -23,9 +23,9 @@ fun main() { x > 1 } - JavaUsage.foo({ it > 1 }) + JavaUsage.foo({ it > 1 }) val x = { x: Int -> x > 1 } - JavaUsage.foo(x) + JavaUsage.foo(x) } diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/notSamBecauseOfSupertype.txt b/compiler/fir/resolve/testData/resolve/samConversions/notSamBecauseOfSupertype.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/notSamBecauseOfSupertype.txt rename to compiler/fir/resolve/testData/resolve/samConversions/notSamBecauseOfSupertype.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/runnable.kt b/compiler/fir/resolve/testData/resolve/samConversions/runnable.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/runnable.kt rename to compiler/fir/resolve/testData/resolve/samConversions/runnable.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/runnable.txt b/compiler/fir/resolve/testData/resolve/samConversions/runnable.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/runnable.txt rename to compiler/fir/resolve/testData/resolve/samConversions/runnable.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/samSupertype.kt b/compiler/fir/resolve/testData/resolve/samConversions/samSupertype.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/samSupertype.kt rename to compiler/fir/resolve/testData/resolve/samConversions/samSupertype.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/samSupertype.txt b/compiler/fir/resolve/testData/resolve/samConversions/samSupertype.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/samSupertype.txt rename to compiler/fir/resolve/testData/resolve/samConversions/samSupertype.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/samSupertypeWithOverride.kt b/compiler/fir/resolve/testData/resolve/samConversions/samSupertypeWithOverride.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/samSupertypeWithOverride.kt rename to compiler/fir/resolve/testData/resolve/samConversions/samSupertypeWithOverride.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/samSupertypeWithOverride.txt b/compiler/fir/resolve/testData/resolve/samConversions/samSupertypeWithOverride.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/samSupertypeWithOverride.txt rename to compiler/fir/resolve/testData/resolve/samConversions/samSupertypeWithOverride.txt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/simple.kt b/compiler/fir/resolve/testData/resolve/samConversions/simple.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/simple.kt rename to compiler/fir/resolve/testData/resolve/samConversions/simple.kt diff --git a/compiler/fir/resolve/testData/diagnostics/samConversions/simple.txt b/compiler/fir/resolve/testData/resolve/samConversions/simple.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/samConversions/simple.txt rename to compiler/fir/resolve/testData/resolve/samConversions/simple.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/beyoundCalls.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/beyoundCalls.kt similarity index 84% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/beyoundCalls.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/beyoundCalls.kt index 79db3de80e7..0e8e0dc27cb 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/beyoundCalls.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/beyoundCalls.kt @@ -6,7 +6,7 @@ fun foobaz(x: T): R = TODO() fun foo() { val x: (String) -> Int = ::bar - val y = ::bar + val y = ::bar val z = ::baz val w: (String) -> Int = ::foobaz diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/beyoundCalls.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/beyoundCalls.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/beyoundCalls.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/beyoundCalls.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/companions.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/companions.kt similarity index 84% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/companions.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/companions.kt index 1cb574eec49..1aa21e75c24 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/companions.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/companions.kt @@ -30,14 +30,14 @@ fun foo3(x: (String) -> Int) {} fun main() { foo1(KotlinClass::baz) foo2(KotlinClass::baz) - foo3(KotlinClass::baz) + foo3(KotlinClass::baz) foo1(KotlinClass::bar) foo2(KotlinClass::bar) - foo3(KotlinClass::bar) + foo3(KotlinClass::bar) foo1(KotlinClass2::bar) - foo2(KotlinClass2::bar) + foo2(KotlinClass2::bar) foo3(KotlinClass2::bar) } diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/companions.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/companions.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/companions.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/companions.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/constructors.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/constructors.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/constructors.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/constructors.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/constructors.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/constructors.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/constructors.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/constructors.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/differentLevels.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/differentLevels.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/differentLevels.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/differentLevels.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/differentLevels.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/differentLevels.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/differentLevels.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/differentLevels.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/extensionReceiverInference.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/extensionReceiverInference.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/extensionReceiverInference.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/extensionReceiverInference.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/extensionReceiverInference.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/extensionReceiverInference.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/extensionReceiverInference.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/extensionReceiverInference.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt similarity index 67% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt index 7957a3751ef..a099366542b 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt @@ -4,5 +4,5 @@ fun foo(y: String) {} fun bar(f: (T) -> Unit) {} fun test() { - bar(::foo) + bar(::foo) } diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt similarity index 90% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt index ba6186fb4cd..199dc5cd859 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt @@ -25,7 +25,7 @@ fun test() { val t3 = bar(::baz) - bar(::foo) + bar(::foo) } } } diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt similarity index 83% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt index c74b1b4e19a..64e511f2492 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt @@ -22,5 +22,5 @@ fun test() { val a6 = foo(::singleA, ::singleB) - foo(::multiple, ::multiple) + foo(::multiple, ::multiple) } diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/overloadsBound.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/overloadsBound.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/overloadsBound.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/overloadsBound.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/overloadsBound.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/overloadsBound.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/overloadsBound.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/overloadsBound.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt similarity index 60% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt index 698132bcb46..3748bd5f86a 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt @@ -7,6 +7,6 @@ fun bar(f: (T) -> Unit, e: T) {} fun baz(e: T, f: (T) -> Unit) {} fun test(a: A, b: B) { - baz(a, ::fooB) - bar(::fooB, a) + baz(a, ::fooB) + bar(::fooB, a) } diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/withGenericFun.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/withGenericFun.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/withGenericFun.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/withGenericFun.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/withGenericFun.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/withGenericFun.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/withGenericFun.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/withGenericFun.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/implicitTypes.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/implicitTypes.kt similarity index 66% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/implicitTypes.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/implicitTypes.kt index 15f33aa2ca4..accabc12667 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/implicitTypes.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/implicitTypes.kt @@ -3,5 +3,5 @@ fun use(x: (T) -> R): (T) -> R = x fun foo() = use(::bar) fun bar(x: String) = 1 -fun loop1() = use(::loop2) +fun loop1() = use(::loop2) fun loop2() = loop1() diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/implicitTypes.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/implicitTypes.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/implicitTypes.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/implicitTypes.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromCallableReferenceType.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromCallableReferenceType.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromCallableReferenceType.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromCallableReferenceType.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromCallableReferenceType.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromCallableReferenceType.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromCallableReferenceType.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromCallableReferenceType.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromExpectedType.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromExpectedType.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromExpectedType.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromExpectedType.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromExpectedType.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromExpectedType.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromExpectedType.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromExpectedType.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/javaStatic.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/javaStatic.kt similarity index 90% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/javaStatic.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/javaStatic.kt index 3d8cd7fb413..b3057626abe 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/javaStatic.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/javaStatic.kt @@ -16,5 +16,5 @@ fun foo3(x: (String) -> Int) {} fun main() { foo1(JavaClass::bar) foo2(JavaClass::bar) - foo3(JavaClass::bar) + foo3(JavaClass::bar) } diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/javaStatic.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/javaStatic.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/javaStatic.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/javaStatic.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyCandidatesInference.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyCandidatesInference.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyCandidatesInference.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyCandidatesInference.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyCandidatesInference.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyCandidatesInference.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyCandidatesInference.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyCandidatesInference.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerCandidates.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerCandidates.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerCandidates.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerCandidates.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerCandidates.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerCandidates.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerCandidates.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerCandidates.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerManyOuterCandidates.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerManyOuterCandidates.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerManyOuterCandidates.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerManyOuterCandidates.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerManyOuterCandidates.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerManyOuterCandidates.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerManyOuterCandidates.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerManyOuterCandidates.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt similarity index 79% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt index ffecc096110..0f6d0113065 100644 --- a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt @@ -6,5 +6,5 @@ fun bar(): Int = 1 fun bar(x: String): Int = 1 fun main() { - foo(::bar) + foo(::bar) } diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnermanyOuterCandidatesAmbiguity.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnermanyOuterCandidatesAmbiguity.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnermanyOuterCandidatesAmbiguity.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnermanyOuterCandidatesAmbiguity.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyOuterCandidates.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyOuterCandidates.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyOuterCandidates.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyOuterCandidates.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/manyOuterCandidates.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyOuterCandidates.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/manyOuterCandidates.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyOuterCandidates.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/properties.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/properties.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/properties.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/properties.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/properties.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/properties.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/properties.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/properties.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/sam.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/sam.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/sam.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/sam.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/sam.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/sam.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/sam.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/sam.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/simpleClassReceiver.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleClassReceiver.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/simpleClassReceiver.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleClassReceiver.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/simpleClassReceiver.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleClassReceiver.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/simpleClassReceiver.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleClassReceiver.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/simpleExpressionReceiver.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleExpressionReceiver.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/simpleExpressionReceiver.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleExpressionReceiver.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/simpleExpressionReceiver.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleExpressionReceiver.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/simpleExpressionReceiver.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleExpressionReceiver.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/simpleNoReceiver.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleNoReceiver.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/simpleNoReceiver.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleNoReceiver.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/simpleNoReceiver.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleNoReceiver.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/simpleNoReceiver.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleNoReceiver.txt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/varProperties.kt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/varProperties.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/varProperties.kt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/varProperties.kt diff --git a/compiler/fir/resolve/testData/diagnostics/callableReferences/varProperties.txt b/compiler/fir/resolve/testData/resolve/stdlib/callableReferences/varProperties.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/callableReferences/varProperties.txt rename to compiler/fir/resolve/testData/resolve/stdlib/callableReferences/varProperties.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/FieldAndGetter.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldAndGetter.kt similarity index 86% rename from compiler/fir/resolve/testData/diagnostics/j+k/FieldAndGetter.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldAndGetter.kt index 8120914c4cf..da67497e796 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/FieldAndGetter.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldAndGetter.kt @@ -11,5 +11,5 @@ public class JavaClass { // FILE: test.kt fun test(jc: JavaClass) { - jc.field + jc.field } \ No newline at end of file diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/FieldAndGetter.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldAndGetter.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/FieldAndGetter.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldAndGetter.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/FieldSubstitution.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldSubstitution.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/FieldSubstitution.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldSubstitution.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/FieldSubstitution.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldSubstitution.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/FieldSubstitution.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldSubstitution.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/FunctionTypeInJava.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/FunctionTypeInJava.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/FunctionTypeInJava.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/FunctionTypeInJava.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/FunctionTypeInJava.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/FunctionTypeInJava.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/FunctionTypeInJava.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/FunctionTypeInJava.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchy.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchy.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchy.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchy.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchy.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchy.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchy.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchy.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyNestedLoop.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyNestedLoop.kt similarity index 68% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyNestedLoop.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyNestedLoop.kt index f14f163e111..cb863d7ced1 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyNestedLoop.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyNestedLoop.kt @@ -2,11 +2,11 @@ class K2: J1() { class Q : Nested() fun bar() { - foo() - baz() + foo() + baz() - superClass() - superI() + superClass() + superI() } } diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyNestedLoop.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyNestedLoop.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyNestedLoop.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyNestedLoop.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyWithNested.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyWithNested.kt similarity index 86% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyWithNested.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyWithNested.kt index d397bbfd6e7..9c3f2567623 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyWithNested.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyWithNested.kt @@ -6,8 +6,8 @@ fun main(k: KSub, vString: SuperClass.NestedInSuperClass, vInt: SuperCla // TODO: Support parametrisized inner classes k.getImpl().nestedI(vInt) - k.getNestedSubClass().nested("") - k.getNestedSubClass().nested(1) + k.getNestedSubClass().nested("") + k.getNestedSubClass().nested(1) } // FILE: J1.java diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyWithNested.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyWithNested.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyWithNested.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyWithNested.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritance.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritance.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritance.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritance.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritance.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritance.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritance.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritance.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritanceGeneric.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritanceGeneric.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritanceGeneric.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritanceGeneric.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritanceGeneric.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritanceGeneric.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritanceGeneric.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritanceGeneric.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameter.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameter.kt similarity index 79% rename from compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameter.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameter.kt index dc876022ff2..c2256f265e2 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameter.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameter.kt @@ -9,5 +9,5 @@ public class JavaClass { // FILE: K2.kt fun main() { JavaClass.baz(KotlinClass()) - JavaClass.baz("") + JavaClass.baz("") } diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameter.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameter.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameter.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameter.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameterGeneric.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameterGeneric.kt similarity index 66% rename from compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameterGeneric.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameterGeneric.kt index e4bc5663386..970b06ffc7e 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameterGeneric.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameterGeneric.kt @@ -10,6 +10,6 @@ public class JavaClass { fun main() { JavaClass.baz(KotlinClass()) JavaClass.baz(KotlinClass()) - JavaClass.baz(KotlinClass()) - JavaClass.baz("") + JavaClass.baz(KotlinClass()) + JavaClass.baz("") } diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameterGeneric.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameterGeneric.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameterGeneric.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameterGeneric.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/LoggerInstance.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/LoggerInstance.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/LoggerInstance.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/LoggerInstance.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/MyException.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyException.kt similarity index 74% rename from compiler/fir/resolve/testData/diagnostics/j+k/MyException.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/MyException.kt index 7a3c32ff4a0..140e3858a0b 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/MyException.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyException.kt @@ -12,17 +12,17 @@ class MyException : Exception() fun test(e: MyException, stream: PrintStream) { e.printStackTrace() // Cannot be resolved with early J2K mapping due deriving of kotlin.Throwable instead of java.lang.Throwable e.printStackTrace(stream) - val result = e.getLocalizedMessage() + val result = e.getLocalizedMessage() } fun test(e: YourException, stream: PrintStream) { e.printStackTrace() e.printStackTrace(stream) - val result = e.getLocalizedMessage() + val result = e.getLocalizedMessage() } fun test(e: Exception, stream: PrintStream) { e.printStackTrace() e.printStackTrace(stream) - val result = e.getLocalizedMessage() + val result = e.getLocalizedMessage() } \ No newline at end of file diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/MyException.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyException.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/MyException.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/MyException.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/MyIterable.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyIterable.kt similarity index 68% rename from compiler/fir/resolve/testData/diagnostics/j+k/MyIterable.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/MyIterable.kt index b41a527a260..bd7fd4d54fc 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/MyIterable.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyIterable.kt @@ -6,11 +6,11 @@ public interface MyIterable extends Iterable interface UseIterable : MyIterable { fun test() { val it = iterator() - val split = spliterator() + val split = spliterator() } } fun test(some: Iterable) { val it = some.iterator() - val split = some.spliterator() + val split = some.spliterator() } diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/MyIterable.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyIterable.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/MyIterable.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/MyIterable.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/MyMap.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyMap.kt similarity index 86% rename from compiler/fir/resolve/testData/diagnostics/j+k/MyMap.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/MyMap.kt index 8a28c2722b0..f3e72aaece3 100644 --- a/compiler/fir/resolve/testData/diagnostics/j+k/MyMap.kt +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyMap.kt @@ -8,7 +8,7 @@ fun test(map: MyMap) { val result = map.getOrPut("key") { "value" } // Cannot be resolved without early J2K mapping // In contrast, should be taken from JDK val otherResult = map.getOrDefault("key", "value") - val anotherResult = map.replace("key", "value") + val anotherResult = map.replace("key", "value") // Java forEach map.forEach { key, value -> println("$key: $value") @@ -23,7 +23,7 @@ fun test(map: MutableMap) { val result = map.getOrPut("key") { "value" } // Cannot be resolved without early J2K mapping // In contrast, should be taken from JDK val otherResult = map.getOrDefault("key", "value") - val anotherResult = map.replace("key", "value") + val anotherResult = map.replace("key", "value") // Java forEach map.forEach { key, value -> println("$key: $value") diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/MyMap.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/MyMap.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/MyMap.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/MyMap.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/RawType.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/RawType.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/RawType.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/RawType.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/RawType.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/RawType.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/RawType.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/RawType.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/complexFlexibleInference.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/complexFlexibleInference.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/complexFlexibleInference.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/complexFlexibleInference.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/complexFlexibleInference.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/complexFlexibleInference.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/complexFlexibleInference.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/complexFlexibleInference.txt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/outerInnerClasses.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/outerInnerClasses.kt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/outerInnerClasses.kt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/outerInnerClasses.kt diff --git a/compiler/fir/resolve/testData/diagnostics/j+k/outerInnerClasses.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/outerInnerClasses.txt similarity index 100% rename from compiler/fir/resolve/testData/diagnostics/j+k/outerInnerClasses.txt rename to compiler/fir/resolve/testData/resolve/stdlib/j+k/outerInnerClasses.txt diff --git a/compiler/fir/resolve/testData/resolve/tryInference.txt b/compiler/fir/resolve/testData/resolve/tryInference.txt index f4c75ea4d63..338078f423a 100644 --- a/compiler/fir/resolve/testData/resolve/tryInference.txt +++ b/compiler/fir/resolve/testData/resolve/tryInference.txt @@ -10,7 +10,7 @@ FILE: tryInference.kt R|/takeA|(try { R|/materialize|() } - catch (e: R|java/lang/Exception|) { + catch (e: R|kotlin/Exception|) { R|/materialize|() } finally { diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirBaseDiagnosticsTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirBaseDiagnosticsTest.kt new file mode 100644 index 00000000000..eefdfc8fbff --- /dev/null +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirBaseDiagnosticsTest.kt @@ -0,0 +1,295 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir + +import com.intellij.openapi.extensions.Extensions +import com.intellij.openapi.util.TextRange +import com.intellij.psi.PsiElementFinder +import com.intellij.psi.search.GlobalSearchScope +import org.jetbrains.kotlin.analyzer.ModuleInfo +import org.jetbrains.kotlin.asJava.finder.JavaElementFinder +import org.jetbrains.kotlin.checkers.BaseDiagnosticsTest +import org.jetbrains.kotlin.checkers.DiagnosticDiffCallbacks +import org.jetbrains.kotlin.checkers.diagnostics.ActualDiagnostic +import org.jetbrains.kotlin.checkers.diagnostics.PositionalTextDiagnostic +import org.jetbrains.kotlin.checkers.diagnostics.TextDiagnostic +import org.jetbrains.kotlin.checkers.utils.CheckerTestUtil +import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment +import org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM +import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils +import org.jetbrains.kotlin.fir.builder.RawFirBuilder +import org.jetbrains.kotlin.fir.declarations.FirFile +import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession +import org.jetbrains.kotlin.fir.java.FirLibrarySession +import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider +import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeDiagnostic +import org.jetbrains.kotlin.fir.resolve.firProvider +import org.jetbrains.kotlin.fir.resolve.impl.FirProviderImpl +import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.platform.TargetPlatform +import org.jetbrains.kotlin.platform.jvm.JvmPlatforms +import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices +import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices +import java.io.File +import java.util.* + +abstract class AbstractFirBaseDiagnosticsTest : BaseDiagnosticsTest() { + override fun analyzeAndCheck(testDataFile: File, files: List) { + try { + analyzeAndCheckUnhandled(testDataFile, files) + } catch (t: AssertionError) { + throw t + } catch (t: Throwable) { + throw t + } + } + + override fun createEnvironment(file: File): KotlinCoreEnvironment { + return super.createEnvironment(file).apply { + Extensions.getArea(this.project) + .getExtensionPoint(PsiElementFinder.EP_NAME) + .unregisterExtension(JavaElementFinder::class.java) + } + } + + protected open fun analyzeAndCheckUnhandled(testDataFile: File, files: List) { + val groupedByModule = files.groupBy(TestFile::module) + + val modules = createModules(groupedByModule) + + val sessionProvider = FirProjectSessionProvider(project) + + //For BuiltIns, registered in sessionProvider automatically + val allProjectScope = GlobalSearchScope.allScope(project) + FirLibrarySession.create( + builtInsModuleInfo, sessionProvider, allProjectScope, project, + environment.createPackagePartProvider(allProjectScope) + ) + + val configToSession = modules.mapValues { (config, info) -> + val moduleFiles = groupedByModule.getValue(config) + val scope = TopDownAnalyzerFacadeForJVM.newModuleSearchScope( + project, + moduleFiles.mapNotNull { it.ktFile }) + FirJavaModuleBasedSession(info, sessionProvider, scope) + } + + val firFiles = mutableListOf() + + // TODO: make module/session/transformer handling like in AbstractFirMultiModuleTest (IDE) + for ((testModule, testFilesInModule) in groupedByModule) { + val ktFiles = getKtFiles(testFilesInModule, true) + + val session = configToSession.getValue(testModule) + + + val firBuilder = RawFirBuilder(session, false) + + ktFiles.mapTo(firFiles) { + val firFile = firBuilder.buildFirFile(it) + + (session.firProvider as FirProviderImpl).recordFile(firFile) + + firFile + } + } + + runAnalysis(testDataFile, files, firFiles) + } + + protected abstract fun runAnalysis(testDataFile: File, testFiles: List, firFiles: List) + + private fun createModules( + groupedByModule: Map> + ): MutableMap { + val modules = + HashMap() + + for (testModule in groupedByModule.keys) { + val module = if (testModule == null) + createSealedModule() + else + createModule(testModule.name) + + modules[testModule] = module + } + + for (testModule in groupedByModule.keys) { + if (testModule == null) continue + + val module = modules[testModule]!! + val dependencies = ArrayList() + dependencies.add(module) + for (dependency in testModule.getDependencies()) { + dependencies.add(modules[dependency]!!) + } + + + dependencies.add(builtInsModuleInfo) + //dependencies.addAll(getAdditionalDependencies(module)) + (module as TestModuleInfo).dependencies.addAll(dependencies) + } + + return modules + } + + private val builtInsModuleInfo = BuiltInModuleInfo(Name.special("")) + + protected open fun createModule(moduleName: String): TestModuleInfo { + parseModulePlatformByName(moduleName) + return TestModuleInfo(Name.special("<$moduleName>")) + } + + class BuiltInModuleInfo(override val name: Name) : + ModuleInfo { + override val platform: TargetPlatform + get() = JvmPlatforms.unspecifiedJvmPlatform + + override val analyzerServices: PlatformDependentAnalyzerServices + get() = JvmPlatformAnalyzerServices + + override fun dependencies(): List { + return listOf(this) + } + } + + protected class TestModuleInfo(override val name: Name) : + ModuleInfo { + override val platform: TargetPlatform + get() = JvmPlatforms.unspecifiedJvmPlatform + + override val analyzerServices: PlatformDependentAnalyzerServices + get() = JvmPlatformAnalyzerServices + + val dependencies = mutableListOf(this) + override fun dependencies(): List { + return dependencies + } + } + + protected open fun createSealedModule(): TestModuleInfo = + createModule("test-module-jvm").apply { + dependencies += builtInsModuleInfo + } + + protected fun TestFile.getActualText( + coneDiagnostics: Iterable, + actualText: StringBuilder + ): Boolean { + val ktFile = this.ktFile + if (ktFile == null) { + // TODO: check java files too + actualText.append(this.clearText) + return true + } + + if (ktFile.name.endsWith("CoroutineUtil.kt") && ktFile.packageFqName == FqName("helpers")) return true + + // TODO: report JVM signature diagnostics also for implementing modules + + val ok = booleanArrayOf(true) + val diagnostics = coneDiagnostics.toActualDiagnostic() + val filteredDiagnostics = diagnostics // TODO + + actualDiagnostics.addAll(filteredDiagnostics) + + val uncheckedDiagnostics = mutableListOf() + + val diagnosticToExpectedDiagnostic = + CheckerTestUtil.diagnosticsDiff( + diagnosedRanges, + filteredDiagnostics, + object : DiagnosticDiffCallbacks { + override fun missingDiagnostic( + diagnostic: TextDiagnostic, + expectedStart: Int, + expectedEnd: Int + ) { + val message = + "Missing " + diagnostic.description + PsiDiagnosticUtils.atLocation( + ktFile, + TextRange( + expectedStart, + expectedEnd + ) + ) + System.err.println(message) + ok[0] = false + } + + override fun wrongParametersDiagnostic( + expectedDiagnostic: TextDiagnostic, + actualDiagnostic: TextDiagnostic, + start: Int, + end: Int + ) { + val message = "Parameters of diagnostic not equal at position " + + PsiDiagnosticUtils.atLocation( + ktFile, + TextRange( + start, + end + ) + ) + + ". Expected: ${expectedDiagnostic.asString()}, actual: $actualDiagnostic" + System.err.println(message) + ok[0] = false + } + + override fun unexpectedDiagnostic( + diagnostic: TextDiagnostic, + actualStart: Int, + actualEnd: Int + ) { + val message = + "Unexpected ${diagnostic.description}${PsiDiagnosticUtils.atLocation( + ktFile, + TextRange( + actualStart, + actualEnd + ) + )}" + System.err.println(message) + ok[0] = false + } + + fun updateUncheckedDiagnostics( + diagnostic: TextDiagnostic, + start: Int, + end: Int + ) { + uncheckedDiagnostics.add( + PositionalTextDiagnostic( + diagnostic, + start, + end + ) + ) + } + }) + + actualText.append( + CheckerTestUtil.addDiagnosticMarkersToText( + ktFile, + filteredDiagnostics, + diagnosticToExpectedDiagnostic, + { file -> file.text }, + uncheckedDiagnostics, + false, + false + ) + ) + + stripExtras(actualText) + + return ok[0] + } + + private fun Iterable.toActualDiagnostic(): Collection { + return map { ActualDiagnostic(it.diagnostic, null, true) } + } +} \ No newline at end of file diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirCfgBuildingWithStdlibTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirCfgBuildingWithStdlibTest.kt index cead223a557..fe4bcada16f 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirCfgBuildingWithStdlibTest.kt +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirCfgBuildingWithStdlibTest.kt @@ -5,12 +5,10 @@ package org.jetbrains.kotlin.fir -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.test.ConfigurationKind -import org.jetbrains.kotlin.test.TestJdkKind -abstract class AbstractFirCfgBuildingWithStdlibTest : AbstractFirCfgBuildingTest() { - override fun createEnvironment(): KotlinCoreEnvironment { - return createEnvironmentWithJdk(ConfigurationKind.ALL, TestJdkKind.FULL_JDK) +abstract class AbstractFirDiagnosticsWithCfgAndStdlibTest : AbstractFirDiagnosticsWithCfgTest() { + override fun getConfigurationKind(): ConfigurationKind { + return ConfigurationKind.ALL } } \ No newline at end of file diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt new file mode 100644 index 00000000000..d1ecad9b8e2 --- /dev/null +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt @@ -0,0 +1,58 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir + +import org.jetbrains.kotlin.fir.declarations.FirFile +import org.jetbrains.kotlin.fir.resolve.diagnostics.collectors.AbstractDiagnosticCollector +import org.jetbrains.kotlin.fir.resolve.diagnostics.collectors.ParallelDiagnosticsCollector +import org.jetbrains.kotlin.fir.resolve.diagnostics.collectors.registerAllComponents +import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveTransformer +import org.jetbrains.kotlin.test.ConfigurationKind +import org.jetbrains.kotlin.test.KotlinTestUtils +import java.io.File + +abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() { + override fun runAnalysis(testDataFile: File, testFiles: List, firFiles: List) { + doFirResolveTestBench( + firFiles, + FirTotalResolveTransformer().transformers, + gc = false + ) + checkDiagnostics(testDataFile, testFiles, firFiles) + checkFir(testDataFile, firFiles) + } + + fun checkFir(testDataFile: File, firFiles: List) { + val firFileDump = StringBuilder().apply { firFiles.forEach { it.accept(FirRenderer(this), null) } }.toString() + val expectedPath = testDataFile.absolutePath.replace(".kt", ".txt") + KotlinTestUtils.assertEqualsToFile( + File(expectedPath), + firFileDump + ) + } + + private fun checkDiagnostics(file: File, testFiles: List, firFiles: List) { + val collector = createCollector() + val actualText = StringBuilder() + for (testFile in testFiles) { + val firFile = firFiles.firstOrNull { it.psi == testFile.ktFile } + if (firFile != null) { + val coneDiagnostics = collector.collectDiagnostics(firFile) + testFile.getActualText(coneDiagnostics, actualText) + } else { + actualText.append(testFile.expectedText) + } + } + KotlinTestUtils.assertEqualsToFile(file, actualText.toString()) + } + + private fun createCollector(): AbstractDiagnosticCollector { +// val collector = SimpleDiagnosticsCollector() + val collector = ParallelDiagnosticsCollector(4) + collector.registerAllComponents() + return collector + } +} \ No newline at end of file diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt index 20c41e04984..76eec219678 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsSmokeTest.kt @@ -5,91 +5,13 @@ package org.jetbrains.kotlin.fir -import com.intellij.openapi.extensions.Extensions -import com.intellij.psi.PsiElementFinder -import com.intellij.psi.search.GlobalSearchScope -import org.jetbrains.kotlin.analyzer.ModuleInfo -import org.jetbrains.kotlin.asJava.finder.JavaElementFinder -import org.jetbrains.kotlin.checkers.BaseDiagnosticsTest -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment -import org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM -import org.jetbrains.kotlin.fir.builder.RawFirBuilder import org.jetbrains.kotlin.fir.declarations.FirFile -import org.jetbrains.kotlin.fir.java.FirJavaModuleBasedSession -import org.jetbrains.kotlin.fir.java.FirLibrarySession -import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider -import org.jetbrains.kotlin.fir.resolve.firProvider -import org.jetbrains.kotlin.fir.resolve.impl.FirProviderImpl import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveTransformer -import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.platform.TargetPlatform -import org.jetbrains.kotlin.platform.jvm.JvmPlatforms -import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices -import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices import org.jetbrains.kotlin.test.KotlinTestUtils import java.io.File -import java.util.* - -abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() { - override fun analyzeAndCheck(testDataFile: File, files: List) { - try { - analyzeAndCheckUnhandled(testDataFile, files) - } catch (t: AssertionError) { - throw t - } catch (t: Throwable) { - throw t - } - } - - - override fun createEnvironment(file: File): KotlinCoreEnvironment { - return super.createEnvironment(file).apply { - Extensions.getArea(this.project) - .getExtensionPoint(PsiElementFinder.EP_NAME) - .unregisterExtension(JavaElementFinder::class.java) - } - } - - protected open fun analyzeAndCheckUnhandled(testDataFile: File, files: List) { - val groupedByModule = files.groupBy(TestFile::module) - - val modules = createModules(groupedByModule) - - val sessionProvider = FirProjectSessionProvider(project) - - //For BuiltIns, registered in sessionProvider automatically - val allProjectScope = GlobalSearchScope.allScope(project) - FirLibrarySession.create( - builtInsModuleInfo, sessionProvider, allProjectScope, project, - environment.createPackagePartProvider(allProjectScope) - ) - - val configToSession = modules.mapValues { (config, info) -> - val moduleFiles = groupedByModule.getValue(config) - val scope = TopDownAnalyzerFacadeForJVM.newModuleSearchScope(project, moduleFiles.mapNotNull { it.ktFile }) - FirJavaModuleBasedSession(info, sessionProvider, scope) - } - - val firFiles = mutableListOf() - - // TODO: make module/session/transformer handling like in AbstractFirMultiModuleTest (IDE) - for ((testModule, testFilesInModule) in groupedByModule) { - val ktFiles = getKtFiles(testFilesInModule, true) - - val session = configToSession.getValue(testModule) - - - val firBuilder = RawFirBuilder(session, false) - - ktFiles.mapTo(firFiles) { - val firFile = firBuilder.buildFirFile(it) - - (session.firProvider as FirProviderImpl).recordFile(firFile) - - firFile - } - } +abstract class AbstractFirDiagnosticsSmokeTest : AbstractFirBaseDiagnosticsTest() { + override fun runAnalysis(testDataFile: File, testFiles: List, firFiles: List) { val failure: AssertionError? = try { doFirResolveTestBench(firFiles, FirTotalResolveTransformer().transformers, gc = false) null @@ -108,13 +30,6 @@ abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() { } } - protected open fun checkResultingFirFiles( - firFiles: MutableList, - testDataFile: File - ) { - - } - private fun checkFailureFile(failure: AssertionError, failureFile: File) { val failureMessage = buildString { appendln(failure.message) @@ -126,74 +41,6 @@ abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() { KotlinTestUtils.assertEqualsToFile(failureFile, failureMessage) } - private fun createModules( - groupedByModule: Map> - ): MutableMap { - val modules = HashMap() - - for (testModule in groupedByModule.keys) { - val module = if (testModule == null) - createSealedModule() - else - createModule(testModule.name) - - modules[testModule] = module - } - - for (testModule in groupedByModule.keys) { - if (testModule == null) continue - - val module = modules[testModule]!! - val dependencies = ArrayList() - dependencies.add(module) - for (dependency in testModule.getDependencies()) { - dependencies.add(modules[dependency]!!) - } - - - dependencies.add(builtInsModuleInfo) - //dependencies.addAll(getAdditionalDependencies(module)) - (module as TestModuleInfo).dependencies.addAll(dependencies) - } - - return modules - } - - private val builtInsModuleInfo = BuiltInModuleInfo(Name.special("")) - - protected open fun createModule(moduleName: String): TestModuleInfo { - parseModulePlatformByName(moduleName) - return TestModuleInfo(Name.special("<$moduleName>")) - } - - class BuiltInModuleInfo(override val name: Name) : ModuleInfo { - override val platform: TargetPlatform - get() = JvmPlatforms.unspecifiedJvmPlatform - - override val analyzerServices: PlatformDependentAnalyzerServices - get() = JvmPlatformAnalyzerServices - - override fun dependencies(): List { - return listOf(this) - } - } - - protected class TestModuleInfo(override val name: Name) : ModuleInfo { - override val platform: TargetPlatform - get() = JvmPlatforms.unspecifiedJvmPlatform - - override val analyzerServices: PlatformDependentAnalyzerServices - get() = JvmPlatformAnalyzerServices - - val dependencies = mutableListOf(this) - override fun dependencies(): List { - return dependencies - } - } - - protected open fun createSealedModule(): TestModuleInfo = - createModule("test-module-jvm").apply { - dependencies += builtInsModuleInfo - } - + protected open fun checkResultingFirFiles(firFiles: List, testDataFile: File) {} } + diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsTest.kt deleted file mode 100644 index dad451f500b..00000000000 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsTest.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.fir - -import org.jetbrains.kotlin.fir.declarations.FirFile -import org.jetbrains.kotlin.test.ConfigurationKind -import org.jetbrains.kotlin.test.KotlinTestUtils -import java.io.File - -abstract class AbstractFirDiagnosticsTest : AbstractFirDiagnosticsSmokeTest() { - - override fun getConfigurationKind(): ConfigurationKind { - return ConfigurationKind.ALL - } - - override fun checkResultingFirFiles( - firFiles: MutableList, - testDataFile: File - ) { - val firFileDump = StringBuilder().also { stringBuilder -> - firFiles.map { - it.accept(FirRenderer(stringBuilder), null) - } - }.toString() - val expectedPath = testDataFile.path.replace(".kt", ".txt") - KotlinTestUtils.assertEqualsToFile(File(expectedPath), firFileDump) - } -} diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirCfgBuildingTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsWithCfgTest.kt similarity index 91% rename from compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirCfgBuildingTest.kt rename to compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsWithCfgTest.kt index be7bd962976..108fd750b22 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirCfgBuildingTest.kt +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticsWithCfgTest.kt @@ -34,24 +34,24 @@ private const val BLUE = "blue" * After that you can run action `XDot` in editor with source of test (or with cfg dump) * and it will opens xdot with dump for that test */ -abstract class AbstractFirCfgBuildingTest : AbstractFirResolveTestCase() { - override val configurationKind: ConfigurationKind - get() = ConfigurationKind.ALL - - override fun doTest(path: String): List { - val firFiles = super.doTest(path) - checkCfg(path, firFiles) - return firFiles +abstract class AbstractFirDiagnosticsWithCfgTest : AbstractFirDiagnosticsTest() { + override fun getConfigurationKind(): ConfigurationKind { + return ConfigurationKind.ALL } - fun checkCfg(path: String, firFiles: List) { + override fun runAnalysis(testDataFile: File, testFiles: List, firFiles: List) { + super.runAnalysis(testDataFile, testFiles, firFiles) + checkCfg(testDataFile, firFiles) + } + + fun checkCfg(testDataFile: File, firFiles: List) { val simpleBuilder = StringBuilder() val dotBuilder = StringBuilder() firFiles.first().accept(FirControlFlowGraphRenderVisitor(simpleBuilder, dotBuilder), null) val dotCfgDump = dotBuilder.toString() - val dotExpectedPath = path.replace(".kt", ".dot") + val dotExpectedPath = testDataFile.absolutePath.replace(".kt", ".dot") KotlinTestUtils.assertEqualsToFile(File(dotExpectedPath), dotCfgDump) } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCase.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCase.kt deleted file mode 100644 index 002186d3f01..00000000000 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCase.kt +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright 2010-2018 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.fir - -import com.intellij.openapi.util.TextRange -import com.intellij.psi.search.GlobalSearchScope -import org.jetbrains.kotlin.checkers.DiagnosedRange -import org.jetbrains.kotlin.checkers.DiagnosticDiffCallbacks -import org.jetbrains.kotlin.checkers.TestCheckerUtil -import org.jetbrains.kotlin.checkers.diagnostics.ActualDiagnostic -import org.jetbrains.kotlin.checkers.diagnostics.PositionalTextDiagnostic -import org.jetbrains.kotlin.checkers.diagnostics.TextDiagnostic -import org.jetbrains.kotlin.checkers.utils.CheckerTestUtil -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment -import org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM -import org.jetbrains.kotlin.diagnostics.PsiDiagnosticUtils -import org.jetbrains.kotlin.fir.builder.RawFirBuilder -import org.jetbrains.kotlin.fir.declarations.FirFile -import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeDiagnostic -import org.jetbrains.kotlin.fir.resolve.diagnostics.collectors.AbstractDiagnosticCollector -import org.jetbrains.kotlin.fir.resolve.diagnostics.collectors.ParallelDiagnosticsCollector -import org.jetbrains.kotlin.fir.resolve.diagnostics.collectors.registerAllComponents -import org.jetbrains.kotlin.fir.resolve.firProvider -import org.jetbrains.kotlin.fir.resolve.impl.FirProviderImpl -import org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveTransformer -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.test.ConfigurationKind -import org.jetbrains.kotlin.test.KotlinTestUtils -import org.jetbrains.kotlin.test.TestFiles -import java.io.File - -abstract class AbstractFirResolveTestCase : AbstractFirResolveWithSessionTestCase() { - open val configurationKind: ConfigurationKind get() = ConfigurationKind.JDK_NO_RUNTIME - - override fun createEnvironment(): KotlinCoreEnvironment { - return createEnvironmentWithMockJdk(configurationKind) - } - - protected fun doCreateAndProcessFir(ktFiles: List): List { - val scope = GlobalSearchScope.filesScope(project, ktFiles.mapNotNull { it.virtualFile }) - .uniteWith(TopDownAnalyzerFacadeForJVM.AllJavaSourcesInProjectScope(project)) - val session = createSession(environment, scope) - - val builder = RawFirBuilder(session, stubMode = false) - - val transformer = FirTotalResolveTransformer() - return ktFiles.map { - val firFile = builder.buildFirFile(it) - (session.firProvider as FirProviderImpl).recordFile(firFile) - firFile - }.also { - try { - transformer.processFiles(it) - } catch (e: Exception) { - it.forEach { println(it.render()) } - throw e - } - } - } - - open fun doTest(path: String): List { - val file = File(path) - val expectedText = KotlinTestUtils.doLoadFile(file) - val testFiles = createTestFiles(file, expectedText) - val firFiles = doCreateAndProcessFir(testFiles.mapNotNull { it.ktFile }) - checkDiagnostics(file, testFiles, firFiles) - checkFir(path, firFiles) - return firFiles - } - - fun checkFir(path: String, firFiles: List) { - val firFileDump = StringBuilder().apply { firFiles.forEach { it.accept(FirRenderer(this), null) } }.toString() - val expectedPath = path.replace(".kt", ".txt") - KotlinTestUtils.assertEqualsToFile(File(expectedPath), firFileDump) - } - - private fun createCollector(): AbstractDiagnosticCollector { -// val collector = SimpleDiagnosticsCollector() - val collector = ParallelDiagnosticsCollector(4) - collector.registerAllComponents() - return collector - } - - private fun checkDiagnostics(file: File, testFiles: List, firFiles: List) { - val collector = createCollector() - val actualText = StringBuilder() - for ((testFile, firFile) in testFiles zip firFiles) { - val coneDiagnostics = collector.collectDiagnostics(firFile) - testFile.getActualText(coneDiagnostics, actualText) - } - KotlinTestUtils.assertEqualsToFile(file, actualText.toString()) - } - - private fun createTestFiles(file: File, expectedText: String?): List { - return TestFiles.createTestFiles(file.name, expectedText, object : TestFiles.TestFileFactory { - override fun createFile(module: Nothing?, fileName: String, text: String, directives: MutableMap): TestFile { - return TestFile(fileName, text, directives) - } - - override fun createModule(name: String, dependencies: MutableList, friends: MutableList): Nothing? { - return null - } - }) - } - - - private inner class TestFile( - fileName: String, - textWithMarkers: String, - val directives: Map - ) { - private val diagnosedRanges: MutableList = mutableListOf() - private val diagnosedRangesToDiagnosticNames: MutableMap> = mutableMapOf() - val ktFile: KtFile? by lazy { - if (fileName.endsWith(".java")) { - null - } else { - TestCheckerUtil.createCheckAndReturnPsiFile(fileName, clearText, project) - } - } - val actualDiagnostics: MutableList = mutableListOf() - val clearText: String - val expectedText: String - - init { - if (fileName.endsWith(".java")) { - clearText = textWithMarkers - expectedText = clearText - } else { - expectedText = textWithMarkers - clearText = CheckerTestUtil.parseDiagnosedRanges(addExtracts(expectedText), diagnosedRanges, diagnosedRangesToDiagnosticNames) - } - } - - fun addExtracts(text: String): String { - // TODO - return text - } - - fun getActualText( - coneDiagnostics: Iterable, - actualText: StringBuilder - ): Boolean { - val ktFile = this.ktFile - if (ktFile == null) { - // TODO: check java files too - actualText.append(this.clearText) - return true - } - - if (ktFile.name.endsWith("CoroutineUtil.kt") && ktFile.packageFqName == FqName("helpers")) return true - - // TODO: report JVM signature diagnostics also for implementing modules - - val ok = booleanArrayOf(true) - val diagnostics = coneDiagnostics.toActualDiagnostic() - val filteredDiagnostics = diagnostics // TODO - - actualDiagnostics.addAll(filteredDiagnostics) - - val uncheckedDiagnostics = mutableListOf() - - val diagnosticToExpectedDiagnostic = - CheckerTestUtil.diagnosticsDiff(diagnosedRanges, filteredDiagnostics, object : DiagnosticDiffCallbacks { - override fun missingDiagnostic(diagnostic: TextDiagnostic, expectedStart: Int, expectedEnd: Int) { - val message = "Missing " + diagnostic.description + PsiDiagnosticUtils.atLocation( - ktFile, - TextRange(expectedStart, expectedEnd) - ) - System.err.println(message) - ok[0] = false - } - - override fun wrongParametersDiagnostic( - expectedDiagnostic: TextDiagnostic, - actualDiagnostic: TextDiagnostic, - start: Int, - end: Int - ) { - val message = "Parameters of diagnostic not equal at position " + - PsiDiagnosticUtils.atLocation(ktFile, TextRange(start, end)) + - ". Expected: ${expectedDiagnostic.asString()}, actual: $actualDiagnostic" - System.err.println(message) - ok[0] = false - } - - override fun unexpectedDiagnostic(diagnostic: TextDiagnostic, actualStart: Int, actualEnd: Int) { - val message = "Unexpected ${diagnostic.description}${PsiDiagnosticUtils.atLocation( - ktFile, - TextRange(actualStart, actualEnd) - )}" - System.err.println(message) - ok[0] = false - } - - fun updateUncheckedDiagnostics(diagnostic: TextDiagnostic, start: Int, end: Int) { - uncheckedDiagnostics.add(PositionalTextDiagnostic(diagnostic, start, end)) - } - }) - - actualText.append( - CheckerTestUtil.addDiagnosticMarkersToText( - ktFile, - filteredDiagnostics, - diagnosticToExpectedDiagnostic, - { file -> file.text }, - uncheckedDiagnostics, - false, - false - ) - ) - - stripExtras(actualText) - - return ok[0] - } - - private fun stripExtras(text: StringBuilder): StringBuilder { - // TODO - return text - } - } - - private fun Iterable.toActualDiagnostic(): Collection { - return map { ActualDiagnostic(it.diagnostic, null, true) } - } -} diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCaseWithStdlib.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCaseWithStdlib.kt index aa3abcd649a..29a630ebc6c 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCaseWithStdlib.kt +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/AbstractFirResolveTestCaseWithStdlib.kt @@ -5,12 +5,16 @@ package org.jetbrains.kotlin.fir -import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.TestJdkKind +import java.io.File -abstract class AbstractFirResolveTestCaseWithStdlib : AbstractFirResolveTestCase() { - override fun createEnvironment(): KotlinCoreEnvironment { - return createEnvironmentWithJdk(ConfigurationKind.ALL, TestJdkKind.FULL_JDK) +abstract class AbstractFirDiagnosticsWithStdlibTest : AbstractFirDiagnosticsTest() { + override fun getConfigurationKind(): ConfigurationKind { + return ConfigurationKind.ALL + } + + override fun getTestJdkKind(file: File): TestJdkKind { + return TestJdkKind.FULL_JDK } } \ No newline at end of file diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java index e83cb22b2ac..a3920736444 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsTestGenerated.java @@ -16,7 +16,7 @@ import java.util.regex.Pattern; /** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") -@TestMetadata("compiler/fir/resolve/testData/diagnostics") +@TestMetadata("compiler/fir/resolve/testData/resolve") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { @@ -24,300 +24,707 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - public void testAllFilesPresentInDiagnostics() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), true); + public void testAllFilesPresentInResolve() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve"), Pattern.compile("^([^.]+)\\.kt$"), true, "stdlib", "cfg", "smartcasts"); } - @TestMetadata("compiler/fir/resolve/testData/diagnostics/callableReferences") + @TestMetadata("cast.kt") + public void testCast() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/cast.kt"); + } + + @TestMetadata("companion.kt") + public void testCompanion() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/companion.kt"); + } + + @TestMetadata("copy.kt") + public void testCopy() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/copy.kt"); + } + + @TestMetadata("delegatedSuperType.kt") + public void testDelegatedSuperType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/delegatedSuperType.kt"); + } + + @TestMetadata("derivedClass.kt") + public void testDerivedClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/derivedClass.kt"); + } + + @TestMetadata("enum.kt") + public void testEnum() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/enum.kt"); + } + + @TestMetadata("exhaustiveness_boolean.kt") + public void testExhaustiveness_boolean() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/exhaustiveness_boolean.kt"); + } + + @TestMetadata("exhaustiveness_enum.kt") + public void testExhaustiveness_enum() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/exhaustiveness_enum.kt"); + } + + @TestMetadata("exhaustiveness_sealedClass.kt") + public void testExhaustiveness_sealedClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/exhaustiveness_sealedClass.kt"); + } + + @TestMetadata("extension.kt") + public void testExtension() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/extension.kt"); + } + + @TestMetadata("F.kt") + public void testF() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/F.kt"); + } + + @TestMetadata("fakeRecursiveSupertype.kt") + public void testFakeRecursiveSupertype() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fakeRecursiveSupertype.kt"); + } + + @TestMetadata("fakeRecursiveTypealias.kt") + public void testFakeRecursiveTypealias() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fakeRecursiveTypealias.kt"); + } + + @TestMetadata("fib.kt") + public void testFib() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fib.kt"); + } + + @TestMetadata("ft.kt") + public void testFt() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/ft.kt"); + } + + @TestMetadata("functionTypes.kt") + public void testFunctionTypes() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/functionTypes.kt"); + } + + @TestMetadata("genericFunctions.kt") + public void testGenericFunctions() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/genericFunctions.kt"); + } + + @TestMetadata("intersectionTypes.kt") + public void testIntersectionTypes() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/intersectionTypes.kt"); + } + + @TestMetadata("localObject.kt") + public void testLocalObject() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/localObject.kt"); + } + + @TestMetadata("nestedClass.kt") + public void testNestedClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/nestedClass.kt"); + } + + @TestMetadata("NestedOfAliasedType.kt") + public void testNestedOfAliasedType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/NestedOfAliasedType.kt"); + } + + @TestMetadata("nestedReturnType.kt") + public void testNestedReturnType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/nestedReturnType.kt"); + } + + @TestMetadata("NestedSuperType.kt") + public void testNestedSuperType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/NestedSuperType.kt"); + } + + @TestMetadata("problems2.kt") + public void testProblems2() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/problems2.kt"); + } + + @TestMetadata("recursiveCallOnWhenWithSealedClass.kt") + public void testRecursiveCallOnWhenWithSealedClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/recursiveCallOnWhenWithSealedClass.kt"); + } + + @TestMetadata("simpleClass.kt") + public void testSimpleClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/simpleClass.kt"); + } + + @TestMetadata("simpleTypeAlias.kt") + public void testSimpleTypeAlias() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/simpleTypeAlias.kt"); + } + + @TestMetadata("treeSet.kt") + public void testTreeSet() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/treeSet.kt"); + } + + @TestMetadata("tryInference.kt") + public void testTryInference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/tryInference.kt"); + } + + @TestMetadata("TwoDeclarationsInSameFile.kt") + public void testTwoDeclarationsInSameFile() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/TwoDeclarationsInSameFile.kt"); + } + + @TestMetadata("typeAliasWithGeneric.kt") + public void testTypeAliasWithGeneric() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/typeAliasWithGeneric.kt"); + } + + @TestMetadata("typeAliasWithTypeArguments.kt") + public void testTypeAliasWithTypeArguments() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/typeAliasWithTypeArguments.kt"); + } + + @TestMetadata("typeFromGetter.kt") + public void testTypeFromGetter() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/typeFromGetter.kt"); + } + + @TestMetadata("typeParameterInPropertyReceiver.kt") + public void testTypeParameterInPropertyReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/typeParameterInPropertyReceiver.kt"); + } + + @TestMetadata("typeParameterVsNested.kt") + public void testTypeParameterVsNested() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/typeParameterVsNested.kt"); + } + + @TestMetadata("whenAsReceiver.kt") + public void testWhenAsReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/whenAsReceiver.kt"); + } + + @TestMetadata("whenInference.kt") + public void testWhenInference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/whenInference.kt"); + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/arguments") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) - public static class CallableReferences extends AbstractFirDiagnosticsTest { + public static class Arguments extends AbstractFirDiagnosticsTest { private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - public void testAllFilesPresentInCallableReferences() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/diagnostics/callableReferences"), Pattern.compile("^(.+)\\.kt$"), true); + public void testAllFilesPresentInArguments() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/arguments"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("beyoundCalls.kt") - public void testBeyoundCalls() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/beyoundCalls.kt"); + @TestMetadata("default.kt") + public void testDefault() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/arguments/default.kt"); } - @TestMetadata("companions.kt") - public void testCompanions() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/companions.kt"); + @TestMetadata("lambda.kt") + public void testLambda() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/arguments/lambda.kt"); } - @TestMetadata("constructors.kt") - public void testConstructors() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/constructors.kt"); + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/arguments/simple.kt"); } - @TestMetadata("differentLevels.kt") - public void testDifferentLevels() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/differentLevels.kt"); + @TestMetadata("vararg.kt") + public void testVararg() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/arguments/vararg.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/builtins") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Builtins extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - @TestMetadata("extensionReceiverInference.kt") - public void testExtensionReceiverInference() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/extensionReceiverInference.kt"); + public void testAllFilesPresentInBuiltins() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/builtins"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("implicitTypes.kt") - public void testImplicitTypes() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/implicitTypes.kt"); + @TestMetadata("lists.kt") + public void testLists() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/builtins/lists.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/diagnostics") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Diagnostics extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - @TestMetadata("inferenceFromCallableReferenceType.kt") - public void testInferenceFromCallableReferenceType() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromCallableReferenceType.kt"); + public void testAllFilesPresentInDiagnostics() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/diagnostics"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("inferenceFromExpectedType.kt") - public void testInferenceFromExpectedType() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/inferenceFromExpectedType.kt"); + @TestMetadata("infixFunctions.kt") + public void testInfixFunctions() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/diagnostics/infixFunctions.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Expresssions extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - @TestMetadata("javaStatic.kt") - public void testJavaStatic() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/javaStatic.kt"); + @TestMetadata("access.kt") + public void testAccess() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/access.kt"); } - @TestMetadata("manyCandidatesInference.kt") - public void testManyCandidatesInference() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/manyCandidatesInference.kt"); + public void testAllFilesPresentInExpresssions() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("manyInnerCandidates.kt") - public void testManyInnerCandidates() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerCandidates.kt"); + @TestMetadata("checkArguments.kt") + public void testCheckArguments() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/checkArguments.kt"); } - @TestMetadata("manyInnerManyOuterCandidates.kt") - public void testManyInnerManyOuterCandidates() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnerManyOuterCandidates.kt"); + @TestMetadata("companion.kt") + public void testCompanion() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/companion.kt"); } - @TestMetadata("manyInnermanyOuterCandidatesAmbiguity.kt") - public void testManyInnermanyOuterCandidatesAmbiguity() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt"); + @TestMetadata("companionExtension.kt") + public void testCompanionExtension() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/companionExtension.kt"); } - @TestMetadata("manyOuterCandidates.kt") - public void testManyOuterCandidates() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/manyOuterCandidates.kt"); + @TestMetadata("constructor.kt") + public void testConstructor() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/constructor.kt"); } - @TestMetadata("properties.kt") - public void testProperties() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/properties.kt"); + @TestMetadata("dispatchReceiver.kt") + public void testDispatchReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/dispatchReceiver.kt"); } - @TestMetadata("sam.kt") - public void testSam() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/sam.kt"); + @TestMetadata("extensionPropertyInLambda.kt") + public void testExtensionPropertyInLambda() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/extensionPropertyInLambda.kt"); } - @TestMetadata("simpleClassReceiver.kt") - public void testSimpleClassReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/simpleClassReceiver.kt"); + @TestMetadata("genericPropertyAccess.kt") + public void testGenericPropertyAccess() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/genericPropertyAccess.kt"); } - @TestMetadata("simpleExpressionReceiver.kt") - public void testSimpleExpressionReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/simpleExpressionReceiver.kt"); + @TestMetadata("importedReceiver.kt") + public void testImportedReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/importedReceiver.kt"); } - @TestMetadata("simpleNoReceiver.kt") - public void testSimpleNoReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/simpleNoReceiver.kt"); + @TestMetadata("lambda.kt") + public void testLambda() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/lambda.kt"); } - @TestMetadata("varProperties.kt") - public void testVarProperties() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/varProperties.kt"); + @TestMetadata("lambdaWithReceiver.kt") + public void testLambdaWithReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/lambdaWithReceiver.kt"); } - @TestMetadata("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests") + @TestMetadata("localConstructor.kt") + public void testLocalConstructor() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/localConstructor.kt"); + } + + @TestMetadata("localExtension.kt") + public void testLocalExtension() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/localExtension.kt"); + } + + @TestMetadata("localImplicitBodies.kt") + public void testLocalImplicitBodies() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/localImplicitBodies.kt"); + } + + @TestMetadata("localScopes.kt") + public void testLocalScopes() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/localScopes.kt"); + } + + @TestMetadata("memberExtension.kt") + public void testMemberExtension() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/memberExtension.kt"); + } + + @TestMetadata("objectVsProperty.kt") + public void testObjectVsProperty() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/objectVsProperty.kt"); + } + + @TestMetadata("objects.kt") + public void testObjects() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/objects.kt"); + } + + @TestMetadata("outerObject.kt") + public void testOuterObject() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/outerObject.kt"); + } + + @TestMetadata("qualifiedExpressions.kt") + public void testQualifiedExpressions() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifiedExpressions.kt"); + } + + @TestMetadata("receiverConsistency.kt") + public void testReceiverConsistency() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/receiverConsistency.kt"); + } + + @TestMetadata("sameReceiver.kt") + public void testSameReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/sameReceiver.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/simple.kt"); + } + + @TestMetadata("this.kt") + public void testThis() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/this.kt"); + } + + @TestMetadata("typeAliasConstructor.kt") + public void testTypeAliasConstructor() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/typeAliasConstructor.kt"); + } + + @TestMetadata("vararg.kt") + public void testVararg() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/vararg.kt"); + } + + @TestMetadata("when.kt") + public void testWhen() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/when.kt"); + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions/inference") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) - public static class FromBasicDiagnosticTests extends AbstractFirDiagnosticsTest { + public static class Inference extends AbstractFirDiagnosticsTest { private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - public void testAllFilesPresentInFromBasicDiagnosticTests() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests"), Pattern.compile("^(.+)\\.kt$"), true); + public void testAllFilesPresentInInference() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions/inference"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("ambiguityWhenNoApplicableCallableReferenceCandidate.kt") - public void testAmbiguityWhenNoApplicableCallableReferenceCandidate() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt"); + @TestMetadata("id.kt") + public void testId() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/inference/id.kt"); } - @TestMetadata("applicableCallableReferenceFromDistantScope.kt") - public void testApplicableCallableReferenceFromDistantScope() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.kt"); + @TestMetadata("typeParameters.kt") + public void testTypeParameters() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/inference/typeParameters.kt"); } - @TestMetadata("chooseCallableReferenceDependingOnInferredReceiver.kt") - public void testChooseCallableReferenceDependingOnInferredReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt"); + @TestMetadata("typeParameters2.kt") + public void testTypeParameters2() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/inference/typeParameters2.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions/invoke") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Invoke extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - @TestMetadata("commonSupertypeFromReturnTypesOfCallableReference.kt") - public void testCommonSupertypeFromReturnTypesOfCallableReference() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.kt"); + public void testAllFilesPresentInInvoke() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions/invoke"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("eagerAndPostponedCallableReferences.kt") - public void testEagerAndPostponedCallableReferences() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt"); + @TestMetadata("explicitReceiver.kt") + public void testExplicitReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/explicitReceiver.kt"); } - @TestMetadata("eagerResolveOfSingleCallableReference.kt") - public void testEagerResolveOfSingleCallableReference() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.kt"); + @TestMetadata("explicitReceiver2.kt") + public void testExplicitReceiver2() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/explicitReceiver2.kt"); } - @TestMetadata("moreSpecificAmbiguousExtensions.kt") - public void testMoreSpecificAmbiguousExtensions() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.kt"); + @TestMetadata("extension.kt") + public void testExtension() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/extension.kt"); } - @TestMetadata("multipleOutersAndMultipleCallableReferences.kt") - public void testMultipleOutersAndMultipleCallableReferences() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.kt"); + @TestMetadata("farInvokeExtension.kt") + public void testFarInvokeExtension() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/farInvokeExtension.kt"); } - @TestMetadata("noAmbiguityBetweenTopLevelAndMemberProperty.kt") - public void testNoAmbiguityBetweenTopLevelAndMemberProperty() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.kt"); + @TestMetadata("implicitTypeOrder.kt") + public void testImplicitTypeOrder() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/implicitTypeOrder.kt"); } - @TestMetadata("overloadsBound.kt") - public void testOverloadsBound() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/overloadsBound.kt"); + @TestMetadata("propertyFromParameter.kt") + public void testPropertyFromParameter() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/propertyFromParameter.kt"); } - @TestMetadata("postponedResolveOfManyCallableReference.kt") - public void testPostponedResolveOfManyCallableReference() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.kt"); + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/simple.kt"); } - @TestMetadata("resolveCallableReferencesAfterAllSimpleArguments.kt") - public void testResolveCallableReferencesAfterAllSimpleArguments() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt"); + @TestMetadata("threeReceivers.kt") + public void testThreeReceivers() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/threeReceivers.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions/operators") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Operators extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - @TestMetadata("withGenericFun.kt") - public void testWithGenericFun() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/callableReferences/fromBasicDiagnosticTests/withGenericFun.kt"); + public void testAllFilesPresentInOperators() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions/operators"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("plus.kt") + public void testPlus() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/operators/plus.kt"); + } + + @TestMetadata("plusAndPlusAssign.kt") + public void testPlusAndPlusAssign() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/operators/plusAndPlusAssign.kt"); + } + + @TestMetadata("plusAssign.kt") + public void testPlusAssign() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/expresssions/operators/plusAssign.kt"); } } } - @TestMetadata("compiler/fir/resolve/testData/diagnostics/j+k") + @TestMetadata("compiler/fir/resolve/testData/resolve/fromBuilder") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) - public static class J_k extends AbstractFirDiagnosticsTest { + public static class FromBuilder extends AbstractFirDiagnosticsTest { private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } - public void testAllFilesPresentInJ_k() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/diagnostics/j+k"), Pattern.compile("^(.+)\\.kt$"), true); + public void testAllFilesPresentInFromBuilder() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/fromBuilder"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("complexFlexibleInference.kt") - public void testComplexFlexibleInference() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/complexFlexibleInference.kt"); + @TestMetadata("complexTypes.kt") + public void testComplexTypes() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fromBuilder/complexTypes.kt"); } - @TestMetadata("FieldAndGetter.kt") - public void testFieldAndGetter() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/FieldAndGetter.kt"); + @TestMetadata("enums.kt") + public void testEnums() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fromBuilder/enums.kt"); } - @TestMetadata("FieldSubstitution.kt") - public void testFieldSubstitution() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/FieldSubstitution.kt"); + @TestMetadata("noPrimaryConstructor.kt") + public void testNoPrimaryConstructor() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fromBuilder/noPrimaryConstructor.kt"); } - @TestMetadata("FunctionTypeInJava.kt") - public void testFunctionTypeInJava() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/FunctionTypeInJava.kt"); + @TestMetadata("simpleClass.kt") + public void testSimpleClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fromBuilder/simpleClass.kt"); } - @TestMetadata("KJKComplexHierarchy.kt") - public void testKJKComplexHierarchy() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchy.kt"); - } - - @TestMetadata("KJKComplexHierarchyNestedLoop.kt") - public void testKJKComplexHierarchyNestedLoop() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyNestedLoop.kt"); - } - - @TestMetadata("KJKComplexHierarchyWithNested.kt") - public void testKJKComplexHierarchyWithNested() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/KJKComplexHierarchyWithNested.kt"); - } - - @TestMetadata("KJKInheritance.kt") - public void testKJKInheritance() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritance.kt"); - } - - @TestMetadata("KJKInheritanceGeneric.kt") - public void testKJKInheritanceGeneric() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/KJKInheritanceGeneric.kt"); - } - - @TestMetadata("KotlinClassParameter.kt") - public void testKotlinClassParameter() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameter.kt"); - } - - @TestMetadata("KotlinClassParameterGeneric.kt") - public void testKotlinClassParameterGeneric() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/KotlinClassParameterGeneric.kt"); - } - - @TestMetadata("LoggerInstance.kt") - public void testLoggerInstance() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/LoggerInstance.kt"); - } - - @TestMetadata("MyException.kt") - public void testMyException() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/MyException.kt"); - } - - @TestMetadata("MyIterable.kt") - public void testMyIterable() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/MyIterable.kt"); - } - - @TestMetadata("MyMap.kt") - public void testMyMap() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/MyMap.kt"); - } - - @TestMetadata("outerInnerClasses.kt") - public void testOuterInnerClasses() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/outerInnerClasses.kt"); - } - - @TestMetadata("RawType.kt") - public void testRawType() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/j+k/RawType.kt"); + @TestMetadata("typeParameters.kt") + public void testTypeParameters() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/fromBuilder/typeParameters.kt"); } } - @TestMetadata("compiler/fir/resolve/testData/diagnostics/samConstructors") + @TestMetadata("compiler/fir/resolve/testData/resolve/multifile") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Multifile extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInMultifile() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/multifile"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("Annotations.kt") + public void testAnnotations() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/Annotations.kt"); + } + + @TestMetadata("ByteArray.kt") + public void testByteArray() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/ByteArray.kt"); + } + + @TestMetadata("importFromObject.kt") + public void testImportFromObject() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/importFromObject.kt"); + } + + @TestMetadata("NestedSuperType.kt") + public void testNestedSuperType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/NestedSuperType.kt"); + } + + @TestMetadata("sealedStarImport.kt") + public void testSealedStarImport() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/sealedStarImport.kt"); + } + + @TestMetadata("simpleAliasedImport.kt") + public void testSimpleAliasedImport() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/simpleAliasedImport.kt"); + } + + @TestMetadata("simpleImport.kt") + public void testSimpleImport() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/simpleImport.kt"); + } + + @TestMetadata("simpleImportNested.kt") + public void testSimpleImportNested() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/simpleImportNested.kt"); + } + + @TestMetadata("simpleImportOuter.kt") + public void testSimpleImportOuter() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/simpleImportOuter.kt"); + } + + @TestMetadata("simpleStarImport.kt") + public void testSimpleStarImport() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/simpleStarImport.kt"); + } + + @TestMetadata("TypeAliasExpansion.kt") + public void testTypeAliasExpansion() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/multifile/TypeAliasExpansion.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/nested") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Nested extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInNested() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/nested"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("inner.kt") + public void testInner() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/nested/inner.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/nested/simple.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/overrides") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Overrides extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInOverrides() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/overrides"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("generics.kt") + public void testGenerics() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/overrides/generics.kt"); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/overrides/simple.kt"); + } + + @TestMetadata("simpleFakeOverride.kt") + public void testSimpleFakeOverride() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/overrides/simpleFakeOverride.kt"); + } + + @TestMetadata("three.kt") + public void testThree() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/overrides/three.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/references") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class References extends AbstractFirDiagnosticsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInReferences() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/references"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/references/simple.kt"); + } + + @TestMetadata("superMember.kt") + public void testSuperMember() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/references/superMember.kt"); + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/samConstructors") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class SamConstructors extends AbstractFirDiagnosticsTest { @@ -326,41 +733,41 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { } public void testAllFilesPresentInSamConstructors() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/diagnostics/samConstructors"), Pattern.compile("^(.+)\\.kt$"), true); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/samConstructors"), Pattern.compile("^([^.]+)\\.kt$"), true); } @TestMetadata("genericSam.kt") public void testGenericSam() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConstructors/genericSam.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConstructors/genericSam.kt"); } @TestMetadata("genericSamInferenceFromExpectType.kt") public void testGenericSamInferenceFromExpectType() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConstructors/genericSamInferenceFromExpectType.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConstructors/genericSamInferenceFromExpectType.kt"); } @TestMetadata("kotlinSam.kt") public void testKotlinSam() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConstructors/kotlinSam.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConstructors/kotlinSam.kt"); } @TestMetadata("realConstructorFunction.kt") public void testRealConstructorFunction() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConstructors/realConstructorFunction.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConstructors/realConstructorFunction.kt"); } @TestMetadata("runnable.kt") public void testRunnable() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConstructors/runnable.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConstructors/runnable.kt"); } @TestMetadata("simple.kt") public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConstructors/simple.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConstructors/simple.kt"); } } - @TestMetadata("compiler/fir/resolve/testData/diagnostics/samConversions") + @TestMetadata("compiler/fir/resolve/testData/resolve/samConversions") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class SamConversions extends AbstractFirDiagnosticsTest { @@ -369,42 +776,42 @@ public class FirDiagnosticsTestGenerated extends AbstractFirDiagnosticsTest { } public void testAllFilesPresentInSamConversions() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/diagnostics/samConversions"), Pattern.compile("^(.+)\\.kt$"), true); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/samConversions"), Pattern.compile("^([^.]+)\\.kt$"), true); } @TestMetadata("genericSam.kt") public void testGenericSam() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConversions/genericSam.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConversions/genericSam.kt"); } @TestMetadata("kotlinSam.kt") public void testKotlinSam() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConversions/kotlinSam.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConversions/kotlinSam.kt"); } @TestMetadata("notSamBecauseOfSupertype.kt") public void testNotSamBecauseOfSupertype() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConversions/notSamBecauseOfSupertype.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConversions/notSamBecauseOfSupertype.kt"); } @TestMetadata("runnable.kt") public void testRunnable() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConversions/runnable.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConversions/runnable.kt"); } @TestMetadata("samSupertype.kt") public void testSamSupertype() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConversions/samSupertype.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConversions/samSupertype.kt"); } @TestMetadata("samSupertypeWithOverride.kt") public void testSamSupertypeWithOverride() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConversions/samSupertypeWithOverride.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConversions/samSupertypeWithOverride.kt"); } @TestMetadata("simple.kt") public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/diagnostics/samConversions/simple.kt"); + runTest("compiler/fir/resolve/testData/resolve/samConversions/simple.kt"); } } } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirCfgBuildingWithStdlibTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgAndStdlibTestGenerated.java similarity index 93% rename from compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirCfgBuildingWithStdlibTestGenerated.java rename to compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgAndStdlibTestGenerated.java index 68430945d4a..c0adf6dc5f3 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirCfgBuildingWithStdlibTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgAndStdlibTestGenerated.java @@ -19,7 +19,7 @@ import java.util.regex.Pattern; @TestMetadata("compiler/fir/resolve/testData/resolve/stdlib/contracts") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) -public class FirCfgBuildingWithStdlibTestGenerated extends AbstractFirCfgBuildingWithStdlibTest { +public class FirDiagnosticsWithCfgAndStdlibTestGenerated extends AbstractFirDiagnosticsWithCfgAndStdlibTest { private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirCfgBuildingTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgTestGenerated.java similarity index 96% rename from compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirCfgBuildingTestGenerated.java rename to compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgTestGenerated.java index c0080ba4a8a..3da6522af66 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirCfgBuildingTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgTestGenerated.java @@ -17,11 +17,11 @@ import java.util.regex.Pattern; /** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @RunWith(JUnit3RunnerWithInners.class) -public class FirCfgBuildingTestGenerated extends AbstractFirCfgBuildingTest { +public class FirDiagnosticsWithCfgTestGenerated extends AbstractFirDiagnosticsWithCfgTest { @TestMetadata("compiler/fir/resolve/testData/resolve/cfg") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) - public static class Cfg extends AbstractFirCfgBuildingTest { + public static class Cfg extends AbstractFirDiagnosticsWithCfgTest { private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } @@ -99,7 +99,7 @@ public class FirCfgBuildingTestGenerated extends AbstractFirCfgBuildingTest { @TestMetadata("compiler/fir/resolve/testData/resolve/smartcasts") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) - public static class Smartcasts extends AbstractFirCfgBuildingTest { + public static class Smartcasts extends AbstractFirDiagnosticsWithCfgTest { private void runTest(String testDataFilePath) throws Exception { KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java new file mode 100644 index 00000000000..f22d305a097 --- /dev/null +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java @@ -0,0 +1,439 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("compiler/fir/resolve/testData/resolve/stdlib") +@TestDataPath("$PROJECT_ROOT") +@RunWith(JUnit3RunnerWithInners.class) +public class FirDiagnosticsWithStdlibTestGenerated extends AbstractFirDiagnosticsWithStdlibTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInStdlib() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/stdlib"), Pattern.compile("^([^.]+)\\.kt$"), true, "contracts"); + } + + @TestMetadata("anonymousInDelegate.kt") + public void testAnonymousInDelegate() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/anonymousInDelegate.kt"); + } + + @TestMetadata("arrayFirstOrNull.kt") + public void testArrayFirstOrNull() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/arrayFirstOrNull.kt"); + } + + @TestMetadata("backingField.kt") + public void testBackingField() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/backingField.kt"); + } + + @TestMetadata("companionLoad.kt") + public void testCompanionLoad() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/companionLoad.kt"); + } + + @TestMetadata("components.kt") + public void testComponents() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/components.kt"); + } + + @TestMetadata("concurrent.kt") + public void testConcurrent() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/concurrent.kt"); + } + + @TestMetadata("exception.kt") + public void testException() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/exception.kt"); + } + + @TestMetadata("factoryFunctionOverloads.kt") + public void testFactoryFunctionOverloads() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/factoryFunctionOverloads.kt"); + } + + @TestMetadata("functionX.kt") + public void testFunctionX() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/functionX.kt"); + } + + @TestMetadata("hashSet.kt") + public void testHashSet() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/hashSet.kt"); + } + + @TestMetadata("helloWorld.kt") + public void testHelloWorld() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/helloWorld.kt"); + } + + @TestMetadata("implicitReceiverOrder.kt") + public void testImplicitReceiverOrder() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/implicitReceiverOrder.kt"); + } + + @TestMetadata("mapList.kt") + public void testMapList() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/mapList.kt"); + } + + @TestMetadata("multipleImplicitReceivers.kt") + public void testMultipleImplicitReceivers() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/multipleImplicitReceivers.kt"); + } + + @TestMetadata("problems.kt") + public void testProblems() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/problems.kt"); + } + + @TestMetadata("recursiveBug.kt") + public void testRecursiveBug() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/recursiveBug.kt"); + } + + @TestMetadata("reflectionClass.kt") + public void testReflectionClass() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/reflectionClass.kt"); + } + + @TestMetadata("simpleDelegateProvider.kt") + public void testSimpleDelegateProvider() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/simpleDelegateProvider.kt"); + } + + @TestMetadata("simpleDelegatedToMap.kt") + public void testSimpleDelegatedToMap() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/simpleDelegatedToMap.kt"); + } + + @TestMetadata("simpleLazy.kt") + public void testSimpleLazy() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/simpleLazy.kt"); + } + + @TestMetadata("topLevelResolve.kt") + public void testTopLevelResolve() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/topLevelResolve.kt"); + } + + @TestMetadata("typeAliasDeserialization.kt") + public void testTypeAliasDeserialization() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/typeAliasDeserialization.kt"); + } + + @TestMetadata("typeParameterDerived.kt") + public void testTypeParameterDerived() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/typeParameterDerived.kt"); + } + + @TestMetadata("unaryOperators.kt") + public void testUnaryOperators() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/unaryOperators.kt"); + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/stdlib/callableReferences") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class CallableReferences extends AbstractFirDiagnosticsWithStdlibTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInCallableReferences() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/stdlib/callableReferences"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("beyoundCalls.kt") + public void testBeyoundCalls() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/beyoundCalls.kt"); + } + + @TestMetadata("companions.kt") + public void testCompanions() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/companions.kt"); + } + + @TestMetadata("constructors.kt") + public void testConstructors() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/constructors.kt"); + } + + @TestMetadata("differentLevels.kt") + public void testDifferentLevels() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/differentLevels.kt"); + } + + @TestMetadata("extensionReceiverInference.kt") + public void testExtensionReceiverInference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/extensionReceiverInference.kt"); + } + + @TestMetadata("implicitTypes.kt") + public void testImplicitTypes() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/implicitTypes.kt"); + } + + @TestMetadata("inferenceFromCallableReferenceType.kt") + public void testInferenceFromCallableReferenceType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromCallableReferenceType.kt"); + } + + @TestMetadata("inferenceFromExpectedType.kt") + public void testInferenceFromExpectedType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/inferenceFromExpectedType.kt"); + } + + @TestMetadata("javaStatic.kt") + public void testJavaStatic() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/javaStatic.kt"); + } + + @TestMetadata("manyCandidatesInference.kt") + public void testManyCandidatesInference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyCandidatesInference.kt"); + } + + @TestMetadata("manyInnerCandidates.kt") + public void testManyInnerCandidates() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerCandidates.kt"); + } + + @TestMetadata("manyInnerManyOuterCandidates.kt") + public void testManyInnerManyOuterCandidates() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnerManyOuterCandidates.kt"); + } + + @TestMetadata("manyInnermanyOuterCandidatesAmbiguity.kt") + public void testManyInnermanyOuterCandidatesAmbiguity() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyInnermanyOuterCandidatesAmbiguity.kt"); + } + + @TestMetadata("manyOuterCandidates.kt") + public void testManyOuterCandidates() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/manyOuterCandidates.kt"); + } + + @TestMetadata("properties.kt") + public void testProperties() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/properties.kt"); + } + + @TestMetadata("sam.kt") + public void testSam() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/sam.kt"); + } + + @TestMetadata("simpleClassReceiver.kt") + public void testSimpleClassReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleClassReceiver.kt"); + } + + @TestMetadata("simpleExpressionReceiver.kt") + public void testSimpleExpressionReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleExpressionReceiver.kt"); + } + + @TestMetadata("simpleNoReceiver.kt") + public void testSimpleNoReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/simpleNoReceiver.kt"); + } + + @TestMetadata("varProperties.kt") + public void testVarProperties() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/varProperties.kt"); + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class FromBasicDiagnosticTests extends AbstractFirDiagnosticsWithStdlibTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInFromBasicDiagnosticTests() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("ambiguityWhenNoApplicableCallableReferenceCandidate.kt") + public void testAmbiguityWhenNoApplicableCallableReferenceCandidate() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/ambiguityWhenNoApplicableCallableReferenceCandidate.kt"); + } + + @TestMetadata("applicableCallableReferenceFromDistantScope.kt") + public void testApplicableCallableReferenceFromDistantScope() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/applicableCallableReferenceFromDistantScope.kt"); + } + + @TestMetadata("chooseCallableReferenceDependingOnInferredReceiver.kt") + public void testChooseCallableReferenceDependingOnInferredReceiver() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/chooseCallableReferenceDependingOnInferredReceiver.kt"); + } + + @TestMetadata("commonSupertypeFromReturnTypesOfCallableReference.kt") + public void testCommonSupertypeFromReturnTypesOfCallableReference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/commonSupertypeFromReturnTypesOfCallableReference.kt"); + } + + @TestMetadata("eagerAndPostponedCallableReferences.kt") + public void testEagerAndPostponedCallableReferences() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerAndPostponedCallableReferences.kt"); + } + + @TestMetadata("eagerResolveOfSingleCallableReference.kt") + public void testEagerResolveOfSingleCallableReference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/eagerResolveOfSingleCallableReference.kt"); + } + + @TestMetadata("moreSpecificAmbiguousExtensions.kt") + public void testMoreSpecificAmbiguousExtensions() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/moreSpecificAmbiguousExtensions.kt"); + } + + @TestMetadata("multipleOutersAndMultipleCallableReferences.kt") + public void testMultipleOutersAndMultipleCallableReferences() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/multipleOutersAndMultipleCallableReferences.kt"); + } + + @TestMetadata("noAmbiguityBetweenTopLevelAndMemberProperty.kt") + public void testNoAmbiguityBetweenTopLevelAndMemberProperty() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/noAmbiguityBetweenTopLevelAndMemberProperty.kt"); + } + + @TestMetadata("overloadsBound.kt") + public void testOverloadsBound() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/overloadsBound.kt"); + } + + @TestMetadata("postponedResolveOfManyCallableReference.kt") + public void testPostponedResolveOfManyCallableReference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/postponedResolveOfManyCallableReference.kt"); + } + + @TestMetadata("resolveCallableReferencesAfterAllSimpleArguments.kt") + public void testResolveCallableReferencesAfterAllSimpleArguments() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/resolveCallableReferencesAfterAllSimpleArguments.kt"); + } + + @TestMetadata("withGenericFun.kt") + public void testWithGenericFun() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/callableReferences/fromBasicDiagnosticTests/withGenericFun.kt"); + } + } + } + + @TestMetadata("compiler/fir/resolve/testData/resolve/stdlib/j+k") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class J_k extends AbstractFirDiagnosticsWithStdlibTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInJ_k() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/stdlib/j+k"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("complexFlexibleInference.kt") + public void testComplexFlexibleInference() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/complexFlexibleInference.kt"); + } + + @TestMetadata("FieldAndGetter.kt") + public void testFieldAndGetter() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldAndGetter.kt"); + } + + @TestMetadata("FieldSubstitution.kt") + public void testFieldSubstitution() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/FieldSubstitution.kt"); + } + + @TestMetadata("FunctionTypeInJava.kt") + public void testFunctionTypeInJava() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/FunctionTypeInJava.kt"); + } + + @TestMetadata("KJKComplexHierarchy.kt") + public void testKJKComplexHierarchy() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchy.kt"); + } + + @TestMetadata("KJKComplexHierarchyNestedLoop.kt") + public void testKJKComplexHierarchyNestedLoop() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyNestedLoop.kt"); + } + + @TestMetadata("KJKComplexHierarchyWithNested.kt") + public void testKJKComplexHierarchyWithNested() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKComplexHierarchyWithNested.kt"); + } + + @TestMetadata("KJKInheritance.kt") + public void testKJKInheritance() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritance.kt"); + } + + @TestMetadata("KJKInheritanceGeneric.kt") + public void testKJKInheritanceGeneric() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/KJKInheritanceGeneric.kt"); + } + + @TestMetadata("KotlinClassParameter.kt") + public void testKotlinClassParameter() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameter.kt"); + } + + @TestMetadata("KotlinClassParameterGeneric.kt") + public void testKotlinClassParameterGeneric() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/KotlinClassParameterGeneric.kt"); + } + + @TestMetadata("LoggerInstance.kt") + public void testLoggerInstance() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/LoggerInstance.kt"); + } + + @TestMetadata("MyException.kt") + public void testMyException() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/MyException.kt"); + } + + @TestMetadata("MyIterable.kt") + public void testMyIterable() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/MyIterable.kt"); + } + + @TestMetadata("MyMap.kt") + public void testMyMap() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/MyMap.kt"); + } + + @TestMetadata("outerInnerClasses.kt") + public void testOuterInnerClasses() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/outerInnerClasses.kt"); + } + + @TestMetadata("RawType.kt") + public void testRawType() throws Exception { + runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/RawType.kt"); + } + } +} diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseGenerated.java deleted file mode 100644 index 9bca501380f..00000000000 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseGenerated.java +++ /dev/null @@ -1,726 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.fir; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("compiler/fir/resolve/testData/resolve") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class FirResolveTestCaseGenerated extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInResolve() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve"), Pattern.compile("^([^.]+)\\.kt$"), true, "stdlib", "cfg", "smartcasts"); - } - - @TestMetadata("cast.kt") - public void testCast() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/cast.kt"); - } - - @TestMetadata("companion.kt") - public void testCompanion() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/companion.kt"); - } - - @TestMetadata("copy.kt") - public void testCopy() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/copy.kt"); - } - - @TestMetadata("delegatedSuperType.kt") - public void testDelegatedSuperType() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/delegatedSuperType.kt"); - } - - @TestMetadata("derivedClass.kt") - public void testDerivedClass() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/derivedClass.kt"); - } - - @TestMetadata("enum.kt") - public void testEnum() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/enum.kt"); - } - - @TestMetadata("exhaustiveness_boolean.kt") - public void testExhaustiveness_boolean() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/exhaustiveness_boolean.kt"); - } - - @TestMetadata("exhaustiveness_enum.kt") - public void testExhaustiveness_enum() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/exhaustiveness_enum.kt"); - } - - @TestMetadata("exhaustiveness_sealedClass.kt") - public void testExhaustiveness_sealedClass() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/exhaustiveness_sealedClass.kt"); - } - - @TestMetadata("extension.kt") - public void testExtension() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/extension.kt"); - } - - @TestMetadata("F.kt") - public void testF() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/F.kt"); - } - - @TestMetadata("fakeRecursiveSupertype.kt") - public void testFakeRecursiveSupertype() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fakeRecursiveSupertype.kt"); - } - - @TestMetadata("fakeRecursiveTypealias.kt") - public void testFakeRecursiveTypealias() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fakeRecursiveTypealias.kt"); - } - - @TestMetadata("fib.kt") - public void testFib() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fib.kt"); - } - - @TestMetadata("ft.kt") - public void testFt() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/ft.kt"); - } - - @TestMetadata("functionTypes.kt") - public void testFunctionTypes() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/functionTypes.kt"); - } - - @TestMetadata("genericFunctions.kt") - public void testGenericFunctions() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/genericFunctions.kt"); - } - - @TestMetadata("intersectionTypes.kt") - public void testIntersectionTypes() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/intersectionTypes.kt"); - } - - @TestMetadata("localObject.kt") - public void testLocalObject() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/localObject.kt"); - } - - @TestMetadata("nestedClass.kt") - public void testNestedClass() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/nestedClass.kt"); - } - - @TestMetadata("NestedOfAliasedType.kt") - public void testNestedOfAliasedType() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/NestedOfAliasedType.kt"); - } - - @TestMetadata("nestedReturnType.kt") - public void testNestedReturnType() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/nestedReturnType.kt"); - } - - @TestMetadata("NestedSuperType.kt") - public void testNestedSuperType() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/NestedSuperType.kt"); - } - - @TestMetadata("problems2.kt") - public void testProblems2() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/problems2.kt"); - } - - @TestMetadata("recursiveCallOnWhenWithSealedClass.kt") - public void testRecursiveCallOnWhenWithSealedClass() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/recursiveCallOnWhenWithSealedClass.kt"); - } - - @TestMetadata("simpleClass.kt") - public void testSimpleClass() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/simpleClass.kt"); - } - - @TestMetadata("simpleTypeAlias.kt") - public void testSimpleTypeAlias() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/simpleTypeAlias.kt"); - } - - @TestMetadata("treeSet.kt") - public void testTreeSet() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/treeSet.kt"); - } - - @TestMetadata("tryInference.kt") - public void testTryInference() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/tryInference.kt"); - } - - @TestMetadata("TwoDeclarationsInSameFile.kt") - public void testTwoDeclarationsInSameFile() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/TwoDeclarationsInSameFile.kt"); - } - - @TestMetadata("typeAliasWithGeneric.kt") - public void testTypeAliasWithGeneric() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/typeAliasWithGeneric.kt"); - } - - @TestMetadata("typeAliasWithTypeArguments.kt") - public void testTypeAliasWithTypeArguments() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/typeAliasWithTypeArguments.kt"); - } - - @TestMetadata("typeFromGetter.kt") - public void testTypeFromGetter() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/typeFromGetter.kt"); - } - - @TestMetadata("typeParameterInPropertyReceiver.kt") - public void testTypeParameterInPropertyReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/typeParameterInPropertyReceiver.kt"); - } - - @TestMetadata("typeParameterVsNested.kt") - public void testTypeParameterVsNested() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/typeParameterVsNested.kt"); - } - - @TestMetadata("whenAsReceiver.kt") - public void testWhenAsReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/whenAsReceiver.kt"); - } - - @TestMetadata("whenInference.kt") - public void testWhenInference() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/whenInference.kt"); - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/arguments") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Arguments extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInArguments() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/arguments"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("default.kt") - public void testDefault() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/arguments/default.kt"); - } - - @TestMetadata("lambda.kt") - public void testLambda() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/arguments/lambda.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/arguments/simple.kt"); - } - - @TestMetadata("vararg.kt") - public void testVararg() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/arguments/vararg.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/builtins") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Builtins extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInBuiltins() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/builtins"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("lists.kt") - public void testLists() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/builtins/lists.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/diagnostics") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Diagnostics extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInDiagnostics() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/diagnostics"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("infixFunctions.kt") - public void testInfixFunctions() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/diagnostics/infixFunctions.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Expresssions extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - @TestMetadata("access.kt") - public void testAccess() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/access.kt"); - } - - public void testAllFilesPresentInExpresssions() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("checkArguments.kt") - public void testCheckArguments() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/checkArguments.kt"); - } - - @TestMetadata("companion.kt") - public void testCompanion() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/companion.kt"); - } - - @TestMetadata("companionExtension.kt") - public void testCompanionExtension() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/companionExtension.kt"); - } - - @TestMetadata("constructor.kt") - public void testConstructor() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/constructor.kt"); - } - - @TestMetadata("dispatchReceiver.kt") - public void testDispatchReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/dispatchReceiver.kt"); - } - - @TestMetadata("extensionPropertyInLambda.kt") - public void testExtensionPropertyInLambda() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/extensionPropertyInLambda.kt"); - } - - @TestMetadata("genericPropertyAccess.kt") - public void testGenericPropertyAccess() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/genericPropertyAccess.kt"); - } - - @TestMetadata("importedReceiver.kt") - public void testImportedReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/importedReceiver.kt"); - } - - @TestMetadata("lambda.kt") - public void testLambda() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/lambda.kt"); - } - - @TestMetadata("lambdaWithReceiver.kt") - public void testLambdaWithReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/lambdaWithReceiver.kt"); - } - - @TestMetadata("localConstructor.kt") - public void testLocalConstructor() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/localConstructor.kt"); - } - - @TestMetadata("localExtension.kt") - public void testLocalExtension() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/localExtension.kt"); - } - - @TestMetadata("localImplicitBodies.kt") - public void testLocalImplicitBodies() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/localImplicitBodies.kt"); - } - - @TestMetadata("localScopes.kt") - public void testLocalScopes() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/localScopes.kt"); - } - - @TestMetadata("memberExtension.kt") - public void testMemberExtension() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/memberExtension.kt"); - } - - @TestMetadata("objectVsProperty.kt") - public void testObjectVsProperty() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/objectVsProperty.kt"); - } - - @TestMetadata("objects.kt") - public void testObjects() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/objects.kt"); - } - - @TestMetadata("outerObject.kt") - public void testOuterObject() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/outerObject.kt"); - } - - @TestMetadata("qualifiedExpressions.kt") - public void testQualifiedExpressions() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/qualifiedExpressions.kt"); - } - - @TestMetadata("receiverConsistency.kt") - public void testReceiverConsistency() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/receiverConsistency.kt"); - } - - @TestMetadata("sameReceiver.kt") - public void testSameReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/sameReceiver.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/simple.kt"); - } - - @TestMetadata("this.kt") - public void testThis() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/this.kt"); - } - - @TestMetadata("typeAliasConstructor.kt") - public void testTypeAliasConstructor() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/typeAliasConstructor.kt"); - } - - @TestMetadata("vararg.kt") - public void testVararg() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/vararg.kt"); - } - - @TestMetadata("when.kt") - public void testWhen() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/when.kt"); - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions/inference") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Inference extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInInference() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions/inference"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("id.kt") - public void testId() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/inference/id.kt"); - } - - @TestMetadata("typeParameters.kt") - public void testTypeParameters() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/inference/typeParameters.kt"); - } - - @TestMetadata("typeParameters2.kt") - public void testTypeParameters2() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/inference/typeParameters2.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions/invoke") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Invoke extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInInvoke() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions/invoke"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("explicitReceiver.kt") - public void testExplicitReceiver() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/explicitReceiver.kt"); - } - - @TestMetadata("explicitReceiver2.kt") - public void testExplicitReceiver2() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/explicitReceiver2.kt"); - } - - @TestMetadata("extension.kt") - public void testExtension() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/extension.kt"); - } - - @TestMetadata("farInvokeExtension.kt") - public void testFarInvokeExtension() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/farInvokeExtension.kt"); - } - - @TestMetadata("implicitTypeOrder.kt") - public void testImplicitTypeOrder() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/implicitTypeOrder.kt"); - } - - @TestMetadata("propertyFromParameter.kt") - public void testPropertyFromParameter() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/propertyFromParameter.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/simple.kt"); - } - - @TestMetadata("threeReceivers.kt") - public void testThreeReceivers() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/invoke/threeReceivers.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/expresssions/operators") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Operators extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInOperators() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/expresssions/operators"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("plus.kt") - public void testPlus() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/operators/plus.kt"); - } - - @TestMetadata("plusAndPlusAssign.kt") - public void testPlusAndPlusAssign() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/operators/plusAndPlusAssign.kt"); - } - - @TestMetadata("plusAssign.kt") - public void testPlusAssign() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/expresssions/operators/plusAssign.kt"); - } - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/fromBuilder") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class FromBuilder extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInFromBuilder() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/fromBuilder"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("complexTypes.kt") - public void testComplexTypes() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fromBuilder/complexTypes.kt"); - } - - @TestMetadata("enums.kt") - public void testEnums() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fromBuilder/enums.kt"); - } - - @TestMetadata("noPrimaryConstructor.kt") - public void testNoPrimaryConstructor() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fromBuilder/noPrimaryConstructor.kt"); - } - - @TestMetadata("simpleClass.kt") - public void testSimpleClass() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fromBuilder/simpleClass.kt"); - } - - @TestMetadata("typeParameters.kt") - public void testTypeParameters() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/fromBuilder/typeParameters.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/multifile") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Multifile extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInMultifile() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/multifile"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("Annotations.kt") - public void testAnnotations() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/Annotations.kt"); - } - - @TestMetadata("ByteArray.kt") - public void testByteArray() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/ByteArray.kt"); - } - - @TestMetadata("importFromObject.kt") - public void testImportFromObject() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/importFromObject.kt"); - } - - @TestMetadata("NestedSuperType.kt") - public void testNestedSuperType() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/NestedSuperType.kt"); - } - - @TestMetadata("sealedStarImport.kt") - public void testSealedStarImport() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/sealedStarImport.kt"); - } - - @TestMetadata("simpleAliasedImport.kt") - public void testSimpleAliasedImport() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/simpleAliasedImport.kt"); - } - - @TestMetadata("simpleImport.kt") - public void testSimpleImport() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/simpleImport.kt"); - } - - @TestMetadata("simpleImportNested.kt") - public void testSimpleImportNested() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/simpleImportNested.kt"); - } - - @TestMetadata("simpleImportOuter.kt") - public void testSimpleImportOuter() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/simpleImportOuter.kt"); - } - - @TestMetadata("simpleStarImport.kt") - public void testSimpleStarImport() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/simpleStarImport.kt"); - } - - @TestMetadata("TypeAliasExpansion.kt") - public void testTypeAliasExpansion() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/multifile/TypeAliasExpansion.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/nested") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Nested extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInNested() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/nested"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("inner.kt") - public void testInner() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/nested/inner.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/nested/simple.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/overrides") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Overrides extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInOverrides() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/overrides"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("generics.kt") - public void testGenerics() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/overrides/generics.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/overrides/simple.kt"); - } - - @TestMetadata("simpleFakeOverride.kt") - public void testSimpleFakeOverride() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/overrides/simpleFakeOverride.kt"); - } - - @TestMetadata("three.kt") - public void testThree() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/overrides/three.kt"); - } - } - - @TestMetadata("compiler/fir/resolve/testData/resolve/references") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class References extends AbstractFirResolveTestCase { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInReferences() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/references"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/references/simple.kt"); - } - - @TestMetadata("superMember.kt") - public void testSuperMember() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/references/superMember.kt"); - } - } -} diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java deleted file mode 100644 index c0dc0516c04..00000000000 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirResolveTestCaseWithStdlibGenerated.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.fir; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("compiler/fir/resolve/testData/resolve/stdlib") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class FirResolveTestCaseWithStdlibGenerated extends AbstractFirResolveTestCaseWithStdlib { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInStdlib() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/stdlib"), Pattern.compile("^([^.]+)\\.kt$"), true, "contracts"); - } - - @TestMetadata("anonymousInDelegate.kt") - public void testAnonymousInDelegate() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/anonymousInDelegate.kt"); - } - - @TestMetadata("arrayFirstOrNull.kt") - public void testArrayFirstOrNull() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/arrayFirstOrNull.kt"); - } - - @TestMetadata("backingField.kt") - public void testBackingField() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/backingField.kt"); - } - - @TestMetadata("companionLoad.kt") - public void testCompanionLoad() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/companionLoad.kt"); - } - - @TestMetadata("components.kt") - public void testComponents() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/components.kt"); - } - - @TestMetadata("concurrent.kt") - public void testConcurrent() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/concurrent.kt"); - } - - @TestMetadata("exception.kt") - public void testException() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/exception.kt"); - } - - @TestMetadata("factoryFunctionOverloads.kt") - public void testFactoryFunctionOverloads() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/factoryFunctionOverloads.kt"); - } - - @TestMetadata("functionX.kt") - public void testFunctionX() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/functionX.kt"); - } - - @TestMetadata("hashSet.kt") - public void testHashSet() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/hashSet.kt"); - } - - @TestMetadata("helloWorld.kt") - public void testHelloWorld() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/helloWorld.kt"); - } - - @TestMetadata("implicitReceiverOrder.kt") - public void testImplicitReceiverOrder() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/implicitReceiverOrder.kt"); - } - - @TestMetadata("mapList.kt") - public void testMapList() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/mapList.kt"); - } - - @TestMetadata("multipleImplicitReceivers.kt") - public void testMultipleImplicitReceivers() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/multipleImplicitReceivers.kt"); - } - - @TestMetadata("problems.kt") - public void testProblems() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/problems.kt"); - } - - @TestMetadata("recursiveBug.kt") - public void testRecursiveBug() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/recursiveBug.kt"); - } - - @TestMetadata("reflectionClass.kt") - public void testReflectionClass() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/reflectionClass.kt"); - } - - @TestMetadata("simpleDelegateProvider.kt") - public void testSimpleDelegateProvider() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/simpleDelegateProvider.kt"); - } - - @TestMetadata("simpleDelegatedToMap.kt") - public void testSimpleDelegatedToMap() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/simpleDelegatedToMap.kt"); - } - - @TestMetadata("simpleLazy.kt") - public void testSimpleLazy() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/simpleLazy.kt"); - } - - @TestMetadata("topLevelResolve.kt") - public void testTopLevelResolve() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/topLevelResolve.kt"); - } - - @TestMetadata("typeAliasDeserialization.kt") - public void testTypeAliasDeserialization() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/typeAliasDeserialization.kt"); - } - - @TestMetadata("typeParameterDerived.kt") - public void testTypeParameterDerived() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/typeParameterDerived.kt"); - } - - @TestMetadata("unaryOperators.kt") - public void testUnaryOperators() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/stdlib/unaryOperators.kt"); - } -} diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/java/AbstractFirLightClassesTest.kt b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/java/AbstractFirLightClassesTest.kt index 6b566acc95a..d58780ee9ad 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/java/AbstractFirLightClassesTest.kt +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/java/AbstractFirLightClassesTest.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.test.KotlinTestUtils import java.io.File abstract class AbstractFirLightClassesTest : AbstractFirDiagnosticsSmokeTest() { - override fun checkResultingFirFiles(firFiles: MutableList, testDataFile: File) { + override fun checkResultingFirFiles(firFiles: List, testDataFile: File) { super.checkResultingFirFiles(firFiles, testDataFile) val ourFinders = diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt index d9f04081a81..9d7c21aa8f4 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt @@ -139,7 +139,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava ) { - private val diagnosedRanges: MutableList = mutableListOf() + val diagnosedRanges: MutableList = mutableListOf() private val diagnosedRangesToDiagnosticNames: MutableMap> = mutableMapOf() val actualDiagnostics: MutableList = mutableListOf() val expectedText: String @@ -196,10 +196,10 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava= 0) { diff --git a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt index c8886ab8a07..a3ed5934ba7 100644 --- a/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt +++ b/compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt @@ -512,20 +512,20 @@ fun main(args: Array) { } testGroup("compiler/fir/resolve/tests", "compiler/fir/resolve/testData") { - testClass { + testClass { model("resolve", pattern = KT_WITHOUT_DOTS_IN_NAME, excludeDirs = listOf("stdlib", "cfg", "smartcasts")) } - testClass { + testClass { model("resolve/cfg", pattern = KT_WITHOUT_DOTS_IN_NAME) model("resolve/smartcasts", pattern = KT_WITHOUT_DOTS_IN_NAME) } - testClass { + testClass { model("resolve/stdlib", pattern = KT_WITHOUT_DOTS_IN_NAME, excludeDirs = listOf("contracts")) } - testClass { + testClass { model("resolve/stdlib/contracts", pattern = KT_WITHOUT_DOTS_IN_NAME) } } @@ -555,13 +555,6 @@ fun main(args: Array) { } } - testGroup("compiler/fir/resolve/tests", "compiler/fir/resolve/testData") { - - testClass { - model("diagnostics") - } - } - testGroup("compiler/fir/resolve/tests", "compiler/fir/resolve/testData") { testClass { model("lightClasses")