Ilya Kirillov
7cee3dd3c5
[kotlin] implement KotlinProjectStructureProvider without using ModuleInfo
...
The implementation is based on a workspace model. It gets `WorkspaceEntity` for a `VirtualFile` and, depending on it, creates the corresponding `KaModule`. If there are multiple candidates, it chooses the one on which the use-site module depends, considering the classpath priority.
The implementations of `KaModule` are created from scratch to avoid using `ModuleInfo` inside. Instead, they store the `SymbolicEntityId` of the module.
During a transitional period, it's possible to switch to the old implementation by using the `kotlin.use.new.project.structure.provider` registry key.
Semantic changes compared to the previous `ModuleInfo`-based implementation:
- `KaLibraryModule` implementation has no dependencies. In the previous version, dependencies were computed based on the dependencies which dependent modules had. That list was incomplete and used for K1-resolution. K2 resolution does not need that info, so libraries do not have any dependencies now.
- `KaLibraryModule` is no longer split into different klib based libraries. Instead, it has a single `KaLibraryModule` module as in the project model.
- `KaLibraryModule` modules are now not deduplicated based on the same source roots. This seems to cause no performance degradation and simplifies the logic.
^KTIJ-31422 fixed
GitOrigin-RevId: 9ba6bcb6fb44cd369740577b9377096e6a80759b
2025-01-28 17:34:45 +00:00
Andrew Kozlov
4f2a80699f
[kotlin] KTIJ-28619 common module alias to replace conditional x:includes
...
GitOrigin-RevId: f3e09b7d66bb44eb139665f7207bb3fbe7a10a8d
2024-11-28 23:34:51 +00:00
Vladimir Krivosheev
ffbe7c7405
intellij.kotlin.plugin.community.main - fix scope to runtime
...
GitOrigin-RevId: e726bd2936744f33e6edece728a0eb0aac398b38
2024-11-19 10:58:35 +00:00
Dmitrii Gridin
40bd2b6622
[kotlin] drop KotlinModificationTrackerService
...
This service has been deprecated in the compiler,
so all usages should be migrated to `KotlinModificationTrackerFactory`
to reduce the number of different trackers.
`MockKotlinAsJavaSupport` has been dropped to simplify
the logic
^KTIJ-31859
GitOrigin-RevId: dfeb40d5a8139cd0c8f45a395773e231588a7a4b
2024-11-04 17:47:58 +01:00
Ilya Kirillov
caa65df10e
[kotlin] move IDEKotlinModificationTrackerService.fileModificationTracker implementation to a K1 module
...
It's used only in K1, and after KT-71781 is resolved, it should be removed from K2 completely
KTIJ-31422
GitOrigin-RevId: ffe15c8e0179745ddbacdaf22c0ac754f62bb9ad
2024-10-21 19:38:17 +00:00
Ilya Kirillov
236e8f653b
[kotlin] add an action to invalidate Kotlin plugin K2 mode resolve caches
...
^KTIJ-27430 fixed
GitOrigin-RevId: e63720f56184304af7eafc4c648b21b3054c4217
2024-10-11 18:21:20 +00:00
Dmitrii Gridin
7eeff0ea11
[kotlin] drop kotlin.fir.fir-low-level-api-ide-impl module
...
This module has only LL FIR tests which should be moved into kotlin repo
^KT-64687
GitOrigin-RevId: 43ed98859ed96d7e17e4dfc87f3106d2b95906cb
2024-10-04 16:13:40 +00:00
Anna Kozlova
7a51c30de0
[kotlin] fix configuration files format
...
GitOrigin-RevId: d804d405c233c780109d80b4685750f2e71462ca
2024-09-04 20:39:28 +02:00
Denis.Zharkov
78d5b20cd3
IJPL-160628: Replace javaslang library with io.vavr
...
Initially, the library (javaslang) was brought with
Kotlin compiler parts and now it's being updated to
its new reincarnation (vavr) which resolves
ClassLoader-related issue in the compiler (see KT-63502).
Thus, we replace it in the IJ repository, too.
GitOrigin-RevId: 4c38150565911aed57bfbf0933ac09c14a68d2fb
2024-09-04 12:10:12 +00:00
Tagir Valeev
51ad042450
[kotlin-dfa] IDEA-346653 K2: Port KotlinDfaAssistProvider
...
GitOrigin-RevId: f7ed8e79852699c5e60d712b15c65c8e4a2d345c
2024-08-02 14:52:21 +00:00
Andrey Cherkasov
5ca2c935e1
[kotlinx-serialization] Add new module for quick fixes for K2
...
^KTIJ-30282
GitOrigin-RevId: 55afae1942c93511bb937695398300700fe5e50b
2024-08-01 20:48:25 +00:00
Maksim Zuev
bbb1e0eab7
[debugger] IDEA-355866 Merge utils module into debugger-core K1
...
Merge-request: IJ-MR-140811
Merged-by: Maksim Zuev <Maksim.Zuev@jetbrains.com >
GitOrigin-RevId: b86b0b5f9ddbdeda90eac974117ce45c67245085
2024-07-24 17:15:58 +00:00
Maksim Zuev
9133bfed05
[debugger] IDEA-355866 Mark kotlin.jvm-debugger.sequence as K1 only module
...
GitOrigin-RevId: 2ffd7bcd821d3e8d28dd18b7e4a59d03d4b5f012
2024-07-24 12:53:53 +00:00
Maksim Zuev
afe1ae6a99
[debugger] IDEA-355866 Extract K1 evaluator to a separate module
...
GitOrigin-RevId: 05079803337110323749361c976138e0bfe12fae
2024-07-23 12:23:04 +00:00
Vladimir Dolzhenko
59eae184ff
[kotlin] Post split modules cleanup
...
#KTIJ-30309
GitOrigin-RevId: 91f66cf1ac5acda949f57e15a3348ec94b49884d
2024-06-24 15:27:48 +00:00
Yan Zhulanow
945c59ebb9
Merge commit 'fb0b5d95b1b945e38319a28aef9c570f84c37ce3'
...
GitOrigin-RevId: fc990f2e70fc1bdfe36c6130c87344f51a55e683
2024-06-20 23:37:03 +09:00
Vladimir Dolzhenko
3e3ed16f33
[kotlin] Split onboarding modules into common and gradle specific
...
Otherwise, onboarding would be disabled when gradle plugin is unloaded
#KTIJ-30309
GitOrigin-RevId: a7ced3d2bb9f2c40bfb47f647e63bc894eac79f3
2024-06-19 12:45:13 +00:00
Marco Pennekamp
73c042393d
[kotlin] Adapt to integration of project-structure into analysis-api and analysis-api-platform-interface
...
- Replace `project-structure` with `analysis-api` dependencies where needed as even the `KtModule` compatibility type aliases now reside in `analysis-api`, not `project-structure`. (They still have the same package, though.)
^KT-68462
GitOrigin-RevId: 112c9d5370ca2857eff5304e9ba5db37086bf93e
2024-06-18 15:49:41 +02:00
Vladimir Dolzhenko
2ff134e7ee
Merge branch 'kt-master'
...
# Conflicts:
# .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
# community/.idea/libraries/kotlinc_high_level_api.xml
# community/.idea/libraries/kotlinc_high_level_api_fe10.xml
# community/.idea/libraries/kotlinc_high_level_api_fir.xml
# community/.idea/libraries/kotlinc_high_level_api_fir_tests.xml
# community/.idea/libraries/kotlinc_high_level_api_impl_base.xml
# community/.idea/libraries/kotlinc_high_level_api_impl_base_tests.xml
# community/android/android-kotlin/idea-android/k2/src/org/jetbrains/kotlin/android/inspection/K2TypeParameterFindViewByIdInspection.kt
# community/android/android-templates/intellij.android.templates.iml
# community/android/compose-designer/src/com/android/tools/idea/compose/annotator/SpringPickerLineMarkerProvider.kt
# community/android/compose-designer/src/com/android/tools/idea/compose/pickers/preview/utils/KotlinUtils.kt
# community/android/compose-designer/src/com/android/tools/idea/compose/pickers/spring/model/SpringPickerPropertiesModel.kt
# community/android/compose-ide-plugin/compiler-hosted-src/androidx/compose/compiler/plugins/kotlin/lower/IrSourcePrinter.kt
# community/android/compose-ide-plugin/src/com/android/tools/compose/ComposeColorLineMarkerProviderDescriptor.kt
# community/android/compose-ide-plugin/src/com/android/tools/compose/ComposePluginUtils.kt
# community/android/compose-ide-plugin/src/com/android/tools/compose/debug/ComposeFunctionBreakpointType.kt
# community/android/project-system-gradle/src/com/android/tools/idea/run/configuration/AndroidBaselineProfileRunLineMarkerContributor.kt
# community/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt
# community/plugins/dev/intellij.kotlin.dev/src/internal/KotlinGoodCodeRedVisitor.kt
# community/plugins/devkit/intellij.kotlin.devkit/src/inspections/ForbiddenInSuspectContextMethodInspection.kt
# community/plugins/devkit/intellij.kotlin.devkit/src/inspections/KtAppServiceAsStaticFinalFieldOrPropertyProvider.kt
# community/plugins/devkit/intellij.kotlin.devkit/src/inspections/KtCallingFunctionShouldBeRequiresBlockingContextVisitorProvider.kt
# community/plugins/devkit/intellij.kotlin.devkit/src/inspections/UsePlatformProcessAwaitExitInspection.kt
# community/plugins/kotlin/base/analysis-api/analysis-api-utils/src/org/jetbrains/kotlin/idea/base/analysis/api/utils/CallParameterInfoProvider.kt
# community/plugins/kotlin/base/analysis-api/analysis-api-utils/src/org/jetbrains/kotlin/idea/base/analysis/api/utils/KtSymbolFromIndexProvider.kt
# community/plugins/kotlin/base/analysis-api/analysis-api-utils/src/org/jetbrains/kotlin/idea/base/analysis/api/utils/resolveUtils.kt
# community/plugins/kotlin/base/code-insight/src/org/jetbrains/kotlin/idea/base/codeInsight/ExpectedExpressionMatcher.kt
# community/plugins/kotlin/base/code-insight/src/org/jetbrains/kotlin/idea/base/codeInsight/KotlinCallProcessor.kt
# community/plugins/kotlin/base/code-insight/src/org/jetbrains/kotlin/idea/base/codeInsight/KotlinNameSuggester.kt
# community/plugins/kotlin/base/fir/analysis-api-platform/kotlin.base.fir.analysis-api-platform.iml
# community/plugins/kotlin/base/fir/analysis-api-platform/test/org/jetbrains/kotlin/idea/base/fir/analysisApiPlatform/modificationEvents/KotlinModuleOutOfBlockModificationTest.kt
# community/plugins/kotlin/base/fir/analysis-api-platform/test/org/jetbrains/kotlin/idea/base/fir/analysisApiPlatform/sessions/CyclicDependenciesSymbolResolutionTest.kt
# community/plugins/kotlin/base/scripting/src/org/jetbrains/kotlin/idea/core/script/scriptUtils.kt
# community/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicable/ContextProvider.kt
# community/plugins/kotlin/code-insight/api/src/org/jetbrains/kotlin/idea/codeinsight/api/applicators/fixes/KotlinApplicatorBasedQuickFix.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/ActualAnnotationsNotMatchExpectFixFactory.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/AddDataModifierFixFactory.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/AddSuspendModifierFixFactory.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/ChangeTypeQuickFixFactories.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/InsertDelegationCallFixFactory.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/SuperClassNotInitializedFactories.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/WrapWithSafeLetCallFixFactories.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/WrongPrimitiveLiteralFix.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/imprt/ClassifierImportCandidatesProvider.kt
# community/plugins/kotlin/code-insight/fixes-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/fixes/imprt/ImportQuickFix.kt
# community/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeInsight/IfThenTransformationUtils.kt
# community/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeInsight/KotlinSuperDeclarationsInfoService.kt
# community/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeInsight/KotlinTypeDeclarationProvider.kt
# community/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/JavaArgumentNameCommentUtils.kt
# community/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/StringTemplateUtils.kt
# community/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/codeinsights/impl/base/intentions/RemoveArgumentNamesUtils.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/JoinDeclarationAndAssignmentInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/RemoveToStringInStringTemplateInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/ReplaceGetOrSetInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/SelfAssignmentInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/UsePropertyAccessSyntaxInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/dfa/KotlinConstantConditionsInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/dfa/KotlinFunctionCallInstruction.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/dfa/KtControlFlowBuilder.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/dfa/KtDfaHelpers.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/dfa/KtVariableDescriptor.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/dfa/SmartCastHelpers.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/ReplaceCallWithBinaryOperatorInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/ReplaceSizeCheckInspectionBase.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/expressions/WhenWithOnlyElseInspection.kt
# community/plugins/kotlin/code-insight/inspections-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/inspections/jdk2k/Transformation.kt
# community/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/RedundantSuspendModifierInspection.kt
# community/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/RedundantValueArgumentInspection.kt
# community/plugins/kotlin/code-insight/inspections-shared/src/org/jetbrains/kotlin/idea/codeInsight/inspections/shared/RemoveEmptyParenthesesFromLambdaCallInspection.kt
# community/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ConvertLambdaToReferenceIntention.kt
# community/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportAllMembersIntention.kt
# community/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ImportMemberIntention.kt
# community/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/RemoveExplicitTypeIntention.kt
# community/plugins/kotlin/code-insight/intentions-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/intentions/ReplaceUnderscoreWithTypeArgumentIntention.kt
# community/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/hints/KtParameterHintsProvider.kt
# community/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/hints/KtReferencesTypeHintsProvider.kt
# community/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/hints/KtValuesHintsProvider.kt
# community/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinDocumentationTarget.kt
# community/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickDoc/KotlinIdeDeclarationRenderer.kt
# community/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickFixes/createFromUsage/CreateKotlinCallableActionTextBuilder.kt
# community/plugins/kotlin/code-insight/kotlin.code-insight.k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/quickFixes/createFromUsage/K2CreateFunctionFromUsageUtil.kt
# community/plugins/kotlin/code-insight/line-markers/src/org/jetbrains/kotlin/idea/codeInsight/lineMarkers/KotlinRecursiveCallLineMarkerProvider.kt
# community/plugins/kotlin/code-insight/live-templates-k2/src/org/jetbrains/kotlin/idea/liveTemplates/k2/macro/SymbolBasedAnonymousSuperMacro.kt
# community/plugins/kotlin/code-insight/postfix-templates/src/org/jetbrains/kotlin/idea/codeInsight/postfix/KotlinTryPostfixTemplate.kt
# community/plugins/kotlin/code-insight/postfix-templates/src/org/jetbrains/kotlin/idea/codeInsight/postfix/KotlinWhenPostfixTemplate.kt
# community/plugins/kotlin/code-insight/structural-search-k2/src/org/jetbrains/kotlin/idea/k2/codeinsight/structuralsearch/KotlinStructuralSearchUtil.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/EmptinessCheckFunctionUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/FoldIfOrWhenToFunctionCallUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/ImplicitThisUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/InlineUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/InsertExplicitTypeArgumentsUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/KotlinPsiUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/NamedArgumentUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/TypeParameterUtils.kt
# community/plugins/kotlin/code-insight/utils/src/org/jetbrains/kotlin/idea/codeinsight/utils/TypeUtils.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/Completions.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/KotlinFirCompletionContributor.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/FirCallableCompletionContributor.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/FirClassifierCompletionContributor.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/FirNamedArgumentCompletionContributor.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/FirWhenWithSubjectConditionContributor.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/helpers/CallableMetadataProvider.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/contributors/helpers/FirSuperEntriesProvider.kt
# community/plugins/kotlin/completion/impl-k2/src/org/jetbrains/kotlin/idea/completion/impl/k2/weighers/ExpectedTypeWeigher.kt
# community/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinHighLevelTypeArgumentInfoHandler.kt
# community/plugins/kotlin/fir/src/org/jetbrains/kotlin/idea/parameterInfo/utils.kt
# community/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/KotlinCallHighlighterExtension.kt
# community/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/KotlinDiagnosticHighlightVisitor.kt
# community/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/KotlinUnusedSymbolUtil.kt
# community/plugins/kotlin/highlighting/highlighting-k2/src/org/jetbrains/kotlin/idea/highlighting/highlighters/FunctionCallHighlighter.kt
# community/plugins/kotlin/highlighting/highlighting-k2/test/org/jetbrains/kotlin/idea/k2/highlighting/AbstractK2HighlightingMetaInfoWithExtensionTest.kt
# community/plugins/kotlin/injection/k2/src/org/jetbrains/kotlin/idea/k2/injection/K2KotlinLanguageInjectionContributor.kt
# community/plugins/kotlin/intellij.kotlin.plugin.community.main.iml
# community/plugins/kotlin/jvm-debugger/core-fe10/src/org/jetbrains/kotlin/idea/debugger/stepping/smartStepInto/CallableMemberInfo.kt
# community/plugins/kotlin/jvm-debugger/core/src/org/jetbrains/kotlin/idea/debugger/core/KotlinPositionManager.kt
# community/plugins/kotlin/jvm-debugger/coroutines/src/org/jetbrains/kotlin/idea/debugger/coroutine/KotlinVariableNameFinder.kt
# community/plugins/kotlin/jvm-debugger/evaluation/kotlin.jvm-debugger.evaluation.iml
# community/plugins/kotlin/jvm-debugger/evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/kotlinExpressionWrappers.kt
# community/plugins/kotlin/k2-fe10-bindings/src/org/jetbrains/kotlin/idea/fir/fe10/KtSymbolBasedKotlinTypes.kt
# community/plugins/kotlin/k2-fe10-bindings/src/org/jetbrains/kotlin/idea/fir/fe10/binding/Fe10BindingScopeProvider.kt
# community/plugins/kotlin/k2-fe10-bindings/src/org/jetbrains/kotlin/idea/fir/fe10/binding/MiscBindingContextValueProvider.kt
# community/plugins/kotlin/k2-fe10-bindings/src/org/jetbrains/kotlin/idea/fir/fe10/binding/ResolvedCallWrappers.kt
# community/plugins/kotlin/k2-fe10-bindings/src/org/jetbrains/kotlin/idea/fir/fe10/binding/ToDescriptorBindingContextValueProviders.kt
# community/plugins/kotlin/kotlin.performanceExtendedPlugin/kotlin.performanceExtendedPlugin.iml
# community/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/inheritors/DirectKotlinClassInheritorsSearcher.kt
# community/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/usages/KotlinK2FindUsagesSupport.kt
# community/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/usages/KotlinK2SearchUsagesSupport.kt
# community/plugins/kotlin/kotlin.searching/src/org/jetbrains/kotlin/idea/searching/usages/findUsagesUtils.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.common/src/org/jetbrains/kotlin/idea/refactoring/rename/AutomaticOverloadsRenamer.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/changeSignature/KotlinChangeSignatureUsageSearcher.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/changeSignature/KotlinParameterInfo.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/changeSignature/KotlinTypeInfo.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/changeSignature/quickFix/ChangeParameterTypeFixFactory.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/changeSignature/quickFix/ChangeSignatureFixFactory.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/changeSignature/usages/KotlinFunctionCallUsage.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/extractFunction/Parameter.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/extractFunction/parametersUtil.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/inline/codeInliner/CodeInliner.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/inline/codeInliner/InlinePreprocessorUtil.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/K2SemanticMatcher.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/extractionEngine/ExtractionDataAnalyzer.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduce/extractionEngine/KotlinTypeDescriptor.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/introduceParameter/KotlinFirIntroduceParameterHandler.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/util/ConvertReferenceToLambdaUtil.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/util/RedundantExplicitTypeArgumentsUtil.kt
# community/plugins/kotlin/refactorings/kotlin.refactorings.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/utils.kt
# community/plugins/kotlin/refactorings/rename.k2/src/org/jetbrains/kotlin/idea/k2/refactoring/rename/renameConflictUtils.kt
# community/plugins/kotlin/uast/uast-kotlin-fir/src/org/jetbrains/uast/kotlin/FirKotlinUastResolveProviderService.kt
# community/plugins/kotlin/uast/uast-kotlin-fir/src/org/jetbrains/uast/kotlin/internal/firKotlinInternalUastUtils.kt
# community/plugins/kotlin/util/project-model-updater/src/org/jetbrains/tools/model/updater/kotlincLibraries.kt
# fleet/plugins/mercury/backend/compose.plugin/src/org/jetbrains/compose/codeInsight/Common.kt
# fleet/plugins/mercury/backend/src/fleet/backend/mercury/compose/resources/ComposeResourcesUtils.kt
# plugins/frameworks/exposed/exposed-core/src/com/intellij/exposed/utils/ExposedAnalyzerUtils.kt
# plugins/frameworks/ktor/ktor-starter/src/io/ktor/ide/utils/KotlinResolve.kt
GitOrigin-RevId: 00a6e6be4d6f36368bf5b6e649eb209d83da38d2
2024-06-14 07:11:00 +02:00
Nikita Biriukov
4a0e4afcf7
[gradle][kotlin] IDEA-316453 fix KotlinModuleConsistencyTest
...
`intellij.kotlin.plugin.community.main` must depend on `kotlin.gradle.code-insight-toml`
GitOrigin-RevId: 9f4efa3050eea0ef0f2d62f85928263b75bfcd0e
2024-06-06 14:51:10 +00:00
Yan Zhulanow
34b2deff24
[kotlin] Rename Analysis API libraries
...
Rename the Analysis API libraries in the project structure to match new artifact names.
^KT-65849
GitOrigin-RevId: 5a1a276b6549e72728a1fb293f355a3bd9ca4f8b
2024-06-05 11:34:19 +00:00
Marco Pennekamp
7ff3e31c81
[kotlin] Rename IJ *.analysis-api-providers modules to *.analysis-api-platform
...
- `kotlin.base.*.analysis-api-providers` is the Kotlin IDE implementation of the Analysis API platform interface, whose module was renamed in a previous commit. Hence, we should also rename the IJ modules.
- The name `analysis-api-platform` was chosen, in contrast to `analysis-api-platform-interface`, because these modules constitute an Analysis API platform, which is an *implementation of* the platform interface.
^KT-65215
GitOrigin-RevId: f5375d54a96cbb425cbd5b2af135194043407119
2024-06-04 14:10:40 +02:00
Marco Pennekamp
67a5286ee7
[kotlin] Adapt to rename of analysis-api-providers to analysis-api-platform-interface
...
^KT-65215
GitOrigin-RevId: 3257292de3245d7ace568560a5526f84d16267ad
2024-06-04 14:10:39 +02:00
Nikolay Chashnikov
be4a545844
reorder dependencies in *.main modules to ensure that 'intellij.platform.bootstrap' comes first in the classpath (IJPL-986)
...
This is needed to ensure that 'intellij.platform.bootstrap.coroutine' comes before kotlin-stdlib, so it properly overrides DebugProbesKt class, and coroutines dumps work if the IDE or tests are started without packing modules to JARs and without explicitly specified coroutines agent.
GitOrigin-RevId: 0c59adc46c2a80e14eafdd7bdfe70ac5c0cf995b
2024-05-15 12:05:50 +00:00
Anna Kozlova
01057df1cc
[kotlin] k2: merge introduce variable module with other refactorings
...
- otherwise classes are loaded twice
^KTIJ-29812 fixed
GitOrigin-RevId: 472c9f2476d57862b811f3485dfbb7b8ebfce3ad
2024-05-03 22:37:48 +00:00
Bart van Helvert
9652c5a2f1
[kotlin] Move K2 fixes into a new module
...
GitOrigin-RevId: e8001ccd6e80b535ae165acba449d6b16cd27910
2024-03-13 00:27:06 +00:00
Mikhail Shagvaliev
930a5c3beb
[qodana] QD-8218 Add kotlin.jsr223 module – to extract common logic of kotlin plugin(repl module) and scripting plugin
...
(cherry picked from commit 3b3921917c7b759f1a870c2f29f2e43ee6663db0)
IJ-CR-126053
GitOrigin-RevId: 26b32239a7c34aa71ed9bf7a5a1635537890fe27
2024-03-08 11:15:05 +00:00
Alexey Belkov
827a8b60d9
[kotlin] J2K: rename module kotlin.j2k.k1.shared" to "kotlin.j2k.shared"
...
This module will contain all code that can be shared between K1 (old/new) and K2 J2K.
KTIJ-28529
GitOrigin-RevId: c9984fafbac199a858956ac4a3c6728289114c4d
2024-02-22 20:37:02 +00:00
Alexey Belkov
61526cdc74
[kotlin] J2K: create a stub K2 J2K module
...
Create a K2 implementation of J2kConverterExtension
and adjust other infrastructure.
KTIJ-28529
GitOrigin-RevId: b5e56343ed865ea40c055260e269d77261e357d8
2024-02-22 20:36:59 +00:00
Vladimir Dolzhenko
2c5a48c4d7
[kotlin] Align k2 module names with naming convention
...
#KTIJ-28562
GitOrigin-RevId: 689120c48d4ff0a8b0acba381a0da24ec8992c3d
2024-01-23 17:52:15 +00:00
Alexey Belkov
7d321928c6
[kotlin] J2K: rename module "kotlin.j2k.old" to "kotlin.j2k.k1.old"
...
KTIJ-28473
GitOrigin-RevId: 76223e85d96dad92d8dd4c97ed13d4642276b4fd
2024-01-16 15:00:33 +00:00
Alexey Belkov
cd501f2477
[kotlin] J2K: rename module "kotlin.j2k.old.post-processing" to "kotlin.j2k.k1.old.post-processing"
...
KTIJ-28473
GitOrigin-RevId: caeba90d63cd7e8c2df7414e979f1ca046a08b95
2024-01-16 15:00:19 +00:00
Alexey Belkov
a5ad058fb1
[kotlin] J2K: rename module "kotlin.j2k.new" to "kotlin.j2k.k1.new"
...
KTIJ-28473
GitOrigin-RevId: ff38e4c4a71e1976ee098e5d8d5ada96f78c2573
2024-01-16 15:00:11 +00:00
Alexey Belkov
5307389992
[kotlin] J2K: rename module "kotlin.j2k.post-processing" to "kotlin.j2k.k1.new.post-processing"
...
KTIJ-28473
GitOrigin-RevId: de3c122c319de86f48335084c45c0be31b70b88d
2024-01-16 14:59:56 +00:00
Alexey Belkov
2107b812e6
[kotlin] J2K: rename module "kotlin.j2k.common" to "kotlin.j2k.k1.shared"
...
KTIJ-28473
GitOrigin-RevId: 9839816ab6cfc5850353049ebc68a1406242bf47
2024-01-16 14:59:49 +00:00
Alexey Belkov
d5e542f6f4
[kotlin] J2K: Extract a common module between old and new J2K
...
* Break the dependency of new J2K modules on old J2K modules
* Remove "kotlin.j2k.idea" module as redundant
* ...
^KTIJ-28473 Fixed
GitOrigin-RevId: acd421b96d6d6c0099cf2d29e150268d8dd08134
2024-01-16 14:59:42 +00:00
Anna Kozlova
70910a1bf9
[kotlin] extract frontend agnostic kotlin.ide module
...
it supposed to contain ide/ui specific actions which are shared between k1 and k2
part of KTIJ-28142
GitOrigin-RevId: 9ee0d5808a80ab36d9c0aa4176a1633f48e482c4
2024-01-12 20:55:16 +00:00
Anna Kozlova
c197e8472b
[kotlin]: extract formatter.minimal module for remote-dev
...
RDCT-828
GitOrigin-RevId: 457b8ebf599c61b852ed0b545664caa7d7eee68e
2023-12-21 19:27:07 +00:00
Roman Golyshev
245d4e4f20
KTIJ-23992 [kotlin] Rename allopen.common to allopen.common-k1
...
This better reflects the fact that all the services
from that module are actually strictly for K1
Note how the common module was not actually
used by corresponding `gradle` or `maven`
modules, so its common-ness is more about
plugin support required both for Gradle
and Maven projects
Also rename the test module because it seems
to be K1-specific also
This was a "low-hanging fruit" rename; the other
modules in the compiler plugins support are
more convoluted and require more work to be
properly organized
GitOrigin-RevId: 3f071ea918890a3f576d4e3f5a7fee7ee34bfecf
2023-12-14 11:42:52 +00:00
Anna Kozlova
c1bf96bd02
[kotlin] extract modules in preparation for kotlin specific features on remote-dev client
...
- `code-insight-minimal` and `highlighting-minimal` added
- `line-indent-provider` removed
- add dependency on `platform.lang.impl` explicitly where needed
RDCT-828
GitOrigin-RevId: 21c2e18e038641dbbeef21ab70c651cfb7c38351
2023-12-13 12:06:59 +00:00
Frederik Haselmeier
af07791174
[kotlin] Added Kotlin onboarding state to track new Kotlin users
...
^KTIJ-26957 fixed
Merge-request: IJ-MR-115198
Merged-by: Frederik Haselmeier <Frederik.Haselmeier@jetbrains.com >
GitOrigin-RevId: 8ce86d044e56c20fee480712693cb16699538f7d
2023-10-23 10:22:53 +00:00
Ilya Kirillov
a8c9fa047f
[kotlin] adapt project model changes in injection modules
...
^KTIJ-21127
GitOrigin-RevId: fcc2b5f66fd0336bdbcd6aeb382eb6b0c48370a3
2023-10-11 09:13:44 +00:00
Justin Paupore
33c566fc43
[kotlin] Port NamingConventionInspections to K2
...
Port the inspections in NamingConventionInspections to K2. The bulk of
these inspections are PSI-only, but FunctionNameInspection requires
resolve, so it has been split into a base class to handle the PSI-only
portions of the inspection, and two concrete implementations (one each
for K1 and K2), to handle the analysis.
To more cleanly distinguish between ported and unported inspections, add
an inspections-k1 module to accompany inspections-shared and
inspections-k2.
^KTIJ-22913 Fixed
GitOrigin-RevId: 14572f52efba68406394c41503af241da85e18c9
2023-09-21 16:32:23 +00:00
Pavel Kirpichenkov
2b2021cb29
[Kotlin] KTIJ-26526 Move K/N decompilers and stub builders to kotlin.git
...
GitOrigin-RevId: f752104548589cae46942e12ad708f372d8ddcf7
2023-08-23 07:52:46 +00:00
Roman Golyshev
a89b802b06
KTIJ-26685 [kotlin] Create a separate kotlin.code-insight.k1 module
...
Move K1OptimizeImportsFacility implementation there
GitOrigin-RevId: d19a573a35e771cb0a67baeb131622ceda2ae921
2023-08-17 14:13:57 +00:00
Vladimir Dolzhenko
d920606d1a
[kotlin] Regroup highlighting modules, p.2
...
GitOrigin-RevId: 01caec663d11e19deec0e0e71072376ef5588367
2023-08-15 04:13:16 +00:00
Vladimir Dolzhenko
212b4c1a47
[kotlin] Regroup highlighting modules
...
GitOrigin-RevId: 85a48fd2aec4fb321cec2d0c24d032274dc98b28
2023-08-02 07:43:51 +00:00
Marco Pennekamp
7cbf567b5f
[kotlin] KT-58257 Establish an order between library info cache and module state modification workspace model listeners
...
This commit fixes two problems:
1. Previously, it wasn't guaranteed that `LibraryInfoCache` would be the last component to receive "before change" events. If, for example, `KotlinModuleStateModificationService` receives the event after `LibraryInfoCache`, a situation as outlined in `FirOrderedWorkspaceModelChangeListener` might occur. The ordered workspace model change listener avoids this, because it is registered as a single listener and delegates the events to the other components in a clear order.
2. Previously, `LibraryInfoCache` couldn't be accessed for the first time from a workspace model listener (such as the listener in `KotlinModuleStateModificationService`), because this could lead to cache inconsistencies.
- Reason: Subscribing to workspace model events (during initialization from first-time access) while a workspace model event is being processed means that that event won't be propagated to the new subscription. Hence, for exactly that event, `LibraryInfoCache` would not be invalidated, as its workspace model listener wouldn't be called, leading to a cache entry whose changes weren't picked up.
- In more detail:
1. A root "before change" event for a library `L1` is published.
2. `KotlinModuleStateModificationService` calls `LibraryInfoCache` with `L1`.
3. `LibraryInfoCache` is initialized, the workspace model subscription is initialized, and `L1` is added to the cache with the root BEFORE the change because the event is a "before change" event.
4. The root change event skips `LibraryInfoCache`'s listener because the subscription was added during the event handling.
5. `L1` is still part of the cache, but now `LibraryInfoInnerCache.cache` contains a library `L1` with the new root (once the `LibraryBridge` has been updated), while `deduplicationCache` still contains the old root.
- The solution is quite simple: the workspace model listener has to be registered before events might need to be handled. The combined listener is registered via XML, which guarantees this.
GitOrigin-RevId: f31e7bda0ed1e7b9ea4aaebad757db6af54d4d8b
2023-07-31 15:58:31 +00:00
Anna Kozlova
9723823ff1
[kotlin] support properties completion without extensions (KTIJ-26414)
...
GitOrigin-RevId: ef500abbe0df20e46c9b80df6417ebb51388b2fc
2023-07-28 12:58:34 +00:00
Andrey Cherkasov
aec4f8719d
FIR IDE: Implement introduce variable refactoring
...
^KTIJ-21135
GitOrigin-RevId: 2fbb39691414f3424e23e0b37656d0a86b355a61
2023-06-29 11:47:58 +00:00