Commit Graph

440076 Commits

Author SHA1 Message Date
Elena Shaverdova
ecc69ea621 Validate completion time against opentelemetry for AT-906. See more in IJPL-148622
GitOrigin-RevId: 080095cbec6cef6541c679fe246385f3d6a5e376
2024-04-23 18:42:19 +00:00
Tagir Valeev
b881ca5608 [java-property-tests] Disable "Reformat file" intention as it may not work when invoked inside the comment
GitOrigin-RevId: fa4d824ff932d643449685cf571a43f4a267a110
2024-04-23 18:39:13 +00:00
Tagir Valeev
10594ebb87 [mod-commands] Assert that copyfile is non-physical
GitOrigin-RevId: 11f9ed8021487813ef38e0054c8ba11cf12835bd
2024-04-23 18:39:10 +00:00
Konstantin Nisht
0d9b88f372 cleanup
GitOrigin-RevId: 6e84c426dd7785d7cc53e719d3ae32de8438243b
2024-04-23 18:38:26 +00:00
Dmitry Zhuravlev
1c49902ff5 combined-diff: add FUS statistic for toggle block collapsing
GitOrigin-RevId: f5f2acf259944286d4a4e941188a4a66a3272888
2024-04-23 18:37:51 +00:00
Alexey Kalina
022cf6f573 [evaluation-plugin] undo preliminary steps too
GitOrigin-RevId: 1537784ebd905dcf05bb28754c3d2d0abb95b1b0
2024-04-23 18:33:28 +00:00
Sergei Tachenov
f1ee864817 IJPL-1002 Implement cached presentations in Tree / AsyncTreeModel
To use cached presentations saved/restored by TreeState,
we implement the new CachedTreePresentationSupport
interface in both Tree and AsyncTreeModel. The tree part
handles expand/collapse logic, the model part handles
the tree structure itself.

To keep cached nodes expanded as the mode loads real nodes,
we listen to tree structure change / node insertion events
and re-expand nodes accordingly. Failure to do so would lead
to nodes collapsing as soon as their real counterparts are loaded.
However, if a node is explicitly collapsed, for example,
because the user clicked it, we remember that and don't
re-expand these nodes again as they're re-added as children
of nodes being loaded.

GitOrigin-RevId: 11c85e5f38c9a9f63ce499328e2d408c53b77ff1
2024-04-23 18:32:41 +00:00
Sergei Tachenov
91b532fb62 IJPL-1002 Implement saving presentation data in TreeState
To fix the Project View jumping up and down when
its state is loaded, we need to persist its presentation data,
as there's no way to load it quickly enough. Implement it
by adding new createOn() overloads to TreeState that
persist these presentations in addition to the expanded
and/or selected paths.

Because the state is restored incrementally, loading
nodes, then loading their children, and so on, we need
some way to merge cached presentations with those
that have been already loaded. To implement this,
we persist not just presentations, but also their
path IDs, the same as used for expanded/selected paths.

To match cached nodes to already loaded nodes,
we add the new getPathElementType() method
to the PathElementIdProvider interface and implement
it in the cached node class. Normally the type is calculated
based on the real class, but for cached nodes we need their
type to match the type of the real node.

The CachedTreePresentationSupport interface will be used
by consumers of this saved state, such as tree models and trees.

For now, persist only texts. We can add other attributes,
such as colors, later. Persisting icons is tricky, but likely not needed,
as "loading" spinning icons are a good way to tell which nodes
have been loaded already.

Implement a mutable structure to hold the entire tree as well.
It'll be needed in the tree and its model, and those are already
complicated enough, so let's keep most logic out of them.
This structure holds not just cached nodes, but also the real
ones as they're loaded by the model, so we can continue
displaying cached children for the already loaded nodes.
This structure is short-lived and only exists while the tree
is being loaded and expanded, so it's OK to cache anything
there, it'll be all cleared soon enough.

GitOrigin-RevId: 8b4bf5f5be0659fdbdae8ba5d5f52b6584b0c00a
2024-04-23 18:32:36 +00:00
Sergei Tachenov
430293be40 IJPL-1002 Extract expandedState.put calls in Tree
We'll need to update the cached presentation whenever
a node is expanded or collapsed, so we need a single
place for this logic.

GitOrigin-RevId: e8a5807849b442e0e4d7d496d7af6161d2cfea35
2024-04-23 18:32:31 +00:00
Sergei Tachenov
dd8905e34d IJPL-1002 Get rid of SwingUtilities2.getTreePath in Tree
It's an internal API, and it doesn't create CachingTreePath.

GitOrigin-RevId: 3526df74b9f3489392d3c0650f4834ad1af29028
2024-04-23 18:32:26 +00:00
Anton Efimchuk
d9a763ddab PY-66520 Make scroll owner timeout configurable
GitOrigin-RevId: 2bb10f2aed9c9e081075c593e9ebf5659558e6a6
2024-04-23 18:26:06 +00:00
Ruslan Cheremin
2103c1093b [test] moved SettingsSync*Tests to junit5
+ tests (junit4) were flaky due to interactions with other tests. Junit5 test-infra has better isolation => migrate tests to junit5 to alleviate flakiness

GitOrigin-RevId: 71f00eef99e94234561dfbcc248974c89d3d2955
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
6ae7bc38d6 [test] add /usr/lib/jvm to VfsRootAccess.allowedRoots
GitOrigin-RevId: 2e863d9d8b3c04c87b09e9164a81827cf5964917
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
31a28b5659 [test] clean LightPlatformTestCase.ourSourceRoot if not yet
+ .ourSourceRoot is static: not-cleaned but already invalid value could be inherited by the next test => test-order-sensitive failure ('alien file')

GitOrigin-RevId: b7ff85d33579ee4ea067b3783077b889e62f7907
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
ee19739d1b [test] ProjectSetTest converted to junit5
+ junit5 provide better test isolation -- helps to deal with test failure caused by test order change

GitOrigin-RevId: 665829d5731f7b4ec5126f633a426ac8ef5dde96
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
c90e2f08ae [test] add more details into VFS 'alien file' error
GitOrigin-RevId: 20b4d0c405f55421ca7cd6aa0165921663f420dd
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
8c4b47ac2a [vfs] skip early PersistentFS.myVfsData init
+ early .myVfsData assignment in ctor is overwritten on .connect() anyway -> useless, but opens a window for 'alien file' creation. Better leave .myVfsData=null until .connect() => have explicit NPE immediately, than 'alien file' assertion later on

GitOrigin-RevId: 28cf35b0470bfebbb331a5f60494f3b55ba6e0b1
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
3286629338 [refactoring] IJPL-428: CommonKeyDescriptors
GitOrigin-RevId: b490d602692e8bd0732490556955626ded211706
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
37130fa2fc [refactoring] IJPL-428: move interfaces up the hierarchy
GitOrigin-RevId: 5c061a9ac356b9c98cf1700a062a9e8f98fbc6b0
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
62ea1b36f1 [util] IJPL-428: value equality is optional for DurableMap
+ DurableMapFactory accepts DataExternalizerEx for values, but if it also implements KeyDescriptorEx -- will use equality provided for avoiding dummy value update

GitOrigin-RevId: 1a451ab1cca0a58f77a26ee7aeb1a4dabdd7570e
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
cea609f73a [util] IJPL-428: .adapt() method for old->new api
- wraps old-school KeyDescriptor/DataExternalizer into KeyDescriptorEx/DataExternalizerEx -- not the most efficient impl, but will help the first phase of transition

GitOrigin-RevId: 979df000b3fbdd084e2fa9be709d40327eef9a61
2024-04-23 17:37:10 +00:00
Ruslan Cheremin
a41da32b94 [util][refactoring] move storages impl into new 'platform.util.storages' module
+ New mmapped-based storages were initially created for VFS, and located in apt package/module. Nowadays they are used more widely across codebase => need own module
+ Some test-support classes were moved to `platform.testFramework` to be used from multiple test modules
+ multiple 'exposed API' adjustments

GitOrigin-RevId: a759771f1784df7d9528c405cc3e7d1f7c4cd655
2024-04-23 17:37:10 +00:00
Andrew Kozlov
b6e88e8dbf [devkit] i18n property inlined in tests
GitOrigin-RevId: 918fdb959b193758dac26292d4fc4c506e8219d9
2024-04-23 17:20:36 +00:00
Andrew Kozlov
e1e5ccb5fb [devkit] KTIJ-29667 cleanup
GitOrigin-RevId: e6332f53bf9f3d0279963ed15808c66eedd48e81
2024-04-23 17:20:31 +00:00
Andrew Kozlov
ac8807e29c [kotlin] KTIJ-28619 an explicit KotlinNameValidatorProvider service to be implemented for both compilers
GitOrigin-RevId: c76dbf4c18923f92ea65ee491cd163bdf82c02a1
2024-04-23 17:20:26 +00:00
Gregory.Shrago
169f55a40d run withProgressIcon task in BGT and unfreeze EDT
`EventQueue.getNextEvent` blocks and prevents coroutine from exiting.

Fixes
DBE-20566 com.intellij.database.actions.DbNavigationActionsTest is timing out

GitOrigin-RevId: 877de080c2e8517ddf69b51293e6722060e3e7c5
2024-04-23 17:18:15 +00:00
Ekaterina Berezhko
6c7ccf83c9 [Markdown][IJPL-90975] Fix plantuml rendering in markdown files
GitOrigin-RevId: 7159b66dbc14589260037405744ef23ac9889ac2
2024-04-23 16:18:03 +00:00
Alexander.Glukhov
f2749d15cb [external system][gradle] cleanup: change logging severity for non-critical repetitive messages from debug to trace
GitOrigin-RevId: 71a73b98972daefbe51bc925f3a03235eee11e97
2024-04-23 15:27:30 +00:00
Bogdan Kirilenko
825d8e7991 [jupyter] PY-66455 hotfix for "insert above markdown cell" case
GitOrigin-RevId: 24268cc2b39e45b566831764afa6f90e6c911d16
2024-04-23 15:24:03 +00:00
Tagir Valeev
896ebf2dfe [java-intentions] SuppressAllForClassFix: preserve comments
GitOrigin-RevId: 42da370c5b7fef5f2471df4b7d6868bbd9af3631
2024-04-23 15:04:42 +00:00
Tagir Valeev
02a0f16d5f [java-property-tests] InvokeCompletion: wait for background tasks
GitOrigin-RevId: 7b8af248a4a0617bcfde9685cada9d53a43dbe1d
2024-04-23 15:04:37 +00:00
Alexey Belkov
f66c4b33d3 [kotlin] K2 J2K: Support diagnostic-based processings
^KTIJ-29681 Fixed

GitOrigin-RevId: 4fdbf7e04c1061945b8f5618083eb1ea1cdc18bc
2024-04-23 14:59:21 +00:00
Alexey Kudravtsev
b5dc3dd706 cleanup: print more clear error messages, invoke IdempotenceChecker on more correct values
GitOrigin-RevId: f1e0a844aabf1d604c1d3e6c5a3fbc65bfa15ffa
2024-04-23 14:50:19 +00:00
Alexey Kudravtsev
aa18b34360 move HighlightVisitorBasedInspection to lang-impl to give it access to inspection instantiation internals to better encapsulate them
GitOrigin-RevId: 24224253ba6b16a4b38eed558c66c6f54a25cced
2024-04-23 14:50:15 +00:00
Alexey Kudravtsev
217a688b9b javadoc, cleanup
GitOrigin-RevId: a55ff14618f0ab0e4f9744cd1c74d1b764cd18de
2024-04-23 14:50:12 +00:00
Maxim.Kolmakov
a1bc75e143 Add test on essential plugins
All dependencies of essential plugin should be added as essential plugins otherwise on disabling any of them the product can't be loaded

GitOrigin-RevId: 1ce336e294b07d3672cdbb9279e3dabca947f48c
2024-04-23 14:45:46 +00:00
Liudmila Kornilova
eb70cd0fea IJPL-1036 Use @RequiresWriteLock in IncompleteDependenciesService
Signed-off-by: Liudmila Kornilova <liudmila.kornilova@jetbrains.com>

GitOrigin-RevId: 90745341f5ae5ed422407477a7f7299a346c7932
2024-04-23 14:42:14 +00:00
Aleksey Pivovarov
7decc90763 vcs-log: fix branch operations missing for remote branches
'origin/feature/branch' can be both 'branch on origin/feature remote' and 'feature/branch on origin remote'.

Fix regression after 8d15cc6a7bfffd57d16f09fe306832e790505196

GitOrigin-RevId: 0927d391a0f459807ad9e42451dfcecd3f31fd74
2024-04-23 14:39:29 +00:00
Leonid Shalupov
7e68fbd47e build: get jps library dependency from local maven repository as well
do not download library file in BuildDependenciesJps if it was already downloaded to .m2/repository

GitOrigin-RevId: 5366422d39951424eafb9525de15e4c836437204
2024-04-23 14:22:55 +00:00
Tagir Valeev
d29e0066ed [refactoring] VariableInplaceRenamer: cosmetic
GitOrigin-RevId: cadc3fd4138fd8caa05c9915abb77fbd83deab9a
2024-04-23 14:13:49 +00:00
Dmitry Pogrebnoy
87a9400c40 IDEA-351816 [AB testing API] Reset experimental groups each release
(cherry picked from commit 31ee845061c5204a0d12dbfe4c69317a1867e7bf)

IJ-CR-131998

GitOrigin-RevId: 93b613e56511cf2168eeccaf6e7a1c2f38a7cbf2
2024-04-23 13:52:39 +00:00
Dmitry Pogrebnoy
acff07b367 IDEA-351814 [AB testing API] add the ability to specify version and IDE
(cherry picked from commit ca9b088791d250bdf6f4ac4b9117db623f168f29)

IJ-CR-131998

GitOrigin-RevId: 018e7b8749c57998a111bd581a53115e026d9017
2024-04-23 13:52:36 +00:00
Dmitry Pogrebnoy
925fd17678 IDEA-351813 [AB testing API] Change group number to 256
(cherry picked from commit 70bab3c668051e56979a727c9610763c7bdef148)

IJ-CR-131998

GitOrigin-RevId: 4241a54fe6c5d2813acca328f85b13564429747f
2024-04-23 13:52:32 +00:00
Alexey Merkulov
d9934769b7 [debugger] KTIJ-29664 Add disposable for notification balloon
GitOrigin-RevId: 8a4edae15f2bf77c662fcc6b00ff8e7c973c6a48
2024-04-23 13:50:52 +00:00
Konstantin Nisht
d44f12a864 [platform] Always propagate cancellation in invokeAndWait.
Since `invokeAndWait` parks the thread of the caller, we can conclude that the spawned computation never outlives the caller. Knowing this, we can always propagate the context job to the computation, obtaining better cancellation guarantees.

GitOrigin-RevId: 221e3ee12d1ce84094ad65fa8b7fafa46d10930c
2024-04-23 13:38:47 +00:00
Mikhail Pyltsin
d3fbcebf68 [java-completion] IDEA-352368 Completion in deconstruction patterns
- support primitives
- support full list completion
- support generics

GitOrigin-RevId: 6f23ded8b5659c6987790386f6da5a9526eb6f47
2024-04-23 13:19:15 +00:00
Piotr Tomiak
84be37feb1 Web-types: Fix typo
GitOrigin-RevId: 36339266656fbf5bd65e40a57248d4e17c69f925
2024-04-23 13:03:38 +00:00
Tagir Valeev
384b59db83 [java-inspections] UnreachableCode.html: correct wording
GitOrigin-RevId: 84e25a7b59fbb8e7fe19bd4dcaae9954270f68d1
2024-04-23 12:17:05 +00:00
Tagir Valeev
8422ef8dab [tests-framework] RandomActivityInterceptor: intercept and ignore conflict dialog
GitOrigin-RevId: 1c4cbf748d455df48f7a8abc5643276444605651
2024-04-23 12:16:59 +00:00
Ilya Kirillov
783940f8fd [kotlin] support Kotlin analyzer with versions of type 2.0.0-ij241.15989-9
GitOrigin-RevId: 23402745d513d0c3ea783404f239b622ac44c8a2
2024-04-23 12:09:25 +00:00