Commit Graph

457789 Commits

Author SHA1 Message Date
Irina Fediaeva
2ac1a788e3 PY-52574: Remove Epytext docstring format & Py2 docstring rendering
Docstring rendering is no longer supported for Python 2, which became obsolete after reaching its end of life in 2020. Without updates or security patches, most tools, including documentation generators like Epydoc, have shifted focus exclusively to Python 3.


(cherry picked from commit ace78ac9ad943278449d5b20bb92db9f7571b5b5)

IJ-CR-148150

GitOrigin-RevId: 75cc87e05c61c3c17c26689552080e3c3082bfdc
2024-11-28 01:35:54 +00:00
Piotr Tomiak
e5b07397c4 WEB-52274 ImageReaderSpi register file is ignored in the runtime. Use ApplicationLoadListener to register service providers
(cherry picked from commit d6ba8400117c2a392e2d864116c5fc33dafb3a44)

IJ-CR-148627

GitOrigin-RevId: 72a5ee9956403a1bf264f25bc2099fd1db5577af
2024-11-27 14:27:32 +00:00
Piotr Tomiak
6a7ed7a79a WEB-52274 Support non-base64 encoded image URLs
(cherry picked from commit 3d5276cb62a60589895686370a2da160343912cb)

IJ-CR-148627

GitOrigin-RevId: 91318d4c76703ca673b364b77c181a706441e6b6
2024-11-27 14:27:32 +00:00
Aleksei.Cherepanov
eae71268ca KTIJ-31334 Revert "Enable classpath mode for import by default"
This reverts commit 214626f432e042d02b707e313b772ba0299f42d8.

(#KTIJ-31718, #IDEA-363166, #KTIJ-31709) Fixed


(cherry picked from commit e3f5e2d058d383aba778a649b82af9e7501eaeab)

IJ-CR-149861

GitOrigin-RevId: 789b7ee72b260538392a01f6e4f38440c43ba066
2024-11-27 14:02:06 +00:00
Ilya.Kazakevich
02a8b8e3b6 PY-71771: Do not validate SSH interpreters using tools for local paths.
`isValidSdkHome` works for local paths only.
We must use `sdkSeemsValid` instead: it is aware of remote interpreters and usually ignores them if can't validate


(cherry picked from commit 31b42e14518f5a8f7a69ba35e50353f4f4894f42)

IJ-CR-149658

GitOrigin-RevId: b30a6bb5d8a6b9986b0690eabbd0d39da6310f01
2024-11-27 13:48:17 +00:00
Ivan Migalev
3653c3862b (CPP-42240) More exclusions for tests :(
(cherry picked from commit bca7330c65a30d2813d0b7c0800bb8c1f0bf5b5f)

IJ-CR-150195

GitOrigin-RevId: 97f494187a5cae0e687ba590950e6e5fb4303731
2024-11-27 10:27:20 +00:00
Ivan Migalev
e74dc0f2f0 (CPP-42240, PY-77622, WI-79830) Disable assertions for PhpStorm and PyCharm
(cherry picked from commit 79c986448d1acd699e851e12a44977327058e3e9)

IJ-CR-150195

GitOrigin-RevId: 050f90d86059c52e660f65e65aeea0d7754cd795
2024-11-27 10:27:20 +00:00
Ivan Migalev
b67ccea214 (CPP-42240) What's New: disable the new service if the old one is detected as active; disable old What's New for CLion
#CPP-42240 Fixed


(cherry picked from commit 3ba0308d4a1588fa7a6986c260c6a6856e0083a0)

IJ-CR-150195

GitOrigin-RevId: 260c55b659b70690762171b3ee04ecb67fa11ae6
2024-11-27 10:27:20 +00:00
Vlad Koshkin
8a01624aa9 [kotlin] K1: fix multiple script definitions checker
^KTIJ-32215 Fixed


(cherry picked from commit f1ce64815d0e2330634cbb5000136a08338a5787)

KT-MR-19010

GitOrigin-RevId: b71313656adc0fe9781d71c1e8b34823f2ff7ac0
2024-11-26 22:23:33 +00:00
Piotr Tomiak
c3f95a5afd WEB-70390 WebSymbols: lazily evaluate types for code completion
(cherry picked from commit 38c3e555ef3f422904c1e26e14edc3c9df9db84d)

IJ-CR-149824

GitOrigin-RevId: 885e9d7b85880e9f27197dfa281f41f086e436c6
2024-11-26 20:56:33 +00:00
Vladimir Dolzhenko
2b93b6f4ea [kotlin] Update the link to the K2 mode description
#KTIJ-31579 Fixed


(cherry picked from commit 5e1c0b9142c2b80e68b43ae0a86b83d58a808a9f)

IJ-CR-150272

GitOrigin-RevId: 07c62221c67634cacc7e251f722fbf63a1f30d3a
2024-11-26 20:19:58 +00:00
Konstantin Aleev
d79850c1db [services] CWM-9740 cleanup debug info
(cherry picked from commit 1af3e8b74a14eba7b3a11027d9720912c6e2f4a0)

IJ-CR-148561

GitOrigin-RevId: 5de7bbbc361629e1a6cc611147b0e63f323cd463
2024-11-26 19:25:27 +00:00
Konstantin Aleev
bf0d5af255 [services] CWM-9740 add details part toolbar placeholder panel
- details part panel should be converted to vertical grid BeControl for CWM.
In order to achieve that, it should contain a visible north component.


(cherry picked from commit 874fd26acf7cfc0925bcbdba6888eb1b5f5d50b3)

IJ-CR-148561

GitOrigin-RevId: 91f3ddd9b11e1aa89791f171f19217587551a7d7
2024-11-26 19:25:27 +00:00
Tagir Valeev
d2b1f518c8 [java-refactoring] IDEA-360614 Replace with single implementation: no downcast when 'this' is used
(cherry picked from commit f2ea406a5cf229cf9e63b6c2b53b9d86f245a6d9)

IJ-CR-150207

GitOrigin-RevId: 0eec797e7e9d105bf594aabd85533bd5c5395dd1
2024-11-26 19:12:59 +00:00
Artem.Bukhonov
f73fc4606e IJPL-172041 Use concurrent weak map in ClearableClassValue instead of ordinary weak set
GitOrigin-RevId: 6a330727de43a5c257971925d317b934aabd1b3f
2024-11-26 19:01:09 +00:00
Artem.Bukhonov
1e3b46d241 IJPL-172041 Use ClearableClassValue InspectionVisitorOptimizer.SELF_AND_SUPERS to avoid memory leaks on unloaded classes
GitOrigin-RevId: af221a57257bd2dc8d08365b36185304dfe76cdb
2024-11-26 19:01:09 +00:00
Konstantin Hudyakov
b3226a47c2 IJPL-172124 Allow to listen for command search popup events
IJ-CR-148020

(cherry picked from commit d1a449823a5c68a5ca82f16c12ccb5d938e70e79)

GitOrigin-RevId: 378e3bd5c357a47dd1092c2c5a2ad2226c25f53e
2024-11-26 18:33:50 +00:00
Konstantin Hudyakov
d598a63db6 IJPL-172124 Allow to listen for command history popup events
IJ-CR-148020

(cherry picked from commit a8ae3afc201097a0644567d414cd4350d9c9373c)

GitOrigin-RevId: a598174be294a320242914cf1d7a5a931bfb3b92
2024-11-26 18:33:50 +00:00
Konstantin Hudyakov
41b2b42995 IJPL-171774 Do not detect user input as a NL if it starts with an executable name
It is the dictionary-based approach that should reduce the chance of false-positive NL detection.

IJ-CR-148020

(cherry picked from commit 3def7d77f69efcbd9e7e5668d04837672d8a77a1)

GitOrigin-RevId: 88f79788b91f949dbab068f6d267a69611c6f648
2024-11-26 18:33:50 +00:00
Konstantin Hudyakov
79939e355f IJPL-171328 Fix absence of explicit write intent lock
IJ-CR-148020

(cherry picked from commit a32624cd1f5a9eb4a2172bb2ef8c288acd1857b7)

GitOrigin-RevId: 5053b34524872f500fa1223e434f9baf5c65aa5e
2024-11-26 18:33:50 +00:00
Konstantin Hudyakov
ac1959cd42 IJPL-164254 Show natural language detection option in the Terminal settings
IJ-CR-148020

(cherry picked from commit 1282e09d8d8c54dfe217b522c7c5394e739177c7)

GitOrigin-RevId: 279c5c7dd01ea9e61530f31156e2a14f8be13bd0
2024-11-26 18:33:50 +00:00
Konstantin Hudyakov
0dce0bd60a IJPL-164254 Refactor: create separate group for Terminal tool window actions
IJ-CR-148020

(cherry picked from commit 4f0eeafb39ef9ce4e868e36caf8e47fcd2ffff16)

GitOrigin-RevId: b85930e1e87f176c0edc76e506861b9866043700
2024-11-26 18:33:49 +00:00
Konstantin Hudyakov
4126bbd708 IJPL-164254 Create an API to get terminal models right after terminal initialization
It is needed to integrate AI features implicitly.

IJ-CR-148020

(cherry picked from commit 0a66057c324509fd7bf9013c7e0b025f6243649d)

GitOrigin-RevId: 4d3265284cd045bfc78ce52f3265b04b9d34b5f4
2024-11-26 18:33:49 +00:00
Ilya.Kazakevich
9f31575c35 PY-77483, PY-75549, FUS-5195: Misc project pycharm (squashed commits from master)
Lots of files are picked from the master

GitOrigin-RevId: 88dfc699cbfa2be9b11d1645c2c24221d16fbdc4
2024-11-26 17:47:29 +00:00
Artem.Bukhonov
aa93e32d40 IJPL-172219 Set logger to null without scheduling
GitOrigin-RevId: b7de07645c2e96ce48e93e5eac2e801bd2c01c53
2024-11-26 17:36:45 +00:00
Artem.Bukhonov
272368aa06 IJPL-172219 Schedule logger flush using a plugin coroutine scope instead of unscoped executor service
GitOrigin-RevId: 7a3528647d6938a908fadc0605587cd9387c9ba0
2024-11-26 17:36:45 +00:00
Alexander Bubenchikov
a920578f69 [maven] [IDEA-361235] fix maven junit classpath when dependenсies are duplicated with classifier and without it
(cherry picked from commit 07a5b8a6005e9989d4c6acb22e5ac48ef6150359)

IJ-CR-150152

GitOrigin-RevId: c4773e395f021700f9bc7faf17209c1fbeb3d66e
2024-11-26 17:35:20 +00:00
Piotr Tomiak
6fd219ffc1 WEB-47801 Rendering svg as doc comment doesn't work - allow file:// protocol for rendering images
(cherry picked from commit 894518253f70a7a32e0f16ca455123f9233a3cce)

IJ-CR-148629

GitOrigin-RevId: eaf68b0e9a8ef94c44a73f677b8a5f1c16256ca1
2024-11-26 17:34:14 +00:00
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