Commit Graph

457761 Commits

Author SHA1 Message Date
Sergey Pak
9bad0dcd78 Port IJPL-156591 to 243 (solves IJPL-171891)
Original MR to master: https://code.jetbrains.team/p/ij/repositories/ultimate/reviews/147074/timeline

Merge-request: IJ-MR-150150
Merged-by: Sergey Pak <Sergey.Pak@jetbrains.com>

GitOrigin-RevId: b333a198101a5c624b60033a3965d0458ad75177
2024-11-26 17:30:10 +00:00
Aleksandr Sorotskii
c45fbf5a97 fixup npe on additional data; #PY-76613 Fixed
(cherry picked from commit d287d9e07fe024e73551c3ff6e358be291cdc1fe)

IJ-MR-148504

GitOrigin-RevId: 79708c40ff115d77e253fb0095e3b1fa5bbc1d82
2024-11-26 17:12:55 +00:00
Alexey Utkin
309d62ea8c move editor copy/cut/etc providers to BasicUiDataRule (#2)
(cherry picked from commit d53231f7af458fa4922a183aa2ec4b6aa0cc8d58)

IJ-CR-148949

GitOrigin-RevId: 7c8c369721bfaad8f2b5f386f443ffbe7051ced7
2024-11-26 17:01:16 +00:00
Gregory.Shrago
9af29195d3 move editor copy/cut/etc providers to BasicUiDataRule
To allow outer panels to override editor copy/cut/paste/delete providers via rules.

For LLM-12619.


(cherry picked from commit 33a4233949332ba14aea2eb34c37882894798368)

IJ-CR-148949

GitOrigin-RevId: 32aee37f03f901139765ddbc03de4f3154bbc943
2024-11-26 17:01:16 +00:00
Aleksey Pivovarov
86652a6d7f IJPL-160901 IJPL-164346 platform: add fallback for the old 'checkUnloadPlugin' implementations
(cherry picked from commit 56adf5b11d7881191be0fd5992082303ca9e0a5f)

IJ-CR-150055

GitOrigin-RevId: 9ce0f279a663009d798cda949027840bb4348c43
2024-11-26 16:33:50 +00:00
Aleksey Pivovarov
b4671a4ba6 IJPL-160901 IJPL-164346 platform: migrate 'checkUnloadPlugin' usages
(cherry picked from commit deafeb85d62fbd9b3ec255c024c7c6f88f33ab7f)

IJ-CR-150055

GitOrigin-RevId: e7c5497ba5b7eb06eaf431939d315a837d210b1d
2024-11-26 16:33:50 +00:00
Ilya.Kazakevich
a501d4c5b2 PY-77483: Welcome screen size: make customizable
In PyCharm we need to make it larger, so we extract it to the registry


(cherry picked from commit 9cba69d6efdb40a69ed01c0c1412737bb83709ee)

IJ-CR-150247

GitOrigin-RevId: 15e541e9c8e37143c0e31be38ad819cd67172918
2024-11-26 15:36:29 +00:00
Egor.Skrypnikov
1749944260 [Rider] IJ-CR-150167 Stats and a little more fixes
(cherry picked from commit b6101d5a2567c30f7cd3db359dd128bc757054b1)

IJ-CR-150213

GitOrigin-RevId: ebaf945f6a48cfc8a8e22436fa8993830ec571c5
2024-11-26 13:33:23 +00:00
Tagir Valeev
300adf91fc [java-inspections] IDEA-363792 Incorrect inspection suggestion to replace 0.0/0.0 with 1.0
(cherry picked from commit 72ea479f6b2c3a331685175b11459556ae0a29bf)

IJ-CR-150124

GitOrigin-RevId: 842566d57921ebcbe355cab6c17a6a09f08d486a
2024-11-26 12:30:58 +00:00
Alexander Bubenchikov
e48ed52bd5 [maven][IDEA-363195] resolve maven projects in specific embedder
(cherry picked from commit ed3b85ff56fa7d2513cd524be778fe10855cfedf)

Reviewed-by: IJ-CR-149760

GitOrigin-RevId: 053cd10a33aaedc37545fd17183000e32c7a8f7e
2024-11-26 10:46:32 +00:00
Victor Turansky
7a2e87e8e7 WEB-67146 Hide "Module" scope option from "Find in Files" popup for WebStorm
Merge-request: IJ-MR-148931
Merged-by: Victor Turansky <victor.turansky@jetbrains.com>

(cherry picked from commit 8011960cf942f31f7e54e14996eb5ec2e7891903)

IJ-CR-149295

GitOrigin-RevId: 5b4c3d6ac3de142bda82ec41adf79e7a23a2cb66
2024-11-26 10:43:45 +00:00
Sergei Tachenov
f8e2e52823 IJPL-164502 Fix restoring maximized state on Sequoia
The cause: setting extendedState to maximized
has the same effect as option-clicking the green button.
Which, on Sequoia, actually un-maximizes the window
if it's already maximized. Whether it's maximized or not
is determined by its size alone. If there's no "normal"
size to restore, then macOS just makes up one,
slightly less than the screen size.

This leads to a bug when the saved size happens to be
the same as the maximum one, which happens quite often.
Then the size is restored, and when extendedState is set,
it makes the frame smaller than it should be.

The fix: if the saved state is maximized, do not restore
the saved size, but instead restore some size that's
smaller than the current screen. For this we introduce
an extra parameter to setDefaultSize(), so we can
specify the exact screen (determined by the saved location).
This way setting extendedState works as expected,
maximizing the frame.

To prevent setExtendedState() from saving this fake
size as the "normal" one, swap restoring the state
and restoring the normal bounds in create():
now we restore the state first, and then apply
the normal bounds, overwriting whatever setExtendedState()
could have saved there.


(cherry picked from commit 4f190f6ce5b9d7c5dc52f11abbee4fde53a135b4)

IJ-CR-149074

GitOrigin-RevId: d184fb0dff15f7b3f10e94fbddd476a4d3e03cfe
2024-11-26 08:53:55 +00:00
Mikhail Golubev
19a768b4d7 PY-77490 Evaluate language level only once per CFG traversal during name resolution
(cherry picked from commit 6c2a3d6eec7def72340feed8ae0ae2d6b54af6ff)

IJ-CR-149696

GitOrigin-RevId: 14edaf0fa2c49d69aa8d96883dc8b02dec7197e3
2024-11-25 22:38:29 +00:00
Mikhail Golubev
9d2070052f PY-77490 Inline private PyDefUseUtil.getLatestDefs to have access to the reference anchor element
(cherry picked from commit 0eecf0ffb305ab17d5758f20b44c4f2791ab0b02)

IJ-CR-149696

GitOrigin-RevId: 8efb9c569ea8c4c00226d3b4307ff5602f782098
2024-11-25 22:38:29 +00:00
Mikhail Golubev
b853978e3e PY-77490 Make sure PyDefUseUtil.getLatestDefs always accepts a non-null anchor
(cherry picked from commit e0ed8cedaffa90c259f4fd0cf8758e42face847b)

IJ-CR-149696

GitOrigin-RevId: 7a90e82dc6bc86fa5d5eae98951e90d13b445a15
2024-11-25 22:38:29 +00:00
Mikhail Golubev
bb5e98a07d PY-77490 Infer nullability annotations in PyDefUseUtil
(cherry picked from commit f993806b3d199160b8a18117fc6b473e52db13bb)

IJ-CR-149696

GitOrigin-RevId: 773c097981921257681a67c58fd6ba2190a3a9c2
2024-11-25 22:38:29 +00:00
Mikhail Golubev
535af53f05 PY-77168 Allow flow-sensitive resolve from unmatched version checks to reachable outer blocks
Also, don't query LanguageLevel for each element of each instruction,
only once per scope traversal.

This doesn't fix the problem with unreachable definition *inside* blocks under
unmatched version checks, i.e.

if sys.version_info < (3, 8):
    Alias = int
    expr: Alias # unresolved

but it's a more difficult problem how to handle those consistently with the idea
of unreachable version checks under the *current* interpreter version, and hopefully
it occurs rarer than, say, unresolved top-level imports of common names from typing.

(cherry picked from commit 55fd4597c6d0860d290caba15fbf4d313e985a86)

IJ-CR-149696

GitOrigin-RevId: 357ada7e10618aef75c470e6cd878f7672109e83
2024-11-25 22:38:29 +00:00
Petr
22cae80f9d PY-76076 Use proper python version for pyi files to evaluate version guards (PyDefUseUtil).
(cherry picked from commit cc6529de62f7c687c606697b9207170b7903f96d)

IJ-MR-147937

GitOrigin-RevId: 32b1f2d47fecc5592e5b93265c195ca3051497b9
2024-11-25 22:38:29 +00:00
Mikhail Golubev
3fdadc1b6b PY-40458 Use overridden method's return type for overrides only if both are async or synchronous
Because async generator methods in ABC and protocols are supposed to be declared as
plain "def" methods so as not to confuse type checkers with their AsyncIterable
return type annotations, it's better to disable such type-hint re-use if methods
async-ness don't match and not wrap anything in typing.Coroutine implicitly.

See also https://mypy.readthedocs.io/en/stable/more_types.html#asynchronous-iterators

(cherry picked from commit 6342f15a7786ec0d02ee1ab2b18fd40fd1ca1430)

IJ-CR-149694

GitOrigin-RevId: 3e19f190d9334e6c8648462ebb5b61abe931b0e6
2024-11-25 22:38:29 +00:00
Mikhail Golubev
fae8df34f4 PY-36416 Don't wrap return types of overridden async methods in Coroutine twice
(cherry picked from commit 48d01bedeb62d1a232704e58a3f39e3a7d543d2d)

IJ-CR-149694

GitOrigin-RevId: e431744a18f2b9d2976de7ee12888961e22f2298
2024-11-25 22:38:29 +00:00
Ruslan Cheremin
40f8f30b67 [vfs][fixup] PY-77389: use defaultContentLoadLimit for VCS
- `FileSizeLimit.getDefaultContentLoadLimit()` should be used in VCS instead of `PersistentFSConstants.MAX_FILE_LENGTH_TO_CACHE`

(cherry picked from commit 53ed1545fdf4437cbee5a9b2b0116e65d65d0ad0)


(cherry picked from commit 2dc43bf985655785267d2e98876511cac1e0ec4f)

IJ-CR-150186

GitOrigin-RevId: de307ec46d2ade1a3c229273c2e0518aabd23bb9
2024-11-25 22:15:19 +00:00
Ruslan Cheremin
3d72536a74 [vfs][refactoring] PY-77389: extract VFS content caching limit into dedicated constant
`FileUtilRt.LARGE_FOR_CONTENT_LOADING` was used in 2 roles: as just 'big file, load with caution', and also 'do not cache file content in VFS' -- but those roles are quite different really, and should not be mixed =>
- `PersistentFSConstants.MAX_FILE_LENGTH_TO_CACHE` is now the limit for VFS caching: default value 1Mb, `-Didea.vfs.max-file-length-to-cache=...` to override
- `FileUtilRt.LARGE_FOR_CONTENT_LOADING` is still used for everything else

(cherry picked from commit f7642bf36cba9984f5a6438c88fcecbe769335a8)


(cherry picked from commit 77ef2bc348054154fba9b612f75bcc41ac880f64)

IJ-CR-150186

GitOrigin-RevId: e8a95f377142a793f171d5ba055ab54dc9bc3d6c
2024-11-25 22:15:19 +00:00
Ruslan Cheremin
baad7297be [vfs] PY-77389: limit max file size to store in VFS cache
+ previously we limited max file size to cache _on_load -- but not on save, so if huge file is !readOnly, its saving could easily overflow VFSContentStorage -> now all ways to VFSContentStorage have same limits

(cherry picked from commit 0a5e639f35ae41901a7312d25e2e33be49aa4e97)


(cherry picked from commit 61ba8143c82cf1f32c7ae8d1d82e00505b7f91b0)

IJ-CR-150186

GitOrigin-RevId: c8161c5b36cdcbe0b441b5e85b4268f42d9854a6
2024-11-25 22:15:18 +00:00
Timur Malanin
329fa5cf88 PY-66252 Introduce a new registry key "disable.python.cache.update" to conditionally disable automatic updating of PyPI package cache and ranking on project startup.
Delete unnecessary checks of project-level python.

(cherry picked from commit 7b38138885ac7036895ff6c4dcb9f86358d1ecd5)

IJ-MR-148661

GitOrigin-RevId: 7bb045be17944f51224fd774b3db67f21a510a51
2024-11-25 21:59:15 +00:00
Błażej Kardyś
9a50d834e7 IJPL-167274 Add extension point for disabling essential analysis mode restart per project - review changes
(cherry picked from commit 9d910521699ee69c91bb6fd4f60e4066aeb1d7fd)

IJ-CR-149829

GitOrigin-RevId: b501483f6fcd05e58bc4dc773754eaccbc40e204
2024-11-25 19:43:20 +00:00
Błażej Kardyś
f4cf3566bf IJPL-167274 Add extension point for disabling essential analysis mode restart per project
(cherry picked from commit 35e52cb683d3d990ba74494dea8a537199942d35)

IJ-CR-149829

GitOrigin-RevId: 64f6b75247d7f2e0889c998bfb730ac0d9fa5993
2024-11-25 19:43:20 +00:00
Alexey Kudravtsev
6558ffdac9 make registry flag "highlighting.essential.should.restart.in.full.mode.on.save.all" to fix "disable IDEA-362841 Essential Mode unconditionally shows invalid reference errors after "Save all". Can we make it configurable?
(cherry picked from commit 3d36bd1698f443ea8ffb89b286ad7e9cd84607b8)

IJ-CR-149829

GitOrigin-RevId: 211d27d11f6f24fcdfab34a00f66706ad4d54223
2024-11-25 19:43:20 +00:00
Ilya.Kazakevich
4a8afad761 PY-77434, PY-76185: Allow spaces in project path.
We now allow spaces in project path (`validatePath`) but convert them to underlines for `projectName` (both changes are in `ProjectPathFlows`).

(cherry picked from commit cc875f7b4e6d2354fba79387a0fc9161a6d267e1)

GitOrigin-RevId: 620e5bca8a406c9588f3e4f54260e5e3162bf686
2024-11-25 19:22:57 +00:00
Aleksandr Krasilnikov
aaffc695ab IJPL-172029: ScrollingModel: Run post animation callbacks after animator is disposed
It allows avoiding the case when a callback triggers some event that leads to animation cancelling and re-call of
callbacks


(cherry picked from commit a194f54a52e35892e69e0e1baa9b03b4b063b0a5)

IJ-CR-149651

GitOrigin-RevId: 9a38c193c6af2e129e792a253d0972c772883bf4
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
96e9c11cb6 IJPL-172029: vcs marker: Fix disposing
(cherry picked from commit 06626edc93dcb233ed21e546ba16cd266462caaa)

IJ-CR-149651

GitOrigin-RevId: c0e59976528fb09fc3379a5da9c01d7b8cc84113
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
1d0ecfe682 IJPL-171808: vcs marker: Fix "Commit" icon color in the Dark theme
(cherry picked from commit fb8b53d3cc47eb3624c0c3a0503614da1f53c46c)

IJ-CR-149651

GitOrigin-RevId: d4266e5dac6793d4c5a61799032cfa70b67b56a3
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
f6f1d9b68a IJPL-161089: ApiCheckTest
(cherry picked from commit d92b4c3934facef24db643c5067db2d32f08e618)

IJ-CR-149651

GitOrigin-RevId: e2e20253663334b2c7b4bc500918a60b7b1e1d80
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
9172eaea23 IJPL-165254: vcs marker: don't reset the input size on reopening in case the commit message isn't empty
(cherry picked from commit b5283be2d154ab9439486e1554bc03f5747276af)

IJ-CR-149651

GitOrigin-RevId: 19c51946a31c0027e067d0d5f0dc9102218863f7
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
6901adc6dc IJPL-165414: vcs marker: Rework the popup opening
Delegate the popup building and opening to the `LineStatusMarkerPopupService` and control that opened popup is disposed
before creating the new marker panel


(cherry picked from commit fff881f00d75ce4d4b9fa0fc5fa2e2407f7e8813)

IJ-CR-149651

GitOrigin-RevId: 3458a2e0f1e7830d5c67aa539839182840e9d64c
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
814318fa18 IJPL-166447: vcs marker: Close popup when call the completion
(cherry picked from commit 4e1b49b0a9e6304f33fcb29610f86535e2006ca1)

IJ-CR-149651

GitOrigin-RevId: d478b1ef381380156b2ab03aaa0d392dd0492b54
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
008dc74c2c IJPL-166455: vcs marker: Filter unrelated scrolling events to prevent popup closing
(cherry picked from commit a82ded9d80c58ac1fb70e758a9a77f6987220db0)

IJ-CR-149651

GitOrigin-RevId: 09430ea3e37046b7f0173efa6508d3259a2d2028
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
67ba805200 IJPL-166421: vcs marker: Fix NPE
(cherry picked from commit abc84e99c64a0ad50e44244f2488c58b85630aed)

IJ-CR-149651

GitOrigin-RevId: 957d2a53c741bd3474cea4a01e7d1620311cea9d
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
a2ff5e6b79 IJPL-165241: vcs marker: Add a shortcut for committing chunk action
(cherry picked from commit 31c9bfe2a6af44a2b7bd439732a0060a6a3a8e55)

IJ-CR-149651

GitOrigin-RevId: bb58848763ed3fa5af1f1485d43e0bb7070ce564
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
633ffa3474 IJPL-165414: vcs marker: Move "Highlight words" action form toolbar to the context menu
Add "Copy" as well to the context menu


(cherry picked from commit 7a64bba4ba719d3a5a45e9ca51ecf27ca8ed9bd0)

IJ-CR-149651

GitOrigin-RevId: 4dac3794ff4e2716cfdf5fed1fbc6b5cd1c1550f
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
90ee4cefd1 IJPL-165254: vcs marker: Align actions
(cherry picked from commit 1618165c41cfe0dce37e16e179441fb1792abbcc)

IJ-CR-149651

GitOrigin-RevId: 195145b946a0f294c8b149bf0a9ab9396798ccfd
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
2d971cffbb IJPL-165254: vcs marker: Add gap to the left of the commit input field
(cherry picked from commit ec59b14a25491c69acd7c90e2262b6beed61a352)

IJ-CR-149651

GitOrigin-RevId: 821c54212056b6ea8a61d45cb9b7a0426f9d9ef1
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
3076cb9bad IJPL-165254: vcs marker: Disable search in the commit text field
(cherry picked from commit d1af0ce1e16c07b8cff14f689f9881d312f7b7dd)

IJ-CR-149651

GitOrigin-RevId: 910cbeb03c98408c44a247b292ff09f3d76e0deb
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
879aeb2988 IJPL-165254: vcs marker: Better border painting
(cherry picked from commit fcb2dfb9842b344692621c359fa5a5c2fe7f253b)

IJ-CR-149651

GitOrigin-RevId: bdf09a6ec009ca07a500e052bbace93148a9ce07
2024-11-25 17:22:14 +00:00
Aleksandr Krasilnikov
9827ba5473 IJPL-165254: vcs marker: Speed up animation
(cherry picked from commit a2c7c1cf9f464159b4cdb39d057e15b6ff58792d)

IJ-CR-149651

GitOrigin-RevId: 72947194c2bc32017cd25b7314f4621d1e3a6ecc
2024-11-25 17:22:14 +00:00
Mikhail Filippov
7f62f9e5d7 IJPL-165516 bump Kotlin to 2.0.21
(cherry picked from commit 103555f4853c71b01dac1a313fef725c300fdfa7)

IJ-MR-150145

GitOrigin-RevId: 298b286a369d44cca5c4c60fbb8fa59274cf1988
2024-11-25 16:42:53 +00:00
Alexander.Glukhov
70b74d183d [gradle][IDEA-363327][IJ-CR-149446] update Gradle compatibility matrix for Gradle 8.11
(cherry picked from commit 64689fbd4785e044283d8645949df17e09f84993)

GitOrigin-RevId: 4d8b46440821cea3f141f47889726e7be078d1ee
2024-11-25 16:17:39 +00:00
Mikhail Pyltsin
4746abf37e [java-decompiler] IDEA-363689 (IJ-CR-150053) Fernflower fails to decompile Java 8 Map.class
- use VARTYPE_UNKNOWN for all unknown types and `getExprType` must always return non-null type

(cherry picked from commit ebe50921fe40561ef6219ff4a51448a910f90c3a)

GitOrigin-RevId: b85b5de42549a32a7b445c5bce1df889f6e4a808
2024-11-25 16:09:15 +00:00
Mikhail Golubev
1e741360c8 [python] PY-75983 Fix "when branch is never reachable" after removing PipBasedPackageManager
(cherry picked from commit 64fdf617bc5bd2addc7b7e21ade59b92febbdfbe)

IJ-CR-150140

GitOrigin-RevId: 339ed7723bd80e5dfae657ca1d0a7421b86f011b
2024-11-25 15:49:55 +00:00
Dmitry Krasilschikov
d66864249f IJ-CR-150136 Revert "LLM-11798 make suggestTitle suspend and check default name for the change list"
This reverts commit 31164f741219c9b957db3f7a223852d88927acfa.

(cherry picked from commit 81e86ecace5f1ce4ea767e2557815ebf61708c74)

GitOrigin-RevId: daf254c08de0646c2be2190cc62fa068983deb71
2024-11-25 15:17:29 +00:00
Dmitry Krasilschikov
fe87189f90 IJ-CR-150136 Revert "LLM-11798 hide EP_NAME and rename API: title -> name"
This reverts commit 96bf9be0

(cherry picked from commit ec0af5f9576b975853f2bcfd2c1b95a82777fc2b)

GitOrigin-RevId: 5ce9cf748a4690b4a02356c7f8e4b93bce6e6f31
2024-11-25 15:17:29 +00:00