'System.nanoTime()' may be negative, so we should not use 0L as an arbitrary point in the past.
(cherry picked from commit c3433cd39bc7659b8a8e543ad2f744535ef1d220)
IJ-CR-193343
GitOrigin-RevId: b39bb299d57a2b2b5f4794adb61c438c8a0d3e5f
See IJPL-115436 for more info
(cherry picked from commit 6c300e982830c5cd70d501763daf6b2087b51c64)
GitOrigin-RevId: 5d47cdd2da551fbc44040418ff8613c4c4d4580a
Following the renaming of features to follow FUS recommendations,
the feature mapper used by our ML models no longer worked as intended,
given that most feature names have changed.
This commit introduces a temporary conversion layer that,
until new models are trained, converts the feature names
back to the old names.
(cherry picked from commit 1bf999feb62e1bbb90ca567b5fe60f672fc335e4)
IJ-CR-192893
GitOrigin-RevId: 188f66fb074f262a999d8f12fde9fd3c09a6cbd3
- firKotlinInternalUastUtils: ensure that boxed primitives and String become annotations; otherwise @Nls is missed from the analysis
- AnnotationContext: ensure symbol-based accessor methods are processed; otherwise annotations on properties are ignored
- move tests to k2
^KTIJ-32161 fixed
(cherry picked from commit 0cfbb46aae09df62b6fe5a432ca965e55ed6b5ad)
IJ-CR-192381
GitOrigin-RevId: c4295bc61abd6507622379faed2982170665f151
These changes support collecting python project dependencies from PEP
621 standard pyproject.toml locations (including dependency groups).
Also a support for tool specific keys to collect their dependencies was
added as well.
(cherry picked from commit cc376c1696b3ddd435e113cfa39b547d60f0f791)
IJ-MR-193200
GitOrigin-RevId: 6d87d4983755525322ca0a4f2c1aedc4510a817b
`startAutoImportIfNeeded` might find `pyproject.toml` in `.venv`, to fix it we now make `startVenvExclusion` `suspend` to wait for the end of exclusion process.
We also `dispose` unused model as it is required by doc.
GitOrigin-RevId: 37ff5db351a6bed839a0db5e1a26c06d2cf1a1fa
`PyProjectAutoImportService` is only automatically started by `startAutoImportIfNeeded` if `PyProjectModelSettings.getUsePyprojectToml` is enabled.
Once enabled/disabled, `PyProjectModelSettings` starts/stops `PyProjectAutoImportService`.
Also:
1. Move `PyProjectModelStartupActivity` to `askUserIfPyProjectMustBeEnabled` to make sure it is called __after__ project creation. Otherwise, it might start project import process in the middle of project creation and delete modules.
2. Make import non-suspend (no need to access IO anyway) to make sure we can call it from `PyProjectModelSettings`
GitOrigin-RevId: e9328721ad90c76d1a473cffa15c7fec2e365c9c
Add PyProjectModelSettings with persistent state for pyproject.toml
workspace configuration. Show a notification when pyproject.toml is
detected, allowing users to enable the feature or dismiss it.
Convert PythonContentEntriesConfigurable to Kotlin and guard the
checkbox with the registry flag.
# Conflicts:
# community/python/python-pyproject/src/com/intellij/python/pyproject/model/internal/AutoImportstarter.kt
GitOrigin-RevId: 4f07afe0ad1179f99c8a05f596379e83c7b299fc
`.venv` dirs are python vens and should never be edited.
(cherry picked from commit 010004d768cb27f9a9cb7e4891f2b1724e695c1e)
GitOrigin-RevId: 54c33f9c914abb913cb74d8f432f951c4c6a9fc3
We need to exclude `.venv` dirs, but this process is orthogonal to pyproject model building
(cherry picked from commit aec41ab1bf892660912053934b0579430c6b7620)
GitOrigin-RevId: 0071c4a787a0b247372df0166936417b938ac71b
Java's foldings has been duplicated on the frontend and backend sides. That leads to the race:
1. If the frontend foldings have been calculated earlier, then the backend will overwrite the frontend information about the folding. That will lead to the situation where the newly calculated frontend folding will not be in the correct collapsed state, since it will not remove the old frontend-backend folding.
2. If the backend foldings have been calculated earlier, we could fall into the situation above, but only on the decent delays.
So, the foldings should be moved to one-side-per-folding. For the simplicity the backend side (since some foldings are backend-only) has been chosen.
Also, the JBC now trusts the backend's collapsed state
(cherry picked from commit 7e31c0eb3c64a2fda26a67b6d9c21e624ef4bd9c)
IJ-MR-192582
GitOrigin-RevId: f6e154a1a45091dfd52e1b5279bd59c0c30b991c
Refactor the class along the way
Merge-request: IJ-MR-192914
Merged-by: Ilya Komolkin <Ilya.Komolkin@jetbrains.com>
GitOrigin-RevId: 2e8565d7d6673f7a0b45f08e89078163030e857b
1. `.iml` file has source `src`
2. so does the new `ModuleEntity`
3. `replaceBySource` expected to merge them, but it duplicates them instead.
We now explicilty remove duplicates
https://jetbrains.slack.com/archives/C017MGPV4S0/p1771886428685089
(cherry picked from commit e7b26125b3e39d1b603310b9c14899bd28aea2fa)
IJ-CR-193095
GitOrigin-RevId: af5940fd61994cb535c25a4c94781a6473a7554a
Apparently, the result of `createEntitySource` can't be reused.
It acts as a key in a map, so using same source for different modules breaks everything.
Test checks it, and we also need to disable external storage to store files in `.idea`
(cherry picked from commit 796b582d4d3cde9158d9fcfae910cde54886c24b)
IJ-CR-193095
GitOrigin-RevId: 8e117832070c1dff3e5ad6970908eb43208f73c4