Safe-Push into master
authorRoman Golyshev <roman.golyshev@jetbrains.com>
Fri, 12 Aug 2022 00:22:42 +0000 (00:22 +0000)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Fri, 12 Aug 2022 00:22:42 +0000 (00:22 +0000)
GitOrigin-RevId: 09f20f26d87844c4229d1479c0a191db583f3f93

437 files changed:
.idea/libraries/kotlinc_allopen_compiler_plugin.xml
.idea/libraries/kotlinc_analysis_api_providers.xml
.idea/libraries/kotlinc_analysis_project_structure.xml
.idea/libraries/kotlinc_android_extensions_compiler_plugin.xml
.idea/libraries/kotlinc_high_level_api.xml
.idea/libraries/kotlinc_high_level_api_fe10.xml
.idea/libraries/kotlinc_high_level_api_fir.xml
.idea/libraries/kotlinc_high_level_api_fir_tests.xml
.idea/libraries/kotlinc_high_level_api_impl_base.xml
.idea/libraries/kotlinc_high_level_api_impl_base_tests.xml
.idea/libraries/kotlinc_incremental_compilation_impl_tests.xml
.idea/libraries/kotlinc_kotlin_build_common_tests.xml
.idea/libraries/kotlinc_kotlin_compiler_cli.xml
.idea/libraries/kotlinc_kotlin_compiler_common.xml
.idea/libraries/kotlinc_kotlin_compiler_fe10.xml
.idea/libraries/kotlinc_kotlin_compiler_fir.xml
.idea/libraries/kotlinc_kotlin_compiler_ir.xml
.idea/libraries/kotlinc_kotlin_compiler_tests.xml
.idea/libraries/kotlinc_kotlin_gradle_statistics.xml
.idea/libraries/kotlinc_kotlin_jps_common.xml
.idea/libraries/kotlinc_kotlin_reflect.xml
.idea/libraries/kotlinc_kotlin_script_runtime.xml
.idea/libraries/kotlinc_kotlin_scripting_common.xml
.idea/libraries/kotlinc_kotlin_scripting_compiler_impl.xml
.idea/libraries/kotlinc_kotlin_scripting_jvm.xml
.idea/libraries/kotlinc_kotlin_stdlib.xml
.idea/libraries/kotlinc_kotlin_stdlib_minimal_for_test.xml
.idea/libraries/kotlinc_kotlinx_serialization_compiler_plugin.xml
.idea/libraries/kotlinc_lombok_compiler_plugin.xml
.idea/libraries/kotlinc_low_level_api_fir.xml
.idea/libraries/kotlinc_noarg_compiler_plugin.xml
.idea/libraries/kotlinc_parcelize_compiler_plugin.xml
.idea/libraries/kotlinc_sam_with_receiver_compiler_plugin.xml
.idea/libraries/kotlinc_symbol_light_classes.xml
.idea/runConfigurations/Kotlin_Coop__Publish_compiler_for_ide_JARs.xml
plugins/kotlin/base/analysis-api-providers/src/org/jetbrains/kotlin/idea/base/analysisApiProviders/IdeKotlinDeclarationProviderFactory.kt
plugins/kotlin/base/analysis-api/analysis-api-utils/src/org/jetbrains/kotlin/idea/base/analysis/api/utils/KtSymbolFromIndexProvider.kt
plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/caches/resolve/IDEKotlinAsJavaSupport.kt
plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/util/IdeDescriptorRenderers.kt
plugins/kotlin/base/fe10/analysis/src/org/jetbrains/kotlin/idea/util/TypeUtils.kt
plugins/kotlin/base/fe10/code-insight/src/org/jetbrains/kotlin/idea/base/fe10/codeInsight/DescriptorMemberChooserObject.kt
plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/KotlinTopLevelCallableByPackageShortNameIndex.kt [new file with mode: 0644]
plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/KotlinTopLevelClassLikeDeclarationByPackageShortNameIndex.kt [new file with mode: 0644]
plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/NameByPackageShortNameIndex.kt [new file with mode: 0644]
plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/internalUtils.kt [new file with mode: 0644]
plugins/kotlin/completion/tests/testData/basic/common/ExtensionForProperty.kt
plugins/kotlin/completion/tests/testData/basic/common/ExtensionFunReceiver.kt
plugins/kotlin/completion/tests/testData/basic/common/ExtensionFunReceiverForce.kt
plugins/kotlin/completion/tests/testData/basic/common/ExtensionInsideFunction.kt
plugins/kotlin/completion/tests/testData/basic/common/FromImports.kt
plugins/kotlin/completion/tests/testData/basic/common/InExpressionNoPrefix.kt
plugins/kotlin/completion/tests/testData/basic/common/InExtendTypeAnnotation.kt
plugins/kotlin/completion/tests/testData/basic/common/InParametersTypes.kt
plugins/kotlin/completion/tests/testData/basic/common/InParametersTypesForce.kt
plugins/kotlin/completion/tests/testData/basic/common/annotations/Deprecated.kt
plugins/kotlin/completion/tests/testData/basic/common/annotations/OnlyAnnotations.kt
plugins/kotlin/completion/tests/testData/basic/common/annotations/TopLevelAnnotationArg1.kt
plugins/kotlin/completion/tests/testData/basic/common/boldOrGrayed/NonPredictableSmartCast.fir.kt
plugins/kotlin/completion/tests/testData/basic/common/boldOrGrayed/NonPredictableSmartCast.kt
plugins/kotlin/completion/tests/testData/basic/common/boldOrGrayed/NonPredictableSmartCastWithWrongReturnType.fir.kt
plugins/kotlin/completion/tests/testData/basic/common/boldOrGrayed/NonPredictableSmartCastWithWrongReturnType.kt
plugins/kotlin/completion/tests/testData/basic/java/AutoForceCompletion.kt
plugins/kotlin/completion/tests/testData/basic/java/JavaClassNames.kt
plugins/kotlin/completion/tests/testData/basic/java/NonImportedPrefixMatching1.kt
plugins/kotlin/completion/tests/testData/basic/java/NonImportedPrefixMatching2.kt
plugins/kotlin/completion/tests/testData/basic/multifile/GroovyClassNameCompletionFromNonDefaultPackage/GroovyClassNameCompletionFromNonDefaultPackage.kt
plugins/kotlin/completion/tests/testData/basic/multifile/NotImportedJavaClass/NotImportedJavaClass.kt
plugins/kotlin/completion/tests/testData/handlers/basic/AddLabelToReturn.fir.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/AddLabelToReturn.kt
plugins/kotlin/completion/tests/testData/handlers/basic/AddLabelToReturn.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassName.kt
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassName.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithAliasConfict.kt
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithAliasConfict.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithConflict.kt
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithConflict.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithConflict2.kt
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithConflict2.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithKotlinNestedClassConflict.kt
plugins/kotlin/completion/tests/testData/handlers/basic/JavaClassNameWithKotlinNestedClassConflict.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/JavaSAM.kt
plugins/kotlin/completion/tests/testData/handlers/basic/JavaSAM.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/SpaceAfterParenthesisBug.kt
plugins/kotlin/completion/tests/testData/handlers/basic/SpaceAfterParenthesisBug.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/TypeAliasConfict.kt
plugins/kotlin/completion/tests/testData/handlers/basic/TypeAliasConfict.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/highOrderFunctions/HigherOrderFunctionWithArg.fir.kt.after [deleted file]
plugins/kotlin/completion/tests/testData/handlers/basic/importAliases/KDoc.fir.kt [new file with mode: 0644]
plugins/kotlin/completion/tests/testData/handlers/basic/importAliases/KDoc.fir.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/importAliases/KDoc.kt
plugins/kotlin/completion/tests/testData/handlers/basic/importAliases/KDoc.kt.after
plugins/kotlin/completion/tests/testData/handlers/basic/stringTemplate/AfterDot2.kt
plugins/kotlin/completion/tests/testData/handlers/basic/stringTemplate/AfterDot2.kt.after
plugins/kotlin/completion/tests/testData/handlers/keywords/QualifiedReturnNonUnit.fir.kt.after
plugins/kotlin/completion/tests/testData/handlers/keywords/QualifiedReturnNonUnit.kt
plugins/kotlin/completion/tests/testData/handlers/keywords/QualifiedReturnNonUnit.kt.after
plugins/kotlin/completion/tests/testData/handlers/keywords/QualifiedReturnNonUnitExplicit.fir.kt.after
plugins/kotlin/completion/tests/testData/handlers/keywords/QualifiedReturnNonUnitExplicit.kt
plugins/kotlin/completion/tests/testData/handlers/keywords/QualifiedReturnNonUnitExplicit.kt.after
plugins/kotlin/completion/tests/testData/smart/lambdaSignature/MultipleParameters.kt
plugins/kotlin/completion/tests/testData/weighers/basic/ImportedFirstForJavaClass.kt
plugins/kotlin/completion/tests/testData/weighers/basic/LambdaSignature.kt
plugins/kotlin/completion/tests/testData/weighers/basic/PreferFromJdk.kt
plugins/kotlin/fir-low-level-api-ide-impl/testData/libraryModuleResolve/memberProperty.txt
plugins/kotlin/fir-low-level-api-ide-impl/testData/libraryModuleResolve/topLevelClass.txt
plugins/kotlin/fir-low-level-api-ide-impl/testData/libraryModuleResolve/topLevelProperty.txt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/context/FirBasicCompletionContext.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirCallableCompletionContributor.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirClassifierCompletionContributor.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirCompletionContributorBase.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/contributors/FirSuperMemberCompletionContributor.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/contributors/keywords/OverrideKeywordHandler.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/lookups/CallableInsertionOptions.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/lookups/ImportStrategy.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/lookups/factories/ClassLookupElementFactory.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/lookups/factories/KotlinFirLookupElementFactory.kt
plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/utils/ImportStrategyDetector.kt [new file with mode: 0644]
plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/codeInsight/FirOverrideImplementTest.kt
plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/completion/AbstractHighLevelMultiFileJvmBasicCompletionTest.kt
plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/completion/test/handlers/AbstractFirKeywordCompletionHandlerTest.kt
plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/completion/test/handlers/AbstractHighLevelBasicCompletionHandlerTest.kt
plugins/kotlin/fir/test/org/jetbrains/kotlin/idea/fir/quickfix/HighLevelQuickFixMultiFileTestGenerated.java
plugins/kotlin/fir/testData/search/implementations/classes/classWithDeepHeiarchy.result.kt
plugins/kotlin/fir/testData/search/implementations/classes/classWithTypeParameters.result.kt
plugins/kotlin/fir/testData/search/implementations/classes/incorrectCode/extendClassWithoutSuperConstructorCall.result.kt
plugins/kotlin/fir/testData/search/implementations/classes/interfaces.result.kt
plugins/kotlin/fir/testData/search/implementations/classes/localClass.result.kt
plugins/kotlin/fir/testData/search/implementations/classes/singleSuperClass.result.kt
plugins/kotlin/fir/testData/search/implementations/methods/inLocalClass.result.kt
plugins/kotlin/fir/testData/search/implementations/methods/incorrectCode/overideMethodWithoutOverrideModifier.result.kt
plugins/kotlin/fir/testData/search/implementations/methods/singleSuperMethod.result.kt
plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/gradle/CompilerArgumentsCachingTest.kt
plugins/kotlin/gradle/gradle-java/tests/test/org/jetbrains/kotlin/gradle/HierarchicalStructureByDefaultImportAndHighlightingTest.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantSamConstructorInspection.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertLambdaToReferenceIntention.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/intentions/LambdaToAnonymousFunctionIntention.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/intentions/SamConversionToAnonymousObjectIntention.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/parameterInfo/HintsTypeRenderer.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinIdeDescriptorRenderer.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/ConvertClassToKClassFix.kt
plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/quickfix/QuickFixRegistrar.kt
plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/OverrideImplementTest.kt
plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/highlighter/DiagnosticMessageTestGenerated.java
plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java
plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java
plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java
plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/ambiguousSuper.kt.fir.after
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/dataClassEquals.kt
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/dataClassEquals.kt.after
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/dataClassEquals.kt.fir.after [deleted file]
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/equalsInInterface.kt
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/equalsInInterface.kt.after
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/equalsInInterface.kt.fir.after [deleted file]
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementFromClassName3.kt
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementFromClassName3.kt.after
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementFromClassName3.kt.fir.after [deleted file]
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementFromClassName4.kt
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementFromClassName4.kt.after
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementFromClassName4.kt.fir.after [deleted file]
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/unresolvedType2.kt [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/unresolvedType2.kt.after [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/diagnosticMessage/conflictingSubstitutions.kt
plugins/kotlin/idea/tests/testData/diagnosticMessage/conflictingSubstitutions1.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/conflictingSubstitutions1.txt [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/diagnosticMessage/conflictingSubstitutions2.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/conflictingSubstitutions2.txt [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/diagnosticMessage/expectedNothingDueToProjections.kt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/expectedNothingDueToProjections1.txt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/functionPlaceholder.kt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/functionPlaceholder1.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/functionPlaceholder2.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/functionPlaceholder3.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/noneApplicableCallableReference.kt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/noneApplicableCallableReference1.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/noneApplicableGeneric.kt
plugins/kotlin/idea/tests/testData/diagnosticMessage/noneApplicableGeneric1.html
plugins/kotlin/idea/tests/testData/diagnosticMessage/numberValueTypes.kt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/numberValueTypes1.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/numberValueTypes2.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/numberValueTypes3.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/numberValueTypes4.html [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceCannotCaptureTypes.kt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceCannotCaptureTypes1.txt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceExpectedTypeMismatch.kt
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceExpectedTypeMismatch1.html
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceExpectedTypeMismatch2.html
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceExpectedTypeMismatch3.html
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceExpectedTypeMismatch4.html [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceExpectedTypeMismatch5.html [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeInferenceExpectedTypeMismatch6.html [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchDueToProjections.kt
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchDueToProjections1.html
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchDueToProjectionsIn.kt
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchDueToProjectionsIn1.html
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchDueToProjectionsTxt.kt
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchDueToProjectionsTxt1.txt
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchWithNothing.kt
plugins/kotlin/idea/tests/testData/diagnosticMessage/typeMismatchWithNothing1.html
plugins/kotlin/idea/tests/testData/diagnosticMessage/upperBoundViolated.kt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/upperBoundViolated1.txt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/upperBoundViolated2.txt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/upperBoundViolated3.txt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/upperBoundViolatedInTypeAliasConstructorCall.kt [deleted file]
plugins/kotlin/idea/tests/testData/diagnosticMessage/upperBoundViolatedInTypeAliasConstructorCall1.txt [deleted file]
plugins/kotlin/idea/tests/testData/findUsages/kotlin/findClassUsages/kotlinAliasedClassAllUsages.0.kt
plugins/kotlin/idea/tests/testData/findUsages/kotlin/findClassUsages/kotlinClassImportAliasAllUsages.0.kt
plugins/kotlin/idea/tests/testData/gradle/configurator/enableFeatureSupportMultiplatformToExistentArguments/build.gradle
plugins/kotlin/idea/tests/testData/gradle/configurator/enableFeatureSupportMultiplatformToExistentArguments/build.gradle.after
plugins/kotlin/idea/tests/testData/gradle/configurator/enableFeatureSupportToExistentArguments/build.gradle
plugins/kotlin/idea/tests/testData/gradle/configurator/enableFeatureSupportToExistentArguments/build.gradle.after
plugins/kotlin/idea/tests/testData/gradle/configurator/enableFeatureSupportToExistentArgumentsWithXFlag/build.gradle
plugins/kotlin/idea/tests/testData/gradle/configurator/enableFeatureSupportToExistentArgumentsWithXFlag/build.gradle.after
plugins/kotlin/idea/tests/testData/gradle/highlighting/complexBuildGradleKts/build.gradle.kts
plugins/kotlin/idea/tests/testData/gradle/hmppImportAndHighlighting/multiModulesHmpp/bottom-mpp/build.gradle
plugins/kotlin/idea/tests/testData/gradle/hmppImportAndHighlighting/multiModulesHmpp/plain-jvm/build.gradle
plugins/kotlin/idea/tests/testData/gradle/hmppImportAndHighlighting/multiModulesHmpp/top-mpp/build.gradle
plugins/kotlin/idea/tests/testData/highlighterJsr305/project/Default.kt
plugins/kotlin/idea/tests/testData/highlighterJsr305/project/Warn.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/collections/uselessCallOnCollection/MapNotNullWithGenericLambda.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/collections/uselessCallOnCollection/MapNotNullWithGenericLambdaOnSequence.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/liftOut/ifToAssignment/typeMismatchMutableList2.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/liftOut/ifToAssignment/typeMismatchMutableList2_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg.kt.after [moved from plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg_ni.kt.after with 83% similarity]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg2.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg2.kt.after [moved from plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg2_ni.kt.after with 83% similarity]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg2_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/notApplicableVararg_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter2.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter2.kt.after [moved from plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter2_ni.kt.after with 73% similarity]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter2_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter3.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter3.kt.after [moved from plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter3_ni.kt.after with 75% similarity]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantLambdaArrow/typeParameter3_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled1.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled1.kt.after
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled2.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled2.kt.after
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled3.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled3.kt.after
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled4.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/conversionPerArgumentEnabled4.kt.after
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/genericParameter.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/kotlinFunInterface.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/kotlinFunInterface.kt.after
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/simple3.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/redundantSamConstructor/simple3.kt.after
plugins/kotlin/idea/tests/testData/inspectionsLocal/replaceAssociateFunction/associateWith/arrayVersion13.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/replaceAssociateFunction/associateWithTo/arrayVersion13.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/replaceAssociateFunction/version1_2.kt [deleted file]
plugins/kotlin/idea/tests/testData/inspectionsLocal/suspiciousCollectionReassignment/hasError.kt
plugins/kotlin/idea/tests/testData/inspectionsLocal/suspiciousCollectionReassignment/hasError_ni.kt
plugins/kotlin/idea/tests/testData/intentions/addThrowsAnnotation/if.kt
plugins/kotlin/idea/tests/testData/intentions/addThrowsAnnotation/if.kt.after
plugins/kotlin/idea/tests/testData/intentions/addThrowsAnnotation/if_ni.kt
plugins/kotlin/idea/tests/testData/intentions/addThrowsAnnotation/if_ni.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertLambdaToReference/defaultArgument.kt
plugins/kotlin/idea/tests/testData/intentions/convertLambdaToReference/unit.kt
plugins/kotlin/idea/tests/testData/intentions/convertLambdaToReference/unit.kt.after [new file with mode: 0644]
plugins/kotlin/idea/tests/testData/intentions/convertLambdaToReference/varargFunction2.kt
plugins/kotlin/idea/tests/testData/intentions/convertLambdaToReference/varargFunction2.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if1.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if1.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if2.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if2.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if3.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if3.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if4.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/if4.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when1.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when1.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when2.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when2.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when3.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when3.kt.after
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when4.kt
plugins/kotlin/idea/tests/testData/intentions/convertReferenceToLambda/when4.kt.after
plugins/kotlin/idea/tests/testData/intentions/lambdaToAnonymousFunction/fullyQualified.kt
plugins/kotlin/idea/tests/testData/intentions/lambdaToAnonymousFunction/fullyQualified.kt.after
plugins/kotlin/idea/tests/testData/intentions/lambdaToAnonymousFunction/fullyQualified_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/intentions/lambdaToAnonymousFunction/fullyQualified_ni.kt.after [deleted file]
plugins/kotlin/idea/tests/testData/intentions/removeExplicitTypeArguments/kt31441.kt
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/labeledReturn.kt
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/labeledReturn.kt.after
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/labeledReturn_ni.1.java [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/labeledReturn_ni.1.java.after [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/labeledReturn_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/labeledReturn_ni.kt.after [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/simple3.kt
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/simple3.kt.after
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument.kt
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument.kt.after
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument2.kt
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument2.kt.after
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni.1.java [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni.1.java.after [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni.kt [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni.kt.after [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni2.1.java [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni2.1.java.after [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni2.kt [deleted file]
plugins/kotlin/idea/tests/testData/intentions/samConversionToAnonymousObject/typeArgument_ni2.kt.after [deleted file]
plugins/kotlin/idea/tests/testData/multiModuleHighlighting/languageVersionsViaFacets/m2/m2.kt
plugins/kotlin/idea/tests/testData/parameterInfo/arrayAccess/SetTooManyArgs.kt
plugins/kotlin/idea/tests/testData/parameterInfo/withLib2/useJavaSAMFromLib.kt
plugins/kotlin/idea/tests/testData/quickfix/addGenericUpperBound/inferenceTwoParams.kt
plugins/kotlin/idea/tests/testData/quickfix/addGenericUpperBound/inferenceTwoParams.kt.after
plugins/kotlin/idea/tests/testData/quickfix/addGenericUpperBound/kClassRuntime.kt [deleted file]
plugins/kotlin/idea/tests/testData/quickfix/addGenericUpperBound/kClassRuntime.kt.after [deleted file]
plugins/kotlin/idea/tests/testData/quickfix/autoImports/dslMarkersOnReceiver.after.kt
plugins/kotlin/idea/tests/testData/quickfix/autoImports/dslMarkersOnReceiver.before.Main.kt
plugins/kotlin/idea/tests/testData/quickfix/autoImports/indexCallExtensionImportGetOnNoOperatorWarning.test
plugins/kotlin/idea/tests/testData/quickfix/autoImports/indexCallExtensionImportSetOnNoOperatorWarning.test
plugins/kotlin/idea/tests/testData/quickfix/autoImports/minusOperator.after.kt
plugins/kotlin/idea/tests/testData/quickfix/autoImports/minusOperator.before.Main.kt
plugins/kotlin/idea/tests/testData/quickfix/autoImports/mismatchingArgs/checkArgumentTypes.test [deleted file]
plugins/kotlin/idea/tests/testData/quickfix/autoImports/mismatchingArgs/extensionWrongTypeParam.test
plugins/kotlin/idea/tests/testData/quickfix/autoImports/mismatchingArgs/extensionWrongTypeParam2.test
plugins/kotlin/idea/tests/testData/quickfix/autoImports/mismatchingArgs/extensionWrongTypeParam3.test
plugins/kotlin/idea/tests/testData/quickfix/autoImports/mismatchingArgs/lambdaArgument.test [deleted file]
plugins/kotlin/idea/tests/testData/quickfix/autoImports/plusOperatorWithTypeMismatch.before.Main.kt
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/addFunctionParameterWithSmartcastedArgument.kt
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/addFunctionParameterWithSmartcastedArgument.kt.after
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/addParameterWithImport.after.kt
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/addParameterWithImport.before.Main.kt
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/kj/addConstructorParameter.after.kt
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/kj/addConstructorParameter.before.Main.kt
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/kj/addMethodParameter.after.kt
plugins/kotlin/idea/tests/testData/quickfix/changeSignature/kj/addMethodParameter.before.Main.kt
plugins/kotlin/idea/tests/testData/quickfix/changeToLabeledReturn/multipleInner.kt
plugins/kotlin/idea/tests/testData/quickfix/changeToLabeledReturn/multipleInner.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnLibType.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/binaryOperations/plusOnLibType.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/funOnLibType.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/funOnLibType.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/funWithExplicitParamNamesOnUserType.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/funWithExplicitParamNamesOnUserType.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/inAnonymousFunExprWithExpectedType.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/inAnonymousFunExprWithExpectedType.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/inLambda.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/inLambda.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/inLambdaWithExpectedType.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/inLambdaWithExpectedType.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/call/kt10983.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/invoke/invokeWithExplicitParamNamesOnUserType.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createFunction/invoke/invokeWithExplicitParamNamesOnUserType.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/classWithExplication.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/classWithExplication.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/classWithExplicationAndRecursiveUpperBound.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/classWithExplicationAndRecursiveUpperBound.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/classWithExplicationAndUpperBound.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/classWithExplicationAndUpperBound.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/functionWithExplicationAndRecursiveUpperBound.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/functionWithExplicationAndRecursiveUpperBound.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/functionWithExplicationAndUpperBound.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createTypeParameter/inContainingDeclaration/functionWithExplicationAndUpperBound.kt.after
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createVariable/localVariable/nonIdentifier.kt
plugins/kotlin/idea/tests/testData/quickfix/createFromUsage/createVariable/parameter/nonIdentifier.kt
plugins/kotlin/idea/tests/testData/quickfix/deprecatedSymbolUsage/classUsages/constructorUsageWithTypeArgument7.kt
plugins/kotlin/idea/tests/testData/quickfix/deprecatedSymbolUsage/classUsages/constructorUsageWithTypeArgument7.kt.after
plugins/kotlin/idea/tests/testData/quickfix/deprecatedSymbolUsage/classUsages/constructorUsageWithTypeArgumentWithoutSpecifyType.kt
plugins/kotlin/idea/tests/testData/quickfix/deprecatedSymbolUsage/classUsages/constructorUsageWithTypeArgumentWithoutSpecifyType.kt.after
plugins/kotlin/idea/tests/testData/quickfix/deprecatedSymbolUsage/typeArguments/explicitInPatternImplicitInUsage.kt
plugins/kotlin/idea/tests/testData/quickfix/deprecatedSymbolUsage/typeArguments/explicitInPatternImplicitInUsage.kt.after
plugins/kotlin/idea/tests/testData/quickfix/foldTryCatch/shadow.kt
plugins/kotlin/idea/tests/testData/quickfix/nullables/unsafeInfixCall/unsafeInvokeWithImplicitReceiver.kt
plugins/kotlin/idea/tests/testData/quickfix/typeInferenceExpectedTypeMismatch/convertClassToKClass1Runtime.kt
plugins/kotlin/idea/tests/testData/quickfix/typeInferenceExpectedTypeMismatch/convertClassToKClass1Runtime.kt.after
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/casts/smartcastImpossible3.kt
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/casts/smartcastImpossible3.kt.after
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/casts/typeMismatch2.kt
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/casts/unsigned.kt
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/kt17404.kt
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/kt17404.kt.after
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/paramTypeLambdaMatchNullable.kt
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/paramTypeLambdaMatchNullable.kt.after
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/typeMismatchOnReturnedExpression/propertyGetterInitializerTypeMismatch.kt
plugins/kotlin/idea/tests/testData/quickfix/typeMismatch/typeMismatchOnReturnedExpression/propertyGetterInitializerTypeMismatch.kt.after
plugins/kotlin/idea/tests/testData/refactoring/extractFunction/parameters/candidateTypes/multipleTypes.kt
plugins/kotlin/idea/tests/testData/refactoring/extractFunction/parameters/candidateTypes/multipleTypes.kt.after
plugins/kotlin/idea/tests/testData/refactoring/inline/namedFunction/expressionBody/FunctionalParameterPassed.kt
plugins/kotlin/idea/tests/testData/refactoring/inline/namedFunction/expressionBody/FunctionalParameterPassed.kt.after
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/duplicates.kt
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/duplicates.kt.after
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/functionType.kt
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/functionType.kt.after
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/inClass.kt
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/inClass.kt.after
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/inProperty.kt
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/inProperty.kt.after
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/nullableType.kt
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/nullableType.kt.after
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/userType.kt
plugins/kotlin/idea/tests/testData/refactoring/introduceTypeParameter/userType.kt.after
plugins/kotlin/idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/DeeperNestedCall.kt
plugins/kotlin/idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/DeeperNestedCall.kt.after
plugins/kotlin/jvm-debugger/test/testData/breakpointApplicability/abstractMethods.kt
plugins/kotlin/jvm-debugger/test/testData/breakpointApplicability/constructors.kt
plugins/kotlin/jvm-debugger/test/testData/breakpointApplicability/functions.kt
plugins/kotlin/jvm-debugger/test/testData/breakpointApplicability/inlineOnly.kt
plugins/kotlin/jvm-debugger/test/testData/breakpointApplicability/locals.kt
plugins/kotlin/jvm-debugger/test/testData/breakpointApplicability/properties.kt
plugins/kotlin/jvm-debugger/test/testData/breakpointApplicability/simple.kt
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInCrossinlineInSuspend.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInExtensionInlineCall.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlineCallInField.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlineCallInFieldInClassWithNonDefaultPrimary.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlineCallInFieldInDelegate.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlineCallInFieldInLocalClass.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlineCallLocalFunLambda.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlineUnderOtherCall.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlineUnderSamConversion.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInInlinedLambdaInSuspendFunctionWithSuspendPointsInObjectLiteral.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInLambdaInlineCallLambda.ir.out [new file with mode: 0644]
plugins/kotlin/jvm-debugger/test/testData/stepping/stepOver/stopInLocalFunInlineCallLambda.ir.out [new file with mode: 0644]
plugins/kotlin/k2-fe10-bindings/test/org/jetbrains/kotlin/idea/k2/fe10bindings/inspections/Fe10BindingLocalInspectionTestGenerated.java
plugins/kotlin/plugin/k2/resources/META-INF/k2.xml
plugins/kotlin/plugin/k2/resources/META-INF/light-classes-fir.xml
plugins/kotlin/tests-common/test/org/jetbrains/kotlin/idea/checkers/CompilerTestLanguageVersionSettings.kt
plugins/kotlin/tests-common/test/org/jetbrains/kotlin/idea/test/KotlinTestUtils.java
plugins/kotlin/uast/uast-kotlin-base/src/org/jetbrains/uast/kotlin/BaseKotlinUastResolveProviderService.kt
plugins/kotlin/uast/uast-kotlin-base/src/org/jetbrains/uast/kotlin/expressions/KotlinUPostfixExpression.kt
plugins/kotlin/uast/uast-kotlin-base/src/org/jetbrains/uast/kotlin/expressions/KotlinUPrefixExpression.kt
plugins/kotlin/uast/uast-kotlin-base/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt
plugins/kotlin/uast/uast-kotlin-base/test/org/jetbrains/uast/test/common/kotlin/UastResolveApiFixtureTestBase.kt
plugins/kotlin/uast/uast-kotlin-base/test/org/jetbrains/uast/test/common/kotlin/UastResolveEverythingTestBase.kt
plugins/kotlin/uast/uast-kotlin-fir/src/org/jetbrains/uast/kotlin/FirKotlinUastResolveProviderService.kt
plugins/kotlin/uast/uast-kotlin-fir/test/org/jetbrains/kotlin/idea/fir/uast/FirUastApiTest.kt
plugins/kotlin/uast/uast-kotlin-fir/test/org/jetbrains/kotlin/idea/fir/uast/FirUastResolveApiFixtureTest.kt
plugins/kotlin/uast/uast-kotlin-fir/testData/legacyResolved/Comments.resolved.fir.txt
plugins/kotlin/uast/uast-kotlin-fir/testData/legacyResolved/ComplicatedTypes.resolved.fir.txt
plugins/kotlin/uast/uast-kotlin-fir/testData/legacyResolved/Resolve.resolved.fir.txt
plugins/kotlin/uast/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastResolveProviderService.kt
plugins/kotlin/uast/uast-kotlin/tests/test/org/jetbrains/uast/test/kotlin/AbstractKotlinUastTest.kt
plugins/kotlin/uast/uast-kotlin/tests/test/org/jetbrains/uast/test/kotlin/comparison/FE1UastResolveApiFixtureTest.kt
plugins/kotlin/util/project-model-updater/resources/model.properties

index de81f15a810eaf827652963bf831dc1650c37ae3..37aeec2f7660445ebb6b05f7ddddd4672c3edb0e 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.allopen-compiler-plugin" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:allopen-compiler-plugin-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:allopen-compiler-plugin-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/1.8.0-dev-897/allopen-compiler-plugin-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/1.8.0-dev-1681/allopen-compiler-plugin-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/1.8.0-dev-897/allopen-compiler-plugin-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/1.8.0-dev-1681/allopen-compiler-plugin-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 6aedc86717fe78dcbc5eea438e1bca81d30f9634..0d988ec865b7d79796933cfda918ce447fce575d 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.analysis-api-providers" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-api-providers-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-api-providers-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/1.8.0-dev-897/analysis-api-providers-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/1.8.0-dev-1681/analysis-api-providers-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/1.8.0-dev-897/analysis-api-providers-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-providers-for-ide/1.8.0-dev-1681/analysis-api-providers-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 7a760c8a9faaf58d6e8ac0435fc3701266edbdf2..43645648da6dfab99ecbe61abb11b0b7f8abfae6 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.analysis-project-structure" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-project-structure-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:analysis-project-structure-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/1.8.0-dev-897/analysis-project-structure-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/1.8.0-dev-1681/analysis-project-structure-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/1.8.0-dev-897/analysis-project-structure-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-project-structure-for-ide/1.8.0-dev-1681/analysis-project-structure-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 0b8def61e009a0a1e73c59ad62828bb8377449f7..83ab54475d4f6ab9bc0518730385dcaa958b6549 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.android-extensions-compiler-plugin" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:android-extensions-compiler-plugin-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:android-extensions-compiler-plugin-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/1.8.0-dev-897/android-extensions-compiler-plugin-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/1.8.0-dev-1681/android-extensions-compiler-plugin-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/1.8.0-dev-897/android-extensions-compiler-plugin-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/1.8.0-dev-1681/android-extensions-compiler-plugin-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 1b76a669af46863d1f35eb068b8bb9527776a81f..39b532cd3c66f184c65795533722fddc9357a9f0 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.high-level-api" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/1.8.0-dev-897/high-level-api-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/1.8.0-dev-1681/high-level-api-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/1.8.0-dev-897/high-level-api-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-for-ide/1.8.0-dev-1681/high-level-api-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 320d3404c7208efca5a5e6355db38b7d4fd91e1e..dad9e572b775305026c8c5d13f4ed0747d9925e3 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.high-level-api-fe10" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fe10-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fe10-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/1.8.0-dev-897/high-level-api-fe10-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/1.8.0-dev-1681/high-level-api-fe10-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/1.8.0-dev-897/high-level-api-fe10-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fe10-for-ide/1.8.0-dev-1681/high-level-api-fe10-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 0e617123c0cc05c1dcd91952da237673640aeb3f..aba644cc4fc3adfcedd2387d281dda892c4ef694 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.high-level-api-fir" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/1.8.0-dev-897/high-level-api-fir-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/1.8.0-dev-1681/high-level-api-fir-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/1.8.0-dev-897/high-level-api-fir-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-for-ide/1.8.0-dev-1681/high-level-api-fir-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index d17e1ee0450f687f09cdc1ab4a28ece9c54f49b5..ce9230a85351e8c5248ee11b7b16eab586325fe6 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.high-level-api-fir-tests" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-tests-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-fir-tests-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/1.8.0-dev-897/high-level-api-fir-tests-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/1.8.0-dev-1681/high-level-api-fir-tests-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/1.8.0-dev-897/high-level-api-fir-tests-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-fir-tests-for-ide/1.8.0-dev-1681/high-level-api-fir-tests-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 3557c9e49f19e929ed049365694afe561c6aeada..9d86574a4570ef8c74f61d2ceaa7934cb68bfcc6 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.high-level-api-impl-base" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/1.8.0-dev-897/high-level-api-impl-base-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/1.8.0-dev-1681/high-level-api-impl-base-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/1.8.0-dev-897/high-level-api-impl-base-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-for-ide/1.8.0-dev-1681/high-level-api-impl-base-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index f2354d0b7c1a8bed365f9f37dbd48741bd0fc147..c6971d9320e792a8673f13a0a40cbb2d74f2eff0 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.high-level-api-impl-base-tests" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-tests-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:high-level-api-impl-base-tests-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/1.8.0-dev-897/high-level-api-impl-base-tests-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/1.8.0-dev-1681/high-level-api-impl-base-tests-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/1.8.0-dev-897/high-level-api-impl-base-tests-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/high-level-api-impl-base-tests-for-ide/1.8.0-dev-1681/high-level-api-impl-base-tests-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 3a2ce04ba61c600d9be1fa84174901d315bd4849..7d7e820ab1f6fca786da8804a8c39c9435f4e2ee 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.incremental-compilation-impl-tests" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:incremental-compilation-impl-tests-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:incremental-compilation-impl-tests-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/1.8.0-dev-897/incremental-compilation-impl-tests-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/1.8.0-dev-1681/incremental-compilation-impl-tests-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/1.8.0-dev-897/incremental-compilation-impl-tests-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/incremental-compilation-impl-tests-for-ide/1.8.0-dev-1681/incremental-compilation-impl-tests-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 403e1baf242d85acf6a887ea8ae17138ad9c3db6..5652257eacae989aa67cc4f1d3ceaf134cbc7017 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-build-common-tests" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-build-common-tests-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-build-common-tests-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/1.8.0-dev-897/kotlin-build-common-tests-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/1.8.0-dev-1681/kotlin-build-common-tests-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/1.8.0-dev-897/kotlin-build-common-tests-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-build-common-tests-for-ide/1.8.0-dev-1681/kotlin-build-common-tests-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 09d4d9faa7667f8933154eacd2e02619498b3fee..c9d101d7896dd39a30b3729e7d473c2b480950ab 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-compiler-cli" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-cli-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-cli-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/1.8.0-dev-897/kotlin-compiler-cli-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/1.8.0-dev-1681/kotlin-compiler-cli-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/1.8.0-dev-897/kotlin-compiler-cli-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-cli-for-ide/1.8.0-dev-1681/kotlin-compiler-cli-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 3c090f86fae45412e6f37d164a21e8d033b13f75..2cd9874819fc22b1dd91b1a43fb79c12c3c43ed3 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-compiler-common" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-common-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-common-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/1.8.0-dev-897/kotlin-compiler-common-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/1.8.0-dev-1681/kotlin-compiler-common-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/1.8.0-dev-897/kotlin-compiler-common-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/1.8.0-dev-1681/kotlin-compiler-common-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index dc9ae7705c5c8e8b8c0674935ce94b8a89e608f0..ba0c317586902bc13bf516e168db5552bc343ba5 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-compiler-fe10" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fe10-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fe10-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/1.8.0-dev-897/kotlin-compiler-fe10-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/1.8.0-dev-1681/kotlin-compiler-fe10-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/1.8.0-dev-897/kotlin-compiler-fe10-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/1.8.0-dev-1681/kotlin-compiler-fe10-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 235ca7079a194de55fba71b243468411bba6459b..2932b00a760367a4eb02bde09e40597f7e6a6c39 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-compiler-fir" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fir-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-fir-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/1.8.0-dev-897/kotlin-compiler-fir-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/1.8.0-dev-1681/kotlin-compiler-fir-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/1.8.0-dev-897/kotlin-compiler-fir-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/1.8.0-dev-1681/kotlin-compiler-fir-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 86da1049ce2a2bf92e952254421a62823dfa8703..d10fe61c6bb038dae40ce7da8b0061afdda29566 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-compiler-ir" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-ir-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-ir-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/1.8.0-dev-897/kotlin-compiler-ir-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/1.8.0-dev-1681/kotlin-compiler-ir-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/1.8.0-dev-897/kotlin-compiler-ir-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/1.8.0-dev-1681/kotlin-compiler-ir-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index d6efa1cdddb63fcee62b0949f69f10b69229fcfd..ef1c386e629ea82610af622587c9b40e75fe8ba1 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-compiler-tests" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-tests-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-compiler-tests-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/1.8.0-dev-897/kotlin-compiler-tests-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/1.8.0-dev-1681/kotlin-compiler-tests-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/1.8.0-dev-897/kotlin-compiler-tests-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-tests-for-ide/1.8.0-dev-1681/kotlin-compiler-tests-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 17f21129953a21a01d8ccae8083456ea76edb644..3f503ece2a286bae9b0a904df7366de13023f684 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-gradle-statistics" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-gradle-statistics-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-gradle-statistics-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/1.8.0-dev-897/kotlin-gradle-statistics-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/1.8.0-dev-1681/kotlin-gradle-statistics-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/1.8.0-dev-897/kotlin-gradle-statistics-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/1.8.0-dev-1681/kotlin-gradle-statistics-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 8b5074d319e6423d10f97227d44a0b30027d6a54..0345f4ae6e1db93a2fe51003cd2ae86c25f31e64 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-jps-common" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-jps-common-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-jps-common-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/1.8.0-dev-897/kotlin-jps-common-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/1.8.0-dev-1681/kotlin-jps-common-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/1.8.0-dev-897/kotlin-jps-common-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/1.8.0-dev-1681/kotlin-jps-common-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 1756e3d3faab2779a9b67c5ca340fedb136a365a..f35a5480f656d3c9ab605daab44cc909a97076f1 100644 (file)
@@ -1,16 +1,16 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-reflect" type="repository">
-    <properties maven-id="org.jetbrains.kotlin:kotlin-reflect:1.8.0-dev-897">
+    <properties maven-id="org.jetbrains.kotlin:kotlin-reflect:1.8.0-dev-1681">
       <exclude>
         <dependency maven-id="org.jetbrains.kotlin:kotlin-stdlib" />
       </exclude>
     </properties>
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.0-dev-897/kotlin-reflect-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.0-dev-1681/kotlin-reflect-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.0-dev-897/kotlin-reflect-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.8.0-dev-1681/kotlin-reflect-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index e7032aa51a410017038c2608abca743e392e52a9..d1eb4620a3aca13830636e167e0755812b988263 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-script-runtime" type="repository">
-    <properties maven-id="org.jetbrains.kotlin:kotlin-script-runtime:1.8.0-dev-897" />
+    <properties maven-id="org.jetbrains.kotlin:kotlin-script-runtime:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/1.8.0-dev-897/kotlin-script-runtime-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/1.8.0-dev-1681/kotlin-script-runtime-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/1.8.0-dev-897/kotlin-script-runtime-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/1.8.0-dev-1681/kotlin-script-runtime-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index cbd311d487daaa502aad387802d07361ed1fa792..4baddb9cecc28b572452896cc445c0a75652d559 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-scripting-common" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-common:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-common:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/1.8.0-dev-897/kotlin-scripting-common-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/1.8.0-dev-1681/kotlin-scripting-common-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/1.8.0-dev-897/kotlin-scripting-common-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/1.8.0-dev-1681/kotlin-scripting-common-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 1e64823a2d2210e157f1d41edb4871aaff0b00f2..0e3c03310fd2dfee4b7da316d0e66f6ceede2cd2 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-scripting-compiler-impl" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-compiler-impl:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-compiler-impl:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/1.8.0-dev-897/kotlin-scripting-compiler-impl-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/1.8.0-dev-1681/kotlin-scripting-compiler-impl-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/1.8.0-dev-897/kotlin-scripting-compiler-impl-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/1.8.0-dev-1681/kotlin-scripting-compiler-impl-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 6350dc9b802826293f8cdace2d2a1260d43351f7..d8c83b66c451c6f5af83ff7feabacaaf6a0bfc12 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-scripting-jvm" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-jvm:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-scripting-jvm:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/1.8.0-dev-897/kotlin-scripting-jvm-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/1.8.0-dev-1681/kotlin-scripting-jvm-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/1.8.0-dev-897/kotlin-scripting-jvm-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/1.8.0-dev-1681/kotlin-scripting-jvm-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 5d91c330cae5433b878c778271a9a5c923b8b4f1..340bce4a186dbf29bdcdd2e92ff9dd8f17c5933d 100644 (file)
@@ -1,6 +1,6 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-stdlib" type="repository">
-    <properties maven-id="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0-dev-897">
+    <properties maven-id="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0-dev-1681">
       <exclude>
         <dependency maven-id="org.jetbrains:annotations" />
       </exclude>
@@ -9,17 +9,17 @@
       <root url="file://$PROJECT_DIR$/lib/annotations/kotlin" />
     </ANNOTATIONS>
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.0-dev-897/kotlin-stdlib-jdk8-1.8.0-dev-897.jar!/" />
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.0-dev-897/kotlin-stdlib-1.8.0-dev-897.jar!/" />
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.0-dev-897/kotlin-stdlib-common-1.8.0-dev-897.jar!/" />
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.0-dev-897/kotlin-stdlib-jdk7-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.0-dev-1681/kotlin-stdlib-jdk8-1.8.0-dev-1681.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.0-dev-1681/kotlin-stdlib-1.8.0-dev-1681.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.0-dev-1681/kotlin-stdlib-common-1.8.0-dev-1681.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.0-dev-1681/kotlin-stdlib-jdk7-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.0-dev-897/kotlin-stdlib-jdk8-1.8.0-dev-897-sources.jar!/" />
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.0-dev-897/kotlin-stdlib-1.8.0-dev-897-sources.jar!/" />
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.0-dev-897/kotlin-stdlib-common-1.8.0-dev-897-sources.jar!/" />
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.0-dev-897/kotlin-stdlib-jdk7-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.8.0-dev-1681/kotlin-stdlib-jdk8-1.8.0-dev-1681-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.8.0-dev-1681/kotlin-stdlib-1.8.0-dev-1681-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.8.0-dev-1681/kotlin-stdlib-common-1.8.0-dev-1681-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.8.0-dev-1681/kotlin-stdlib-jdk7-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 58565ffca23cd301dda69df741fc652fcea09b21..0226719e9fe4b131ec534714c4b55225f575a1b9 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlin-stdlib-minimal-for-test" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-stdlib-minimal-for-test-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlin-stdlib-minimal-for-test-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-minimal-for-test-for-ide/1.8.0-dev-897/kotlin-stdlib-minimal-for-test-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-minimal-for-test-for-ide/1.8.0-dev-1681/kotlin-stdlib-minimal-for-test-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-minimal-for-test-for-ide/1.8.0-dev-897/kotlin-stdlib-minimal-for-test-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-minimal-for-test-for-ide/1.8.0-dev-1681/kotlin-stdlib-minimal-for-test-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 41538c5380cd30761a447d1ac8b097aaf38a2ad6..53aa4cdbf12f1239a774e115ba348bf0f508cb0a 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.kotlinx-serialization-compiler-plugin" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlinx-serialization-compiler-plugin-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:kotlinx-serialization-compiler-plugin-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/1.8.0-dev-897/kotlinx-serialization-compiler-plugin-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/1.8.0-dev-1681/kotlinx-serialization-compiler-plugin-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/1.8.0-dev-897/kotlinx-serialization-compiler-plugin-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/1.8.0-dev-1681/kotlinx-serialization-compiler-plugin-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 917f3942ec868d3ab392f570aa6d5b6b72ddb285..925442d3c010abb927f02136036d96bacc7a62f2 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.lombok-compiler-plugin" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:lombok-compiler-plugin-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:lombok-compiler-plugin-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/1.8.0-dev-897/lombok-compiler-plugin-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/1.8.0-dev-1681/lombok-compiler-plugin-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/1.8.0-dev-897/lombok-compiler-plugin-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/1.8.0-dev-1681/lombok-compiler-plugin-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index c41c016d53b9b34d48ca5e83fcfe6e20c45c4107..9b8791ae5ef16455292e592b9d935e33fc950dd3 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.low-level-api-fir" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:low-level-api-fir-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:low-level-api-fir-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/1.8.0-dev-897/low-level-api-fir-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/1.8.0-dev-1681/low-level-api-fir-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/1.8.0-dev-897/low-level-api-fir-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/1.8.0-dev-1681/low-level-api-fir-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 7540e82447e6fd5bc4f0a36caf4664784078f2b7..4450047cf06a2b1c9e2d4409b97e1d5eb4935dc4 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.noarg-compiler-plugin" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:noarg-compiler-plugin-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:noarg-compiler-plugin-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/1.8.0-dev-897/noarg-compiler-plugin-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/1.8.0-dev-1681/noarg-compiler-plugin-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/1.8.0-dev-897/noarg-compiler-plugin-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/1.8.0-dev-1681/noarg-compiler-plugin-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index e0a34672ce14569a76c22b623653e8d018c39ce2..04e4cae2ba8bb10abe2641f704e01f811784aab6 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.parcelize-compiler-plugin" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:parcelize-compiler-plugin-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:parcelize-compiler-plugin-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/1.8.0-dev-897/parcelize-compiler-plugin-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/1.8.0-dev-1681/parcelize-compiler-plugin-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/1.8.0-dev-897/parcelize-compiler-plugin-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/1.8.0-dev-1681/parcelize-compiler-plugin-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 4d35b7887df33d01ad9d76f7a8c8e738f253624a..f1101a8d41c52ad2f599bd58c5a764bd27853aef 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.sam-with-receiver-compiler-plugin" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:sam-with-receiver-compiler-plugin-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:sam-with-receiver-compiler-plugin-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/1.8.0-dev-897/sam-with-receiver-compiler-plugin-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/1.8.0-dev-1681/sam-with-receiver-compiler-plugin-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/1.8.0-dev-897/sam-with-receiver-compiler-plugin-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/1.8.0-dev-1681/sam-with-receiver-compiler-plugin-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index 112e96d59e0b83d03c22a26babf8728fb348c8d9..cf52a686dbb2756080a48806308a2434a6fd5b27 100644 (file)
@@ -1,12 +1,12 @@
 <component name="libraryTable">
   <library name="kotlinc.symbol-light-classes" type="repository">
-    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:symbol-light-classes-for-ide:1.8.0-dev-897" />
+    <properties include-transitive-deps="false" maven-id="org.jetbrains.kotlin:symbol-light-classes-for-ide:1.8.0-dev-1681" />
     <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/1.8.0-dev-897/symbol-light-classes-for-ide-1.8.0-dev-897.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/1.8.0-dev-1681/symbol-light-classes-for-ide-1.8.0-dev-1681.jar!/" />
     </CLASSES>
     <JAVADOC />
     <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/1.8.0-dev-897/symbol-light-classes-for-ide-1.8.0-dev-897-sources.jar!/" />
+      <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/1.8.0-dev-1681/symbol-light-classes-for-ide-1.8.0-dev-1681-sources.jar!/" />
     </SOURCES>
   </library>
 </component>
\ No newline at end of file
index b6f43816d6c7aa48a6a8bf3e57915eb67cdd198b..c1a6e65363f402188670f0160696c190945db195 100644 (file)
@@ -4,7 +4,7 @@
       <option name="executionName" />
       <option name="externalProjectPath" value="$PROJECT_DIR$/.." />
       <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="publishIdeArtifacts :prepare:ide-plugin-dependencies:kotlin-dist-for-ide:publish -Ppublish.ide.plugin.dependencies=true -PdeployVersion=1.7.255 -Pbuild.number=1.7.255" />
+      <option name="scriptParameters" value="publishIdeArtifacts :prepare:ide-plugin-dependencies:kotlin-dist-for-ide:publish -Ppublish.ide.plugin.dependencies=true -PdeployVersion=1.8.255 -Pbuild.number=1.8.255" />
       <option name="taskDescriptions">
         <list />
       </option>
index 731ca68a8cf3c769cf56831d6dc8495be5831600..ad9914c4bc9711fc9ad669c3958be75e1d6c3c4c 100644 (file)
@@ -9,6 +9,8 @@ import com.intellij.psi.stubs.StubIndex
 import com.intellij.psi.stubs.StubIndexKey
 import org.jetbrains.kotlin.analysis.providers.KotlinDeclarationProvider
 import org.jetbrains.kotlin.analysis.providers.KotlinDeclarationProviderFactory
+import org.jetbrains.kotlin.idea.base.indices.names.KotlinTopLevelCallableByPackageShortNameIndex
+import org.jetbrains.kotlin.idea.base.indices.names.KotlinTopLevelClassLikeDeclarationByPackageShortNameIndex
 import org.jetbrains.kotlin.idea.stubindex.*
 import org.jetbrains.kotlin.name.CallableId
 import org.jetbrains.kotlin.name.ClassId
@@ -45,10 +47,11 @@ private class IdeKotlinDeclarationProvider(
     }
 
     override fun getClassLikeDeclarationByClassId(classId: ClassId): KtClassLikeDeclaration? {
-        return firstMatchingOrNull(KotlinFullClassNameIndex.KEY, key = classId.asStringForIndexes()) {
-            candidate -> candidate.getClassId() == classId
+        return firstMatchingOrNull(KotlinFullClassNameIndex.KEY, key = classId.asStringForIndexes()) { candidate ->
+            candidate.getClassId() == classId
         } ?: getTypeAliasByClassId(classId)
     }
+
     override fun getAllClassesByClassId(classId: ClassId): Collection<KtClassOrObject> {
         return KotlinFullClassNameIndex
             .get(classId.asStringForIndexes(), project, scope)
@@ -59,22 +62,13 @@ private class IdeKotlinDeclarationProvider(
         return listOfNotNull(getTypeAliasByClassId(classId)) //todo
     }
 
-    override fun getTypeAliasNamesInPackage(packageFqName: FqName): Set<Name> {
-        return KotlinTopLevelTypeAliasByPackageIndex
-            .get(packageFqName.asStringForIndexes(), project, scope)
-            .mapNotNullTo(mutableSetOf()) { it.nameAsName }
-    }
+    override fun getTopLevelCallableNamesInPackage(packageFqName: FqName): Set<Name> {
+        return KotlinTopLevelCallableByPackageShortNameIndex.getNamesInPackage(packageFqName, scope)
 
-    override fun getPropertyNamesInPackage(packageFqName: FqName): Set<Name> {
-        return KotlinTopLevelPropertyByPackageIndex
-            .get(packageFqName.asStringForIndexes(), project, scope)
-            .mapNotNullTo(mutableSetOf()) { it.nameAsName }
     }
 
-    override fun getFunctionsNamesInPackage(packageFqName: FqName): Set<Name> {
-        return KotlinTopLevelFunctionByPackageIndex
-            .get(packageFqName.asStringForIndexes(), project, scope)
-            .mapNotNullTo(mutableSetOf()) { it.nameAsName }
+    override fun getTopLevelKotlinClassLikeDeclarationNamesInPackage(packageFqName: FqName): Set<Name> {
+        return KotlinTopLevelClassLikeDeclarationByPackageShortNameIndex.getNamesInPackage(packageFqName, scope)
     }
 
     override fun getFacadeFilesInPackage(packageFqName: FqName): Collection<KtFile> {
@@ -104,12 +98,6 @@ private class IdeKotlinDeclarationProvider(
     override fun getTopLevelFunctions(callableId: CallableId): Collection<KtNamedFunction> =
         KotlinTopLevelFunctionFqnNameIndex.get(callableId.asStringForIndexes(), project, scope)
 
-
-    override fun getClassNamesInPackage(packageFqName: FqName): Set<Name> =
-        KotlinTopLevelClassByPackageIndex
-            .get(packageFqName.asStringForIndexes(), project, scope)
-            .mapNotNullTo(hashSetOf()) { it.nameAsName }
-
     companion object {
         private fun CallableId.asStringForIndexes(): String =
             (if (packageName.isRoot) callableName.asString() else toString()).replace('/', '.')
index f5d5a00b046b37ca80ad4c517ea02202e4645590..a37fc6630c7e82299f835f235218afa6da84281b 100644 (file)
@@ -50,15 +50,15 @@ class KtSymbolFromIndexProvider(private val project: Project) {
         nameFilter: (Name) -> Boolean,
         psiFilter: (PsiClass) -> Boolean = { true }
     ): Sequence<KtNamedClassOrObjectSymbol> {
+        val scope = analysisScope
         val names = buildSet<Name> {
             forEachNonKotlinCache { cache ->
-                cache.allClassNames.forEach { nameString ->
-                    if (Name.isValidIdentifier(nameString)) return@forEach
+                cache.processAllClassNames({ nameString ->
+                    if (!Name.isValidIdentifier(nameString)) return@processAllClassNames true
                     val name = Name.identifier(nameString)
-                    if (nameFilter(name)) {
-                        add(name)
-                    }
-                }
+                    if (nameFilter(name)) { add(name) }
+                    true
+                }, scope, null)
             }
         }
 
index dcce81f75458963a175d891736a3cfcd4833b864..ff9c0cf4c087e17f395d5a6a6c0d83fefd8ef195 100644 (file)
@@ -42,7 +42,7 @@ import org.jetbrains.kotlin.psi.KtScript
 import org.jetbrains.kotlin.psi.analysisContext
 import org.jetbrains.kotlin.resolve.scopes.MemberScope
 
-open class IDEKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport() {
+class IDEKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport() {
     override fun getFacadeNames(packageFqName: FqName, scope: GlobalSearchScope): Collection<String> {
         val facadeFilesInPackage = project.runReadActionInSmartMode {
             KotlinFileFacadeClassByPackageIndex.get(packageFqName.asString(), project, scope)
index f5b39eaadf1c272c477268a31e8594a24cca468c..9feea2325280aa2ab61e9db149a59461c6162b44 100644 (file)
@@ -16,10 +16,18 @@ import org.jetbrains.kotlin.types.typeUtil.builtIns
 
 object IdeDescriptorRenderers {
     @JvmField
-    val APPROXIMATE_FLEXIBLE_TYPES: (KotlinType) -> KotlinType = { it.approximateFlexibleTypes(preferNotNull = false) }
+    val APPROXIMATE_FLEXIBLE_TYPES: (KotlinType) -> KotlinType = {
+        it.approximateFlexibleTypes(preferNotNull = false)
+    }
 
     @JvmField
-    val APPROXIMATE_FLEXIBLE_TYPES_NOT_NULL: (KotlinType) -> KotlinType = { it.approximateFlexibleTypes(preferNotNull = true) }
+    val APPROXIMATE_FLEXIBLE_TYPES_NOT_NULL: (KotlinType) -> KotlinType = {
+        it.approximateFlexibleTypes(preferNotNull = true)
+    }
+
+    val APPROXIMATE_FLEXIBLE_TYPES_FOR_COLLECTIONS: (KotlinType) -> KotlinType = {
+        it.approximateFlexibleTypes(preferNotNull = true, preferUpperBoundsForCollections = true )
+    }
 
     private fun unwrapAnonymousType(type: KotlinType): KotlinType {
         if (type.isDynamic()) return type
@@ -71,6 +79,14 @@ object IdeDescriptorRenderers {
         parameterNamesInFunctionalTypes = false
     }
 
+    @JvmField
+    val SOURCE_CODE_TYPES_FOR_SAM_CONVERSION: DescriptorRenderer = BASE.withOptions {
+        classifierNamePolicy = ClassifierNamePolicy.SOURCE_CODE_QUALIFIED
+        typeNormalizer = { APPROXIMATE_FLEXIBLE_TYPES_FOR_COLLECTIONS(unwrapAnonymousType(it)) }
+        annotationFilter = { it !is BuiltInAnnotationDescriptor && it.fqName?.isRedundantJvmAnnotation != true }
+        parameterNamesInFunctionalTypes = false
+    }
+
     @JvmField
     val SOURCE_CODE_TYPES_WITH_SHORT_NAMES: DescriptorRenderer = BASE.withOptions {
         classifierNamePolicy = ClassifierNamePolicy.SHORT
index 5d744a5f5fd814ed9637658cb655fe11763173f3..7382c7837b2ab434c9428e5d27ef22d082b97d2c 100644 (file)
@@ -47,11 +47,12 @@ import java.util.LinkedHashMap
 
 fun KotlinType.approximateFlexibleTypes(
     preferNotNull: Boolean = false,
-    preferStarForRaw: Boolean = false
+    preferStarForRaw: Boolean = false,
+    preferUpperBoundsForCollections: Boolean = false,
 ): KotlinType {
     if (isDynamic()) return this
     if (isDefinitelyNotNullType) return this
-    return unwrapEnhancement().approximateNonDynamicFlexibleTypes(preferNotNull, preferStarForRaw)
+    return unwrapEnhancement().approximateNonDynamicFlexibleTypes(preferNotNull, preferStarForRaw, preferUpperBoundsForCollections)
 }
 
 fun KotlinType.withoutRedundantAnnotations(): KotlinType {
@@ -87,7 +88,8 @@ val FqName.isRedundantJvmAnnotation: Boolean get() = this in NULLABILITY_ANNOTAT
 
 private fun KotlinType.approximateNonDynamicFlexibleTypes(
     preferNotNull: Boolean = false,
-    preferStarForRaw: Boolean = false
+    preferStarForRaw: Boolean = false,
+    preferUpperBoundsForCollections: Boolean = false,
 ): SimpleType {
     if (this is ErrorType) return this
 
@@ -102,16 +104,19 @@ private fun KotlinType.approximateNonDynamicFlexibleTypes(
         // Foo! -> Foo?
         // Foo<Bar!>! -> Foo<Bar>?
         var approximation =
-            if (isCollection)
-            // (Mutable)Collection<T>!
+            if (isCollection) {
+                // (Mutable)Collection<T>!
+                val bound = if (preferUpperBoundsForCollections) upperBound else lowerBound
                 if (lowerBound.isMarkedNullable != upperBound.isMarkedNullable)
-                    lowerBound.makeNullableAsSpecified(!preferNotNull)
+                    bound.makeNullableAsSpecified(!preferNotNull)
                 else
-                    lowerBound
-            else
-                if (this is RawType && preferStarForRaw) upperBound.makeNullableAsSpecified(!preferNotNull)
+                    bound
+            } else {
+                if (this is RawType && preferStarForRaw)
+                    upperBound.makeNullableAsSpecified(!preferNotNull)
                 else
                     if (preferNotNull) lowerBound else upperBound
+            }
 
         approximation = approximation.approximateNonDynamicFlexibleTypes()
 
index 800f004ec61d89c6bf4dc07747e7fe670a9eb192..a81f61b0f944d150b77488ef2c955cb18300a2c1 100644 (file)
@@ -60,6 +60,7 @@ open class DescriptorMemberChooserObject(
             modifiers = emptySet()
             startFromName = true
             classifierNamePolicy = ClassifierNamePolicy.SHORT
+            presentableUnresolvedTypes = true
         }
 
         @NlsSafe
diff --git a/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/KotlinTopLevelCallableByPackageShortNameIndex.kt b/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/KotlinTopLevelCallableByPackageShortNameIndex.kt
new file mode 100644 (file)
index 0000000..52a168c
--- /dev/null
@@ -0,0 +1,51 @@
+// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package org.jetbrains.kotlin.idea.base.indices.names
+
+import com.intellij.util.indexing.FileContent
+import com.intellij.util.indexing.ID
+import org.jetbrains.annotations.ApiStatus
+import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
+import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader
+import org.jetbrains.kotlin.name.FqName
+import org.jetbrains.kotlin.name.Name
+import org.jetbrains.kotlin.psi.KtCallableDeclaration
+import org.jetbrains.kotlin.psi.KtFile
+import org.jetbrains.kotlin.serialization.deserialization.getName
+
+@ApiStatus.Internal
+object KotlinTopLevelCallableByPackageShortNameIndex : NameByPackageShortNameIndex() {
+    val KEY = ID.create<FqName, List<Name>>(KotlinTopLevelCallableByPackageShortNameIndex::class.java.name)
+
+    override fun getName(): ID<FqName, List<Name>> = KEY
+
+    override fun getDeclarationNamesByKtFile(ktFile: KtFile): List<Name> = buildList {
+        for (declaration in ktFile.declarations) {
+            if (declaration is KtCallableDeclaration) {
+                val name = declaration.nameAsName ?: continue
+                if (name.isSpecial) continue
+                add(name)
+            }
+        }
+    }
+
+    override fun getDeclarationNamesByMetadata(kotlinJvmBinaryClass: KotlinJvmBinaryClass): List<Name> {
+        if (kotlinJvmBinaryClass.classHeader.kind == KotlinClassHeader.Kind.CLASS) return emptyList()
+        if (kotlinJvmBinaryClass.classHeader.kind == KotlinClassHeader.Kind.SYNTHETIC_CLASS) return emptyList()
+        if (kotlinJvmBinaryClass.classHeader.kind == KotlinClassHeader.Kind.MULTIFILE_CLASS) {
+            // MULTIFILE_CLASS does not contain any callables, all callables are inside MULTIFILE_CLASS_PARTs
+            return emptyList()
+        }
+
+        val (nameResolver, proto) = readProtoPackageData(kotlinJvmBinaryClass) ?: return emptyList()
+
+        return buildList {
+            proto.functionList.mapTo(this) { nameResolver.getName(it.name) }
+            proto.propertyList.mapTo(this) { nameResolver.getName(it.name) }
+        }
+    }
+
+    override fun getPackageAndNamesFromBuiltIns(fileContent: FileContent): Map<FqName, List<Name>> {
+        // builtins do not contain callables
+        return emptyMap()
+    }
+}
\ No newline at end of file
diff --git a/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/KotlinTopLevelClassLikeDeclarationByPackageShortNameIndex.kt b/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/KotlinTopLevelClassLikeDeclarationByPackageShortNameIndex.kt
new file mode 100644 (file)
index 0000000..3f63a24
--- /dev/null
@@ -0,0 +1,65 @@
+// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package org.jetbrains.kotlin.idea.base.indices.names
+
+import com.intellij.util.indexing.FileContent
+import com.intellij.util.indexing.ID
+import org.jetbrains.annotations.ApiStatus
+import org.jetbrains.kotlin.analysis.decompiler.psi.BuiltInDefinitionFile
+import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
+import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader
+import org.jetbrains.kotlin.name.FqName
+import org.jetbrains.kotlin.name.Name
+import org.jetbrains.kotlin.psi.KtClassLikeDeclaration
+import org.jetbrains.kotlin.psi.KtFile
+import org.jetbrains.kotlin.serialization.deserialization.getClassId
+import org.jetbrains.kotlin.serialization.deserialization.getName
+
+@ApiStatus.Internal
+object KotlinTopLevelClassLikeDeclarationByPackageShortNameIndex : NameByPackageShortNameIndex() {
+    val KEY = ID.create<FqName, List<Name>>(KotlinTopLevelClassLikeDeclarationByPackageShortNameIndex::class.java.name)
+
+    override fun getName(): ID<FqName, List<Name>> = KEY
+
+    override fun getDeclarationNamesByKtFile(ktFile: KtFile): List<Name> = buildList {
+        for (declaration in ktFile.declarations) {
+            if (declaration is KtClassLikeDeclaration) {
+                val name = declaration.nameAsName ?: continue
+                if (name.isSpecial) continue
+                add(name)
+            }
+        }
+    }
+
+    override fun getDeclarationNamesByMetadata(kotlinJvmBinaryClass: KotlinJvmBinaryClass): List<Name> {
+        return when (kotlinJvmBinaryClass.classHeader.kind) {
+            KotlinClassHeader.Kind.CLASS -> {
+                val className = kotlinJvmBinaryClass.classId.relativeClassName.pathSegments().first()
+                if (className.isSpecial) return listOf()
+                listOf(className)
+            }
+
+            KotlinClassHeader.Kind.FILE_FACADE, KotlinClassHeader.Kind.MULTIFILE_CLASS, KotlinClassHeader.Kind.MULTIFILE_CLASS_PART -> {
+                val (nameResolver, proto) = readProtoPackageData(kotlinJvmBinaryClass) ?: return listOf()
+                proto.typeAliasList.map { nameResolver.getName(it.name) }
+            }
+
+            KotlinClassHeader.Kind.UNKNOWN -> listOf()
+            KotlinClassHeader.Kind.SYNTHETIC_CLASS -> listOf()
+        }
+    }
+
+    override fun getPackageAndNamesFromBuiltIns(fileContent: FileContent): Map<FqName, List<Name>> {
+        val builtins = BuiltInDefinitionFile.read(fileContent.content, fileContent.file.parent) as? BuiltInDefinitionFile 
+            ?: return emptyMap()
+       
+        val names = buildList {
+            builtins.proto.class_List.forEach { klass ->
+                val classId = builtins.nameResolver.getClassId(klass.fqName)
+                if (classId.isLocal) return@forEach
+                add(classId.relativeClassName.pathSegments().first())
+            }
+        }
+
+        return mapOf(builtins.packageFqName to names.distinct())
+    }
+}
\ No newline at end of file
diff --git a/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/NameByPackageShortNameIndex.kt b/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/NameByPackageShortNameIndex.kt
new file mode 100644 (file)
index 0000000..c51ddf4
--- /dev/null
@@ -0,0 +1,83 @@
+// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package org.jetbrains.kotlin.idea.base.indices.names
+
+import com.intellij.ide.highlighter.JavaClassFileType
+import com.intellij.openapi.diagnostic.ControlFlowException
+import com.intellij.openapi.diagnostic.logger
+import com.intellij.psi.search.GlobalSearchScope
+import com.intellij.util.indexing.*
+import com.intellij.util.io.DataExternalizer
+import com.intellij.util.io.IOUtil
+import org.jetbrains.annotations.ApiStatus
+import org.jetbrains.kotlin.analysis.decompiler.psi.KotlinBuiltInFileType
+import org.jetbrains.kotlin.idea.KotlinFileType
+import org.jetbrains.kotlin.idea.vfilefinder.FqNameKeyDescriptor
+import org.jetbrains.kotlin.idea.vfilefinder.KotlinPartialPackageNamesIndex
+import org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache
+import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder
+import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
+import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader
+import org.jetbrains.kotlin.name.FqName
+import org.jetbrains.kotlin.name.Name
+import org.jetbrains.kotlin.psi.KtFile
+import java.io.DataInput
+import java.io.DataOutput
+
+@ApiStatus.Internal
+abstract class NameByPackageShortNameIndex : FileBasedIndexExtension<FqName, List<Name>>() {
+    private val LOG = logger<KotlinPartialPackageNamesIndex>()
+
+    protected abstract fun getDeclarationNamesByKtFile(ktFile: KtFile): List<Name>
+    protected abstract fun getDeclarationNamesByMetadata(kotlinJvmBinaryClass: KotlinJvmBinaryClass): List<Name>
+    protected abstract fun getPackageAndNamesFromBuiltIns(fileContent: FileContent): Map<FqName, List<Name>>
+
+    override fun dependsOnFileContent() = true
+    override fun getVersion() = 1
+    override fun getKeyDescriptor() = FqNameKeyDescriptor
+    override fun getValueExternalizer(): DataExternalizer<List<Name>> = ListOfNamesDataExternalizer
+    override fun traceKeyHashToVirtualFileMapping(): Boolean = true
+
+    override fun getInputFilter(): DefaultFileTypeSpecificInputFilter =
+        DefaultFileTypeSpecificInputFilter(KotlinFileType.INSTANCE, JavaClassFileType.INSTANCE, KotlinBuiltInFileType)
+
+    override fun getIndexer() = DataIndexer<FqName, List<Name>, FileContent> { fileContent ->
+        try {
+            when (fileContent.fileType) {
+                JavaClassFileType.INSTANCE -> getPackageAndNamesFromMetadata(fileContent)
+                KotlinBuiltInFileType -> getPackageAndNamesFromBuiltIns(fileContent)
+                KotlinFileType.INSTANCE -> {
+                    val ktFile = fileContent.psiFile as? KtFile ?: return@DataIndexer emptyMap()
+                    mapOf(ktFile.packageFqName to getDeclarationNamesByKtFile(ktFile).distinct())
+                }
+                else -> emptyMap()
+            }
+        } catch (e: Throwable) {
+            if (e is ControlFlowException) throw e
+            LOG.warn("Error `(${e.javaClass.simpleName}: ${e.message})` while indexing file ${fileContent.fileName} using $name index. Probably the file is broken.")
+            emptyMap()
+        }
+    }
+
+    private fun getPackageAndNamesFromMetadata(fileContent: FileContent): Map<FqName, List<Name>> {
+        val result = KotlinBinaryClassCache.getKotlinBinaryClassOrClassFileContent(fileContent.file, fileContent.content)
+            ?: return emptyMap()
+        val kotlinClass = result as? KotlinClassFinder.Result.KotlinClass ?: return emptyMap()
+        val binaryClass = kotlinClass.kotlinJvmBinaryClass
+        val packageName = binaryClass.classHeader.packageName?.let(::FqName) ?: binaryClass.classId.packageFqName
+        if (binaryClass.classHeader.kind == KotlinClassHeader.Kind.SYNTHETIC_CLASS) return emptyMap()
+        if (binaryClass.classId.isLocal) return emptyMap()
+        return mapOf(packageName to getDeclarationNamesByMetadata(binaryClass).distinct())
+    }
+
+    fun getNamesInPackage(packageFqName: FqName, scope: GlobalSearchScope): Set<Name> = buildSet {
+        FileBasedIndex.getInstance().getValues(name, packageFqName, scope).forEach(::addAll)
+    }
+}
+
+private object ListOfNamesDataExternalizer : DataExternalizer<List<Name>> {
+    override fun read(input: DataInput): List<Name> =
+        IOUtil.readStringList(input).map(Name::identifier)
+
+    override fun save(out: DataOutput, value: List<Name>) =
+        IOUtil.writeStringList(out, value.map(Name::asString))
+}
\ No newline at end of file
diff --git a/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/internalUtils.kt b/plugins/kotlin/base/indices/src/org/jetbrains/kotlin/idea/base/indices/names/internalUtils.kt
new file mode 100644 (file)
index 0000000..9f82e28
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package org.jetbrains.kotlin.idea.base.indices.names
+
+import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass
+import org.jetbrains.kotlin.metadata.ProtoBuf
+import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmNameResolver
+import org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil
+
+internal fun readProtoPackageData(kotlinJvmBinaryClass: KotlinJvmBinaryClass): Pair<JvmNameResolver, ProtoBuf.Package>? {
+    val header = kotlinJvmBinaryClass.classHeader
+    val data = header.data ?: header.incompatibleData ?: return null
+    val strings = header.strings ?: return null
+    return JvmProtoBufUtil.readPackageDataFrom(data, strings)
+}
\ No newline at end of file
index c143c28ee36d102a13f383298db582d27fdac897..e7f1bae3a1e2717a8adae993a59ca37facb5814e 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 class Test {
     val St<caret>
 }
index f6bebafaa79e89fbf601544f6b5c1a9d2b275cdf..02809f05cc32d967f02fca4be7f1d7a194ab269e 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 fun testing() {}
 
 fun S<caret>
index c8d99e19ea63217b62ca1b09a09db215313b4955..3e653d8e20913dc4d5ad4680857f6a93fcfbbb71 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 class StrSome {
   class StrOther
 
index beaad0a270218a6c3e0b24ffdfe0272afbcd1ad1..963a850beb8958f4b799763fd3d59c631cacccd2 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 package Tests
 
 import java.util.*
index 3f6f13836348a406a6c3fcd8b8fbf1d4b3c1ccc6..8345d275ab00921fc16f87080e3017745d5e2a7e 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 class Test {
     fun test() {
         val some : <caret>
index dc0211fcf5c020d0b94f2398bd8b8e80705ad297..713a77659a8194bf36e17886538a3defe2860915 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 class Test : <caret> {
     fun test() {
     }
index 4f55d5cba147aacc40b2c1da3cf76c3ad414f4b3..26e04638f021db8c5e64d2149030e81fefc59556 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 class SomeClass {
   class SomeInternal
 
index e42ce7f2c4d5813914627b80da12523f37c9ed86..f113478a5629652b9df7a352faeaccee247cfd8a 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 class SomeClass {
   class SomeInternal
 
index fb339feb17735fd6a1177d1c5af44dcf6e5225cc..f9c8274756dda79270a112e89135147a49c73f21 100644 (file)
@@ -1,6 +1,5 @@
 // FIR_IDENTICAL
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 fun String.forString(){}
 fun Any.forAny(){}
index 114548e2ef78aa9f7ba0e0ea0505f32c78aabc31..1bfb9c368f08dd4f71fee73fed9843260104688b 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 fun some(a : Statement<caret>)
 
 // INVOCATION_COUNT: 1
index 678d30d87ddf0859ec003636e5abef1399658025..e0a223618bffb9fa994d72f8d949d0ac40a3fb97 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 package testing
 
 // Should show java names by short name
index 9ce60d23e1c24e331178ee3878d2dfa3b40dd67f..a5631f0f6d9a12bfa9ff50ddf3d921a1c1d269a5 100644 (file)
@@ -1,5 +1,4 @@
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 val v: Boolean = run {
     return@run <caret>true
index 8af855110b0b5c49b5b15cd811bb2fcf7b8cfb54..1a0ecdf048ebb0880ea186a59f0024be85ce4444 100644 (file)
@@ -1,6 +1,4 @@
-// FIR_IDENTICAL
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 val v: Boolean = run {
     return<caret> true
index dc90da2604c1405388399cf94d2b4410c4b3c7da..7e14c878bf6f046bbf23718cf863c41e88744683 100644 (file)
@@ -1,9 +1,7 @@
-// FIR_IDENTICAL
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 val v: Boolean = run {
-    return@run <caret>true
+    return@run<caret> true
 }
 
 // ELEMENT: "return@run"
\ No newline at end of file
index 26b9fa3d5593bd369d51abed223b2e70e6f1abd2..ab53576092b62e397b37a35568291a0f52d4a57e 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 package one
 
 class Outer {
index b7f9ece5ba9d85820f99a08f5ef8fd06d87e1abd..d11b99ccedbfa3d2f145c5c648de6bea3cb4555d 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 package one
 open class Outer {
     class Nested
index 33fd57be87ff48acad028ad4b1be6eaba26075ce..97da9d2d4d96008bf38782c070a9608b7c7e91b9 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 fun f() {
     Cal<caret>
 }
index 8c6ab3735a118ed00ee6c0ae6d886f87fb11490d..5c45d85a93b9433bfbcb81658a76b0a6565adfd5 100644 (file)
@@ -1,5 +1,8 @@
 import java.util.concurrent.Callable
 
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 fun f() {
     Callable<caret>
 }
index 42489726bbeef66681ef593344af7be0b732a5e5..09bc7f83005af715614843f84bf0dfc6c1f2f26b 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 class Pair(val first: Int, val second: Int)
 
 fun foo(p: Pair) {
index a0ad3a76e5fcc4a41bcefba97a31eb39249eaf08..f0facaaf01344703a509a22ca921d7b5faa65f80 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 class Pair(val first: Int, val second: Int)
 
 fun foo(p: Pair) {
index d80ce9962a96d3731799ddd8deb720332917f003..dc3a5ffb08a59a4b8afba0b8337e99cc9398c90e 100644 (file)
@@ -1,6 +1,3 @@
-// FIR_IDENTICAL
-// FIR_COMPARISON
-
 package main.objects
 
 class A<T>
diff --git a/plugins/kotlin/completion/tests/testData/handlers/basic/highOrderFunctions/HigherOrderFunctionWithArg.fir.kt.after b/plugins/kotlin/completion/tests/testData/handlers/basic/highOrderFunctions/HigherOrderFunctionWithArg.fir.kt.after
deleted file mode 100644 (file)
index 6fa2c86..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-// FIR_COMPARISON
-fun main(args: Array<String>) {
-    args.filterNot {<caret>it != ""}
-}
-
-// ELEMENT: filterNot
\ No newline at end of file
diff --git a/plugins/kotlin/completion/tests/testData/handlers/basic/importAliases/KDoc.fir.kt b/plugins/kotlin/completion/tests/testData/handlers/basic/importAliases/KDoc.fir.kt
new file mode 100644 (file)
index 0000000..ab6837a
--- /dev/null
@@ -0,0 +1,9 @@
+// FIR_COMPARISON
+import java.util.List as UtilList
+
+/**
+ * [Util<caret>]
+ */
+fun foo(){}
+
+// ELEMENT: UtilList
index 3a7f95b1ea20a301b87acfddb06f3505dfb45acd..ab6837af342bd9aa6fcfadcc9eaa0b2d1dd02dab 100644 (file)
@@ -2,7 +2,7 @@
 import java.util.List as UtilList
 
 /**
- * [UtilList<caret>]
+ * [Util<caret>]
  */
 fun foo(){}
 
index 9bd35116463b2fe3d82f8281e552367c775b8035..ab6837af342bd9aa6fcfadcc9eaa0b2d1dd02dab 100644 (file)
@@ -1,4 +1,3 @@
-// FIR_IDENTICAL
 // FIR_COMPARISON
 import java.util.List as UtilList
 
index 5d5734d4eb60c6a1b529002e07045ecb5e5173a7..401a70592dbd5e2100f9f6220994e63e5328bd53 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 fun foo(param: String) {
     val s = "$param.<caret>bla-bla-bla"
 }
index d053c6bc963969cd710ec3e7d5ddbcc0db72b57e..55d5c1c9b3ec9e1190f36b8f4c5c2ce5a1ef1dce 100644 (file)
@@ -1,3 +1,6 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
+
 fun foo(param: String) {
     val s = "${param.hashCode()<caret>}bla-bla-bla"
 }
index 47a8c783997c0a313346674d12ad8144c29e1a22..0ff6ea5d03707824eea8bce9747dc2b22b1870dc 100644 (file)
@@ -1,6 +1,4 @@
-// FIR_IDENTICAL
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 fun foo() {
     takeHandler1 {
index b13650a37ed6f17577b5438b0bd830fafa989b19..33497fe3c2d99b207d0de193155eb439812a6ffe 100644 (file)
@@ -1,10 +1,8 @@
-// FIR_IDENTICAL
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 fun foo() {
     takeHandler1 {
-        takeHandler2({ return@takeHandler2 <caret> })
+        takeHandler2({ return@takeHandler2<caret> })
     }
 }
 
index ecbc10864a7c8775c661702527fbfe9bcc85c98f..3718c022d919f07a02d52d30da71111796da1274 100644 (file)
@@ -1,6 +1,4 @@
-// FIR_IDENTICAL
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 fun foo() {
     takeHandler1 {
index 93fa4c9e0ad3672d907365ccca0ad088e3003ee0..56c8a869214a95897991c5b0b41209ed76c7c8d6 100644 (file)
@@ -1,10 +1,8 @@
-// FIR_IDENTICAL
 // FIR_COMPARISON
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 fun foo() {
     takeHandler1 {
-        takeHandler2({ -> return@takeHandler2 <caret> })
+        takeHandler2({ -> return@takeHandler2<caret> })
     }
 }
 
index 2a60059a521e63f9fad95eb49e9abee64ed8db4c..7bc1a0cdcb2e8daa02a17931a361ce847fbb4722 100644 (file)
@@ -1,4 +1,3 @@
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 fun foo(p: Int) {
     "abc".fold(1) { <caret> }
index 7b484afb5908d3f3cb3cbe389e7f39752df72825..f2f8289de12b41951cccbb43331e73d6434c85b6 100644 (file)
@@ -1,4 +1,3 @@
-// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
 
 fun <R> String.fold(initial: R, operation: (acc: R, Char) -> R): R = TODO()
 
index f8995f4a556978c837859680439c8b14f81fc3f1..385254d707cd078638133e92856565cc5faabe14 100644 (file)
@@ -1,3 +1,5 @@
+// FIR_COMPARISON
+// FIR_IDENTICAL
 import dependency.*
 import java.util.*
 
index 2889a1821ca00e3337d8cb4de40581470ff9d00f..8e8f6b551692b3f078d07008dc8c1a0e962c471b 100644 (file)
@@ -1,2 +1,2 @@
 public final [BODY_RESOLVE] val memberProperty: R|kotlin/Int|
-    public [BODY_RESOLVE] get(): R|kotlin/Int|
+    public [RAW_FIR] get(): R|kotlin/Int|
index d0568784d54d40139d630cd3fa8b4465fcbee711..70f740453157dd53bd94d8fe3b672a8249cd73b5 100644 (file)
@@ -4,7 +4,7 @@ public final [BODY_RESOLVE] class TopLevelClass : R|kotlin/Any| {
     public final [BODY_RESOLVE] fun memberFunction([BODY_RESOLVE] s: R|kotlin/String|): R|kotlin/Unit|
 
     public final [BODY_RESOLVE] val memberProperty: R|kotlin/Int|
-        public [BODY_RESOLVE] get(): R|kotlin/Int|
+        public [RAW_FIR] get(): R|kotlin/Int|
 
     public [BODY_RESOLVE] constructor([BODY_RESOLVE] s: R|kotlin/String|): R|library/TopLevelClass|
 
index c0e8e2a3c7c48cbea5986e0a3f62bd356621ad40..9dc470886bfde311b2f5bdda14fc6014b2c8291c 100644 (file)
@@ -1,2 +1,2 @@
 public final [BODY_RESOLVE] val topLevelProperty: R|kotlin/Int|
-    public [BODY_RESOLVE] get(): R|kotlin/Int|
+    public [RAW_FIR] get(): R|kotlin/Int|
index 5f618477bf429b04032f347855011207fd06dfd2..3e82e209d4ac8d11c8633a8d941d52b8825ee372 100644 (file)
@@ -8,11 +8,12 @@ import com.intellij.codeInsight.completion.PrefixMatcher
 import com.intellij.openapi.project.Project
 import org.jetbrains.kotlin.idea.base.analysis.api.utils.KtSymbolFromIndexProvider
 import org.jetbrains.kotlin.idea.base.facet.platform.platform
+import org.jetbrains.kotlin.idea.base.projectStructure.scope.KotlinSourceFilterScope
 import org.jetbrains.kotlin.idea.completion.KotlinFirCompletionParameters
 import org.jetbrains.kotlin.idea.completion.LookupElementSink
 import org.jetbrains.kotlin.idea.completion.lookups.factories.KotlinFirLookupElementFactory
+import org.jetbrains.kotlin.idea.completion.utils.ImportStrategyDetector
 import org.jetbrains.kotlin.idea.fir.HLIndexHelper
-import org.jetbrains.kotlin.idea.base.projectStructure.scope.KotlinSourceFilterScope
 import org.jetbrains.kotlin.platform.TargetPlatform
 import org.jetbrains.kotlin.psi.KtFile
 
@@ -26,6 +27,7 @@ internal class FirBasicCompletionContext(
     val targetPlatform: TargetPlatform,
     val indexHelper: HLIndexHelper,
     val symbolFromIndexProvider: KtSymbolFromIndexProvider,
+    val importStrategyDetector: ImportStrategyDetector,
     val lookupElementFactory: KotlinFirLookupElementFactory = KotlinFirLookupElementFactory(),
 ) {
     val visibleScope = KotlinSourceFilterScope.projectFiles(originalKtFile.resolveScope, project)
@@ -39,6 +41,7 @@ internal class FirBasicCompletionContext(
             val targetPlatform = originalKtFile.platform
             val project = originalKtFile.project
             val indexHelper = createIndexHelper(parameters)
+
             return FirBasicCompletionContext(
                 parameters,
                 LookupElementSink(result, firParameters),
@@ -49,6 +52,7 @@ internal class FirBasicCompletionContext(
                 targetPlatform,
                 indexHelper,
                 KtSymbolFromIndexProvider(project),
+                ImportStrategyDetector(originalKtFile, project),
             )
         }
 
index 9dfdc17b3aaa50906546bb910eecece4c76aa2c9..ed87d352f1f3ec71a8561537f1f568f9fadff44b 100644 (file)
@@ -20,10 +20,10 @@ import org.jetbrains.kotlin.idea.completion.contributors.helpers.insertSymbolAnd
 import org.jetbrains.kotlin.idea.completion.lookups.CallableInsertionOptions
 import org.jetbrains.kotlin.idea.completion.lookups.CallableInsertionStrategy
 import org.jetbrains.kotlin.idea.completion.lookups.ImportStrategy
-import org.jetbrains.kotlin.idea.completion.lookups.detectImportStrategy
 import org.jetbrains.kotlin.idea.completion.weighers.WeighingContext
 import org.jetbrains.kotlin.idea.completion.weighers.WeighingContext.Companion.createWeighingContext
 import org.jetbrains.kotlin.idea.fir.HLIndexHelper
+import org.jetbrains.kotlin.name.CallableId
 import org.jetbrains.kotlin.psi.KtExpression
 import org.jetbrains.kotlin.utils.addIfNotNull
 
@@ -48,13 +48,13 @@ internal open class FirCallableCompletionContributor(
     }
 
     protected fun KtAnalysisSession.getOptions(symbol: KtCallableSymbol): CallableInsertionOptions =
-        CallableInsertionOptions(detectImportStrategy(symbol), getInsertionStrategy(symbol))
+        CallableInsertionOptions(importStrategyDetector.detectImportStrategy(symbol), getInsertionStrategy(symbol))
 
     private fun KtAnalysisSession.getExtensionOptions(
         symbol: KtCallableSymbol,
         applicability: KtExtensionApplicabilityResult
     ): CallableInsertionOptions? =
-        getInsertionStrategyForExtensionFunction(symbol, applicability)?.let { CallableInsertionOptions(detectImportStrategy(symbol), it) }
+        getInsertionStrategyForExtensionFunction(symbol, applicability)?.let { CallableInsertionOptions(importStrategyDetector.detectImportStrategy(symbol), it) }
 
     protected open fun KtAnalysisSession.filter(symbol: KtCallableSymbol): Boolean = true
 
@@ -266,10 +266,10 @@ internal open class FirCallableCompletionContributor(
 
         // Here we can't rely on deduplication in LookupElementSink because extension members can have types substituted, which won't be
         // equal to the same symbols from top level without substitution.
-        val extensionMembers = mutableSetOf<KtCallableSymbol>()
+        val extensionMembers = mutableSetOf<CallableId>()
         extensionNonMembers.forEach { (symbol, applicabilityResult) ->
             getExtensionOptions(symbol, applicabilityResult)?.let {
-                extensionMembers += symbol
+                symbol.callableIdIfNonLocal?.let(extensionMembers::add)
                 addCallableSymbolToCompletion(
                     context,
                     symbol,
@@ -281,7 +281,7 @@ internal open class FirCallableCompletionContributor(
         }
 
         collectTopLevelExtensionsFromIndices(listOf(typeOfPossibleReceiver), extensionChecker, visibilityChecker)
-            .filter { it !in extensionMembers && filter(it) }
+            .filter { it.callableIdIfNonLocal !in extensionMembers && filter(it) }
             .forEach { addCallableSymbolToCompletion(context, it, getOptions(it), explicitReceiverTypeHint = explicitReceiverTypeHint) }
     }
 
index f5802a2f8471f562c18a0ec303d4a8940507a8ba..caede097e709c71c0f3d210f469f60c2bbda9f6a 100644 (file)
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.idea.completion.contributors.helpers.FirClassifierPr
 import org.jetbrains.kotlin.idea.completion.contributors.helpers.FirClassifierProvider.getAvailableClassifiersFromIndex
 import org.jetbrains.kotlin.idea.completion.contributors.helpers.getStaticScope
 import org.jetbrains.kotlin.idea.completion.lookups.ImportStrategy
-import org.jetbrains.kotlin.idea.completion.lookups.detectImportStrategy
 import org.jetbrains.kotlin.idea.completion.weighers.WeighingContext
 import org.jetbrains.kotlin.idea.completion.weighers.WeighingContext.Companion.createWeighingContext
 import org.jetbrains.kotlin.psi.KtExpression
@@ -25,7 +24,7 @@ internal open class FirClassifierCompletionContributor(
     protected open fun KtAnalysisSession.filterClassifiers(classifierSymbol: KtClassifierSymbol): Boolean = true
 
     protected open fun KtAnalysisSession.getImportingStrategy(classifierSymbol: KtClassifierSymbol): ImportStrategy =
-        detectImportStrategy(classifierSymbol)
+        importStrategyDetector.detectImportStrategy(classifierSymbol)
 
     override fun KtAnalysisSession.complete(positionContext: FirNameReferencePositionContext) {
         val visibilityChecker = CompletionVisibilityChecker.create(basicContext, positionContext)
index b3229ab9581997b9ec986471a9700ae85901a037..353ee0669eeb669fd00fbca114228a2716718e93 100644 (file)
@@ -3,7 +3,6 @@
 package org.jetbrains.kotlin.idea.completion.contributors
 
 import com.intellij.codeInsight.completion.CompletionParameters
-import com.intellij.codeInsight.completion.InsertionContext
 import com.intellij.codeInsight.completion.PrefixMatcher
 import com.intellij.codeInsight.lookup.LookupElement
 import com.intellij.codeInsight.lookup.LookupElementDecorator
@@ -14,11 +13,16 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
 import org.jetbrains.kotlin.analysis.api.scopes.KtScopeNameFilter
 import org.jetbrains.kotlin.analysis.api.symbols.*
 import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol
+import org.jetbrains.kotlin.analysis.api.symbols.markers.KtPossibleMemberSymbol
+import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
 import org.jetbrains.kotlin.analysis.api.types.KtSubstitutor
 import org.jetbrains.kotlin.analysis.api.types.KtType
 import org.jetbrains.kotlin.idea.base.analysis.api.utils.KtSymbolFromIndexProvider
+import org.jetbrains.kotlin.idea.base.facet.platform.platform
+import org.jetbrains.kotlin.idea.base.projectStructure.compositeAnalysis.findAnalyzerServices
+import org.jetbrains.kotlin.idea.base.projectStructure.languageVersionSettings
+import org.jetbrains.kotlin.idea.base.utils.fqname.isImported
 import org.jetbrains.kotlin.idea.completion.ItemPriority
-import org.jetbrains.kotlin.idea.completion.LookupElementFactory
 import org.jetbrains.kotlin.idea.completion.LookupElementSink
 import org.jetbrains.kotlin.idea.completion.context.FirBasicCompletionContext
 import org.jetbrains.kotlin.idea.completion.context.FirRawPositionCompletionContext
@@ -26,15 +30,16 @@ import org.jetbrains.kotlin.idea.completion.contributors.helpers.CallableMetadat
 import org.jetbrains.kotlin.idea.completion.contributors.helpers.CallableMetadataProvider.getCallableMetadata
 import org.jetbrains.kotlin.idea.completion.lookups.CallableInsertionOptions
 import org.jetbrains.kotlin.idea.completion.lookups.ImportStrategy
-import org.jetbrains.kotlin.idea.completion.lookups.detectImportStrategy
 import org.jetbrains.kotlin.idea.completion.lookups.factories.KotlinFirLookupElementFactory
 import org.jetbrains.kotlin.idea.completion.priority
+import org.jetbrains.kotlin.idea.completion.utils.ImportStrategyDetector
 import org.jetbrains.kotlin.idea.completion.weighers.Weighers
 import org.jetbrains.kotlin.idea.completion.weighers.WeighingContext
 import org.jetbrains.kotlin.idea.fir.HLIndexHelper
 import org.jetbrains.kotlin.idea.references.mainReference
 import org.jetbrains.kotlin.platform.TargetPlatform
 import org.jetbrains.kotlin.psi.*
+import org.jetbrains.kotlin.resolve.ImportPath
 import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue
 
 internal class FirCompletionContributorOptions(
@@ -63,6 +68,7 @@ internal abstract class FirCompletionContributorBase<C : FirRawPositionCompletio
     protected val indexHelper: HLIndexHelper get() = basicContext.indexHelper
     protected val symbolFromIndexProvider: KtSymbolFromIndexProvider get() = basicContext.symbolFromIndexProvider
     protected val lookupElementFactory: KotlinFirLookupElementFactory get() = basicContext.lookupElementFactory
+    protected val importStrategyDetector: ImportStrategyDetector get() = basicContext.importStrategyDetector
     protected val visibleScope = basicContext.visibleScope
 
 
@@ -76,7 +82,7 @@ internal abstract class FirCompletionContributorBase<C : FirRawPositionCompletio
         // Don't offer any hidden deprecated items.
         if (symbol.deprecationStatus?.deprecationLevel == DeprecationLevelValue.HIDDEN) return
         with(lookupElementFactory) {
-            createLookupElement(symbol)
+            createLookupElement(symbol, importStrategyDetector)
                 .let(sink::addElement)
         }
     }
@@ -84,7 +90,7 @@ internal abstract class FirCompletionContributorBase<C : FirRawPositionCompletio
     protected fun KtAnalysisSession.addClassifierSymbolToCompletion(
         symbol: KtClassifierSymbol,
         context: WeighingContext,
-        importingStrategy: ImportStrategy = detectImportStrategy(symbol),
+        importingStrategy: ImportStrategy = importStrategyDetector.detectImportStrategy(symbol),
     ) {
         if (symbol !is KtNamedSymbol) return
         // Don't offer any deprecated items that could leads to compile errors.
@@ -92,7 +98,7 @@ internal abstract class FirCompletionContributorBase<C : FirRawPositionCompletio
         val lookup = with(lookupElementFactory) {
             when (symbol) {
                 is KtClassLikeSymbol -> createLookupElementForClassLikeSymbol(symbol, importingStrategy)
-                is KtTypeParameterSymbol -> createLookupElement(symbol)
+                is KtTypeParameterSymbol -> createLookupElement(symbol, importStrategyDetector)
             }
         } ?: return
         lookup.availableWithoutImport = importingStrategy == ImportStrategy.DoNothing
index afaec461c66608431227ae3671d97634c50b80c7..f655e5301b65e9f7ad3f6c8325ebe2b4e98368d3 100644 (file)
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.idea.completion.context.FirSuperReceiverNameReferenc
 import org.jetbrains.kotlin.idea.completion.contributors.helpers.collectNonExtensions
 import org.jetbrains.kotlin.idea.completion.lookups.CallableInsertionOptions
 import org.jetbrains.kotlin.idea.completion.lookups.CallableInsertionStrategy
-import org.jetbrains.kotlin.idea.completion.lookups.detectImportStrategy
 import org.jetbrains.kotlin.idea.completion.weighers.WeighingContext
 import org.jetbrains.kotlin.idea.completion.weighers.WeighingContext.Companion.createWeighingContext
 import org.jetbrains.kotlin.name.Name
@@ -119,7 +118,7 @@ internal class FirSuperMemberCompletionContributor(
                         context,
                         callableSymbol,
                         CallableInsertionOptions(
-                            detectImportStrategy(callableSymbol),
+                            importStrategyDetector.detectImportStrategy(callableSymbol),
                             wrapWithDisambiguationIfNeeded(
                                 getInsertionStrategy(callableSymbol),
                                 superType,
@@ -191,7 +190,7 @@ internal class FirSuperMemberCompletionContributor(
                 context,
                 callableSymbol,
                 CallableInsertionOptions(
-                    detectImportStrategy(callableSymbol),
+                    importStrategyDetector.detectImportStrategy(callableSymbol),
                     wrapWithDisambiguationIfNeeded(
                         CallableInsertionStrategy.WithCallArgs(args),
                         superType,
index e1661cab698b644da3c5e7b31cf5fb5332ca796f..de5fe01fd537bc1cb489f0d16cdbd8659a0017e9 100644 (file)
@@ -88,7 +88,7 @@ internal class OverrideKeywordHandler(
 
         val memberPointer = memberSymbol.createPointer()
 
-        val baseLookupElement = with(basicContext.lookupElementFactory) { createLookupElement(memberSymbol) }
+        val baseLookupElement = with(basicContext.lookupElementFactory) { createLookupElement(memberSymbol, basicContext.importStrategyDetector) }
             ?: error("Lookup element should be available for override completion")
         return OverridesCompletionLookupElementDecorator(
             baseLookupElement,
index 77c703739b74941176bb912508323d948ce930a9..87139f344cb41ec45d5bb77fbda7bc7d339b96be 100644 (file)
@@ -5,6 +5,7 @@ package org.jetbrains.kotlin.idea.completion.lookups
 import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
 import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
 import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol
+import org.jetbrains.kotlin.idea.completion.utils.ImportStrategyDetector
 
 internal data class CallableInsertionOptions(
     val importingStrategy: ImportStrategy,
@@ -17,8 +18,8 @@ internal data class CallableInsertionOptions(
         copy(insertionStrategy = newInsertionStrategy)
 }
 
-internal fun KtAnalysisSession.detectCallableOptions(symbol: KtCallableSymbol): CallableInsertionOptions = CallableInsertionOptions(
-    importingStrategy = detectImportStrategy(symbol),
+internal fun KtAnalysisSession.detectCallableOptions(symbol: KtCallableSymbol, importStrategyDetector: ImportStrategyDetector): CallableInsertionOptions = CallableInsertionOptions(
+    importingStrategy = importStrategyDetector.detectImportStrategy(symbol),
     insertionStrategy = when (symbol) {
         is KtFunctionSymbol -> CallableInsertionStrategy.AsCall
         else -> CallableInsertionStrategy.AsIdentifier
index 95725292de315610d39b5bd896ec731e99eff55d..af0166d7140b25f7b284892ab9136a2299e892d9 100644 (file)
@@ -8,7 +8,6 @@ import org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile
 import org.jetbrains.kotlin.analysis.api.symbols.*
 import org.jetbrains.kotlin.analysis.api.symbols.markers.KtPossibleMemberSymbol
 import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
-import org.jetbrains.kotlin.name.CallableId
 import org.jetbrains.kotlin.name.FqName
 import org.jetbrains.kotlin.psi.KtFile
 
@@ -18,28 +17,7 @@ internal sealed class ImportStrategy {
     data class InsertFqNameAndShorten(val fqName: FqName) : ImportStrategy()
 }
 
-internal fun KtAnalysisSession.detectImportStrategy(symbol: KtSymbol): ImportStrategy = when (symbol) {
-    is KtCallableSymbol -> detectImportStrategyForCallableSymbol(symbol)
-    is KtClassLikeSymbol -> detectImportStrategyForClassLikeSymbol(symbol)
-    else -> ImportStrategy.DoNothing
-}
-
-internal fun KtAnalysisSession.detectImportStrategyForCallableSymbol(symbol: KtCallableSymbol): ImportStrategy {
-    if (symbol !is KtPossibleMemberSymbol || symbol.symbolKind == KtSymbolKind.CLASS_MEMBER) return ImportStrategy.DoNothing
 
-    val propertyId = symbol.callableIdIfNonLocal?.asSingleFqName() ?: return ImportStrategy.DoNothing
-
-    return if (symbol.isExtension) {
-        ImportStrategy.AddImport(propertyId)
-    } else {
-        ImportStrategy.InsertFqNameAndShorten(propertyId)
-    }
-}
-
-internal fun KtAnalysisSession.detectImportStrategyForClassLikeSymbol(symbol: KtClassLikeSymbol): ImportStrategy {
-    val classId = symbol.classIdIfNonLocal ?: return ImportStrategy.DoNothing
-    return ImportStrategy.InsertFqNameAndShorten(classId.asSingleFqName())
-}
 
 internal fun addCallableImportIfRequired(targetFile: KtFile, nameToImport: FqName) {
     if (!alreadyHasImport(targetFile, nameToImport)) {
index 94d310c52ec671b16114fa3fa7b307c772408cbd..cc92664b201fc627ac54983de486b72475a386df 100644 (file)
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.renderer.render
 internal class ClassLookupElementFactory {
     fun KtAnalysisSession.createLookup(
         symbol: KtClassLikeSymbol,
-        importingStrategy: ImportStrategy = detectImportStrategy(symbol)
+        importingStrategy: ImportStrategy,
     ): LookupElementBuilder {
         val name = symbol.nameOrAnonymous
         return LookupElementBuilder.create(ClassifierLookupObject(name, importingStrategy), name.asString())
index 8d4e08a0634008abb920428aea478c3e91b98721..29012143e6ade1fc3891ebf95ddf715dc7518a70 100644 (file)
@@ -4,15 +4,16 @@ package org.jetbrains.kotlin.idea.completion.lookups.factories
 
 import com.intellij.codeInsight.lookup.LookupElement
 import com.intellij.codeInsight.lookup.LookupElementBuilder
-import org.jetbrains.kotlin.idea.completion.lookups.CallableInsertionOptions
-import org.jetbrains.kotlin.idea.completion.lookups.ImportStrategy
-import org.jetbrains.kotlin.idea.completion.lookups.detectCallableOptions
-import org.jetbrains.kotlin.idea.completion.lookups.detectImportStrategy
 import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
 import org.jetbrains.kotlin.analysis.api.symbols.*
 import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol
 import org.jetbrains.kotlin.analysis.api.types.KtSubstitutor
+import org.jetbrains.kotlin.idea.completion.lookups.CallableInsertionOptions
+import org.jetbrains.kotlin.idea.completion.lookups.ImportStrategy
+import org.jetbrains.kotlin.idea.completion.lookups.detectCallableOptions
+import org.jetbrains.kotlin.idea.completion.utils.ImportStrategyDetector
 import org.jetbrains.kotlin.name.FqName
+import java.net.UnknownHostException
 
 internal class KotlinFirLookupElementFactory {
     private val classLookupElementFactory = ClassLookupElementFactory()
@@ -21,14 +22,20 @@ internal class KotlinFirLookupElementFactory {
     private val typeParameterLookupElementFactory = TypeParameterLookupElementFactory()
     private val packagePartLookupElementFactory = PackagePartLookupElementFactory()
 
-    fun KtAnalysisSession.createLookupElement(symbol: KtNamedSymbol, substitutor: KtSubstitutor = KtSubstitutor.Empty(token)): LookupElement {
+    fun KtAnalysisSession.createLookupElement(
+        symbol: KtNamedSymbol,
+        importStrategyDetector: ImportStrategyDetector,
+        importingStrategy: ImportStrategy? = null,
+        substitutor: KtSubstitutor = KtSubstitutor.Empty(token)
+    ): LookupElement {
         return when (symbol) {
             is KtCallableSymbol -> createCallableLookupElement(
                 symbol,
-                detectCallableOptions(symbol),
+                detectCallableOptions(symbol, importStrategyDetector),
                 substitutor,
             )
-            is KtClassLikeSymbol -> with(classLookupElementFactory) { createLookup(symbol) }
+
+            is KtClassLikeSymbol -> with(classLookupElementFactory) { createLookup(symbol, importingStrategy ?: importStrategyDetector.detectImportStrategy(symbol)) }
             is KtTypeParameterSymbol -> with(typeParameterLookupElementFactory) { createLookup(symbol) }
             else -> throw IllegalArgumentException("Cannot create a lookup element for $symbol")
         }
@@ -51,7 +58,7 @@ internal class KotlinFirLookupElementFactory {
 
     fun KtAnalysisSession.createLookupElementForClassLikeSymbol(
         symbol: KtClassLikeSymbol,
-        importingStrategy: ImportStrategy = detectImportStrategy(symbol)
+        importingStrategy: ImportStrategy,
     ): LookupElement? {
         if (symbol !is KtNamedSymbol) return null
         return with(classLookupElementFactory) { createLookup(symbol, importingStrategy) }
diff --git a/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/utils/ImportStrategyDetector.kt b/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/completion/utils/ImportStrategyDetector.kt
new file mode 100644 (file)
index 0000000..f87f499
--- /dev/null
@@ -0,0 +1,58 @@
+// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package org.jetbrains.kotlin.idea.completion.utils
+
+import com.intellij.openapi.project.Project
+import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
+import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
+import org.jetbrains.kotlin.analysis.api.symbols.KtClassLikeSymbol
+import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
+import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind
+import org.jetbrains.kotlin.idea.base.facet.platform.platform
+import org.jetbrains.kotlin.idea.base.projectStructure.compositeAnalysis.findAnalyzerServices
+import org.jetbrains.kotlin.idea.base.projectStructure.languageVersionSettings
+import org.jetbrains.kotlin.idea.base.utils.fqname.isImported
+import org.jetbrains.kotlin.idea.completion.lookups.ImportStrategy
+import org.jetbrains.kotlin.name.FqName
+import org.jetbrains.kotlin.psi.KtFile
+import org.jetbrains.kotlin.resolve.ImportPath
+
+internal class ImportStrategyDetector(originalKtFile: KtFile, project: Project) {
+    private val analyzerServices = originalKtFile.platform.findAnalyzerServices(project)
+    private val defaultImports = analyzerServices
+        .getDefaultImports(originalKtFile.languageVersionSettings, includeLowPriorityImports = true).toSet()
+
+    private val excludedImports = analyzerServices.excludedImports
+
+    context (KtAnalysisSession)
+    internal fun detectImportStrategy(symbol: KtSymbol): ImportStrategy = when (symbol) {
+        is KtCallableSymbol -> detectImportStrategyForCallableSymbol(symbol)
+        is KtClassLikeSymbol -> detectImportStrategyForClassLikeSymbol(symbol)
+        else -> ImportStrategy.DoNothing
+    }
+
+    context(KtAnalysisSession)
+    private fun detectImportStrategyForCallableSymbol(symbol: KtCallableSymbol): ImportStrategy {
+        if (symbol.symbolKind == KtSymbolKind.CLASS_MEMBER) return ImportStrategy.DoNothing
+
+        val callableId = symbol.callableIdIfNonLocal?.asSingleFqName() ?: return ImportStrategy.DoNothing
+        if (callableId.isAlreadyImported()) return ImportStrategy.DoNothing
+
+        return if (symbol.isExtension) {
+            ImportStrategy.AddImport(callableId)
+        } else {
+            ImportStrategy.InsertFqNameAndShorten(callableId)
+        }
+    }
+
+    context (KtAnalysisSession)
+    private fun detectImportStrategyForClassLikeSymbol(symbol: KtClassLikeSymbol): ImportStrategy {
+        val classId = symbol.classIdIfNonLocal?.asSingleFqName() ?: return ImportStrategy.DoNothing
+        if (classId.isAlreadyImported()) return ImportStrategy.DoNothing
+        return ImportStrategy.InsertFqNameAndShorten(classId)
+    }
+
+    private fun FqName.isAlreadyImported(): Boolean {
+        val importPath = ImportPath(this, isAllUnder = false)
+        return importPath.isImported(defaultImports, excludedImports)
+    }
+}
\ No newline at end of file
index 4256ec94907cb47ab297d8fe62e2cbf7df9d7471..6676753e0091384258da084c75d2ac7762fa9c63 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
 
 package org.jetbrains.kotlin.idea.fir.codeInsight
 
@@ -7,10 +7,8 @@ import org.jetbrains.kotlin.idea.codeInsight.OverrideImplementTest
 import org.jetbrains.kotlin.idea.core.overrideImplement.KtClassMember
 import org.jetbrains.kotlin.idea.fir.invalidateCaches
 import org.jetbrains.kotlin.idea.test.runAll
-import org.jetbrains.kotlin.psi.KtFile
 import org.junit.internal.runners.JUnit38ClassRunner
 import org.junit.runner.RunWith
-import java.io.File
 
 @Suppress("RedundantOverride") // overrides are for easier test debugging
 @RunWith(JUnit38ClassRunner::class)
@@ -300,6 +298,10 @@ internal class FirOverrideImplementTest : OverrideImplementTest<KtClassMember>()
         super.testUnresolvedType()
     }
 
+    override fun testUnresolvedType2() {
+        super.testUnresolvedType()
+    }
+
     override fun testImplementFromClassName() {
         super.testImplementFromClassName()
     }
index 3d00a89cf88ea5862625808912cfcc5d2b5b7cad..fd9e84903bf1a87f03096aac677744026a527924 100644 (file)
@@ -4,7 +4,9 @@ package org.jetbrains.kotlin.idea.fir.completion
 
 import com.intellij.codeInsight.completion.CompletionType
 import com.intellij.testFramework.LightProjectDescriptor
+import com.intellij.testFramework.common.runAll
 import org.jetbrains.kotlin.idea.completion.test.KotlinFixtureCompletionBaseTestCase
+import org.jetbrains.kotlin.idea.fir.invalidateCaches
 import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
 import org.jetbrains.kotlin.platform.TargetPlatform
 import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
@@ -19,6 +21,13 @@ abstract class AbstractHighLevelMultiFileJvmBasicCompletionTest : KotlinFixtureC
 
     override val captureExceptions: Boolean = false
 
+    override fun tearDown() {
+        runAll(
+            { project.invalidateCaches() },
+            { super.tearDown() },
+        )
+    }
+
     override fun executeTest(test: () -> Unit) {
         IgnoreTests.runTestIfEnabledByFileDirective(dataFile().toPath(), IgnoreTests.DIRECTIVES.FIR_COMPARISON) {
             test()
index 4eaff5571caab539df8f01ee70af4a48d7da8825..083903b1b080ee812a6db82c0df981612258e974 100644 (file)
@@ -2,7 +2,9 @@
 
 package org.jetbrains.kotlin.idea.fir.completion.test.handlers
 
+import com.intellij.testFramework.common.runAll
 import org.jetbrains.kotlin.idea.completion.test.handlers.AbstractKeywordCompletionHandlerTest
+import org.jetbrains.kotlin.idea.fir.invalidateCaches
 import org.jetbrains.kotlin.test.utils.IgnoreTests
 import org.jetbrains.kotlin.test.utils.withExtension
 import java.io.File
@@ -15,6 +17,13 @@ abstract class AbstractFirKeywordCompletionHandlerTest : AbstractKeywordCompleti
     override fun handleTestPath(path: String): File =
         IgnoreTests.getFirTestFileIfFirPassing(File(path), IgnoreTests.DIRECTIVES.FIR_COMPARISON, ".after")
 
+    override fun tearDown() {
+        runAll(
+            { project.invalidateCaches() },
+            { super.tearDown() },
+        )
+    }
+
     override fun doTest(testPath: String) {
         IgnoreTests.runTestIfEnabledByFileDirective(dataFilePath(), IgnoreTests.DIRECTIVES.FIR_COMPARISON, ".after") {
             super.doTest(testPath)
index 61407d7c6e0869f54825eeefe41304a66f6221d5..b3af8d04bc71caaf023911dcbf6230ee946f8853 100644 (file)
@@ -2,7 +2,9 @@
 
 package org.jetbrains.kotlin.idea.fir.completion.test.handlers
 
+import com.intellij.testFramework.common.runAll
 import org.jetbrains.kotlin.idea.completion.test.handlers.AbstractBasicCompletionHandlerTest
+import org.jetbrains.kotlin.idea.fir.invalidateCaches
 import org.jetbrains.kotlin.test.utils.IgnoreTests
 import org.jetbrains.kotlin.test.utils.withExtension
 import java.io.File
@@ -12,6 +14,13 @@ abstract class AbstractHighLevelBasicCompletionHandlerTest : AbstractBasicComple
 
     override fun isFirPlugin(): Boolean = true
 
+    override fun tearDown() {
+        runAll(
+            { project.invalidateCaches() },
+            { super.tearDown() },
+        )
+    }
+
     override fun handleTestPath(path: String): File =
         IgnoreTests.getFirTestFileIfFirPassing(File(path), IgnoreTests.DIRECTIVES.FIR_COMPARISON, ".after")
 
index 209a9c7ff07ab181bb067bf725d1467cfb5b4e41..35222ee96101f9eeb5dfd27edf0e195a6784d526 100644 (file)
@@ -67,11 +67,6 @@ public abstract class HighLevelQuickFixMultiFileTestGenerated extends AbstractHi
             KotlinTestUtils.runTest(this::doTestWithExtraFile, this, testDataFilePath);
         }
 
-        @TestMetadata("checkArgumentTypes.test")
-        public void testCheckArgumentTypes() throws Exception {
-            runTest("../idea/tests/testData/quickfix/autoImports/mismatchingArgs/checkArgumentTypes.test");
-        }
-
         @TestMetadata("constantExpectedTypeMismatch.test")
         public void testConstantExpectedTypeMismatch() throws Exception {
             runTest("../idea/tests/testData/quickfix/autoImports/mismatchingArgs/constantExpectedTypeMismatch.test");
@@ -122,11 +117,6 @@ public abstract class HighLevelQuickFixMultiFileTestGenerated extends AbstractHi
             runTest("../idea/tests/testData/quickfix/autoImports/mismatchingArgs/ignoreErrorsOutsideCall.test");
         }
 
-        @TestMetadata("lambdaArgument.test")
-        public void testLambdaArgument() throws Exception {
-            runTest("../idea/tests/testData/quickfix/autoImports/mismatchingArgs/lambdaArgument.test");
-        }
-
         @TestMetadata("namedArgument.test")
         public void testNamedArgument() throws Exception {
             runTest("../idea/tests/testData/quickfix/autoImports/mismatchingArgs/namedArgument.test");
index 5c1abc1cbf4086c98cd93bee763c0dc5f3446079..7dcd209f46fc92a4415df247ccdadef4f27a52f1 100644 (file)
@@ -1,3 +1,3 @@
-FirLightClassForSymbol: A
-FirLightClassForSymbol: B
-FirLightClassForSymbol: C
\ No newline at end of file
+SymbolLightClass: A
+SymbolLightClass: B
+SymbolLightClass: C
\ No newline at end of file
index fceceb746e0e5978a460dad1ceb3158b7c370017..89891bd3849001643902cf66fa9099a08e741cc6 100644 (file)
@@ -1,2 +1,2 @@
-FirLightClassForSymbol: Y
-FirLightClassForSymbol: Z
\ No newline at end of file
+SymbolLightClass: Y
+SymbolLightClass: Z
\ No newline at end of file
index f9a28b5a1b84b84857b9067a167509a42fb7ea12..7626c696e9f7b1a10210df70fc5991c9960dcaea 100644 (file)
@@ -1,3 +1,3 @@
-FirLightClassForSymbol: B
-FirLightInterfaceClassSymbol: I2
-FirLightInterfaceClassSymbol: I3
\ No newline at end of file
+SymbolLightClass: B
+SymbolLightInterfaceClass: I2
+SymbolLightInterfaceClass: I3
\ No newline at end of file
index 42bcfc8b94193df6125c68564a1ebf96f8973cf7..4993bcada1ec6f28b540e18306ea3273dca4b3b2 100644 (file)
@@ -1 +1 @@
-FirLightClassForSymbol: B
\ No newline at end of file
+SymbolLightClass: B
\ No newline at end of file
index 116830504cb95563983531d9b38232d2eda89fda..b467411cfd223a7fa894c0465c3b76ab65dba6c7 100644 (file)
@@ -1 +1 @@
-FirLightSimpleMethodForSymbol: foo
\ No newline at end of file
+SymbolLightSimpleMethod: foo
\ No newline at end of file
index 2422c5d5bcb39065b15df27380b2ef1c1a96b74b..a5854601b07da3b71d184fd0405469aa383af291 100644 (file)
@@ -1 +1 @@
-FirLightSimpleMethodForSymbol: B.foo
+SymbolLightSimpleMethod: B.foo
\ No newline at end of file
index 3d1cad46cfc74864c465a03dcd02d49841647064..ce6a14b8e7df1cb5549a5bb2658ed6378c6a5f0b 100644 (file)
@@ -177,7 +177,6 @@ class CompilerArgumentsCachingTest {
         noInline = Random.nextBoolean()
         skipMetadataVersionCheck = Random.nextBoolean()
         skipPrereleaseCheck = Random.nextBoolean()
-        newInference = Random.nextBoolean()
         allowKotlinPackage = Random.nextBoolean()
         reportOutputFiles = Random.nextBoolean()
         multiPlatform = Random.nextBoolean()
@@ -446,7 +445,6 @@ class CompilerArgumentsCachingTest {
             "noInline",
             "skipMetadataVersionCheck",
             "skipPrereleaseCheck",
-            "newInference",
             "allowKotlinPackage",
             "reportOutputFiles",
             "multiPlatform",
index 3fd3c2d014b4b460ed0a368cb85d7e69caf117bb..4bd54cb98feec9f4d859acd8c77a8d0a97725cff 100644 (file)
@@ -15,7 +15,7 @@ abstract class HierarchicalStructureByDefaultImportAndHighlightingTest : Multipl
 
     class TestBucket : HierarchicalStructureByDefaultImportAndHighlightingTest() {
         @Test
-        @PluginTargetVersions(pluginVersion = "1.8.0+")
+        @PluginTargetVersions(pluginVersion = "1.7.20-rc+")
         fun testCommonKlibHighlighting() {
             configureByFiles()
             importProject()
index 74e8f1d5568f899acc1a63e9c2be557937eb22e3..ad15f81bead1ee3a63687fc119c008b5e90c1e21 100644 (file)
@@ -134,8 +134,7 @@ class RedundantSamConstructorInspection : AbstractKotlinInspection() {
             if (!resolutionResults.isSuccess) return false
 
             val generatingAdditionalSamCandidateIsDisabled =
-                parentCall.languageVersionSettings.supportsFeature(LanguageFeature.SamConversionPerArgument) ||
-                        parentCall.languageVersionSettings.supportsFeature(LanguageFeature.ProhibitVarargAsArrayAfterSamArgument)
+                parentCall.languageVersionSettings.supportsFeature(LanguageFeature.ProhibitVarargAsArrayAfterSamArgument)
 
             val samAdapterOriginalDescriptor =
                 if (generatingAdditionalSamCandidateIsDisabled && resolutionResults.resultingCall is NewResolvedCallImpl<*>) {
@@ -211,13 +210,7 @@ class RedundantSamConstructorInspection : AbstractKotlinInspection() {
                 arg.toCallExpression()?.takeIf { call -> samConversionIsPossible(arg, call) }
             }
 
-            val haveToConvertAllArguments = !functionCall.languageVersionSettings.supportsFeature(LanguageFeature.SamConversionPerArgument)
-
-            val argumentsThatCanBeConverted = if (haveToConvertAllArguments) {
-                argumentsWithSamConstructors.takeIf { it.values.none(::containsLabeledReturnPreventingConversion) }.orEmpty()
-            } else {
-                argumentsWithSamConstructors.filterValues { !containsLabeledReturnPreventingConversion(it) }
-            }
+            val argumentsThatCanBeConverted = argumentsWithSamConstructors.filterValues { !containsLabeledReturnPreventingConversion(it) }
 
             return when {
                 argumentsThatCanBeConverted.isEmpty() -> emptyList()
index fd88292f79819173f7cb7c786031ff8a3ff3b622..74c58c9d85e6990f350592410a5360a75daf614e 100644 (file)
@@ -114,23 +114,9 @@ open class ConvertLambdaToReferenceIntention(textGetter: () -> String) : SelfTar
         if (noBoundReferences && descriptorHasReceiver && explicitReceiver == null) return false
 
         val callableArgumentsCount = (callableExpression as? KtCallExpression)?.valueArguments?.size ?: 0
-        val enableFunctionReferenceWithDefaultValueAsOtherType =
-            languageVersionSettings.supportsFeature(LanguageFeature.FunctionReferenceWithDefaultValueAsOtherType)
-        if (enableFunctionReferenceWithDefaultValueAsOtherType) {
-            if (calleeDescriptor.valueParameters.size != callableArgumentsCount &&
-                (lambdaExpression.parentValueArgument() == null || calleeDescriptor.valueParameters.none { it.declaresDefaultValue() })
-            ) return false
-        } else {
-            if (calleeDescriptor.valueParameters.size != callableArgumentsCount) return false
-            val lambdaMustReturnUnit =
-                if (lambdaParameterType?.isFunctionType == true) lambdaParameterType.getReturnTypeFromFunctionType().isUnit() else false
-            if (lambdaMustReturnUnit) {
-                calleeDescriptor.returnType.let {
-                    // If Unit required, no references to non-Unit callables
-                    if (it == null || !it.isUnit()) return false
-                }
-            }
-        }
+        if (calleeDescriptor.valueParameters.size != callableArgumentsCount &&
+            (lambdaExpression.parentValueArgument() == null || calleeDescriptor.valueParameters.none { it.declaresDefaultValue() })
+        ) return false
 
         if (!lambdaExpression.isArgument() && calleeDescriptor is FunctionDescriptor && calleeDescriptor.overloadedFunctions().size > 1) {
             val property = lambdaExpression.getStrictParentOfType<KtProperty>()
@@ -169,7 +155,7 @@ open class ConvertLambdaToReferenceIntention(textGetter: () -> String) : SelfTar
             if (lambdaValueParameterDescriptors.size < explicitReceiverShift + callableExpression.valueArguments.size) return false
             val resolvedCall = callableExpression.getResolvedCall(context) ?: return false
             resolvedCall.valueArguments.entries.forEach { (valueParameter, resolvedArgument) ->
-                if (resolvedArgument is DefaultValueArgument && enableFunctionReferenceWithDefaultValueAsOtherType) return@forEach
+                if (resolvedArgument is DefaultValueArgument) return@forEach
                 val argument = resolvedArgument.arguments.singleOrNull() ?: return false
                 if (resolvedArgument is VarargValueArgument && argument.getSpreadElement() == null) return false
                 val argumentExpression = argument.getArgumentExpression() as? KtNameReferenceExpression ?: return false
index e4c452904994e643df72f6fad4c3df79c5d64436..c2b6b0066a2f920cf677a3addf3bc31b3a808968 100644 (file)
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.psi.psiUtil.collectDescendantsOfType
 import org.jetbrains.kotlin.psi.psiUtil.endOffset
 import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType
 import org.jetbrains.kotlin.psi.psiUtil.quoteIfNeeded
+import org.jetbrains.kotlin.renderer.DescriptorRenderer
 import org.jetbrains.kotlin.resolve.BindingContext
 import org.jetbrains.kotlin.resolve.bindingContextUtil.getTargetFunctionDescriptor
 import org.jetbrains.kotlin.resolve.calls.util.getParameterForArgument
@@ -79,6 +80,7 @@ class LambdaToAnonymousFunctionIntention : SelfTargetingIntention<KtLambdaExpres
         fun convertLambdaToFunction(
             lambda: KtLambdaExpression,
             functionDescriptor: FunctionDescriptor,
+            typeSourceCode: DescriptorRenderer = IdeDescriptorRenderers.SOURCE_CODE_TYPES,
             functionName: String = "",
             functionParameterName: (ValueParameterDescriptor, Int) -> String = { parameter, _ ->
                 val parameterName = parameter.name
@@ -87,7 +89,6 @@ class LambdaToAnonymousFunctionIntention : SelfTargetingIntention<KtLambdaExpres
             typeParameters: Map<TypeConstructor, KotlinType> = emptyMap(),
             replaceElement: (KtNamedFunction) -> KtExpression = { lambda.replaced(it) }
         ): KtExpression? {
-            val typeSourceCode = IdeDescriptorRenderers.SOURCE_CODE_TYPES
             val functionLiteral = lambda.functionLiteral
             val bodyExpression = functionLiteral.bodyExpression ?: return null