Commit Graph

454289 Commits

Author SHA1 Message Date
Mikhail Filippov
13eb2b7f96 renormilize line endings
GitOrigin-RevId: ce5c119d3d385e99a5bb8740b52ed54100f5b6eb
2024-09-14 15:05:18 +00:00
Georgii Ustinov
f7ff124bf1 [Java. Logging] Improve completion for logger
IDEA-359199

GitOrigin-RevId: a3162b75c3fa4ed32b3b17bcbf0753cf01fe72db
2024-09-14 14:51:59 +00:00
Frederik Haselmeier
e0ec1044aa [kotlin] Added logging to LazyKotlinJpsPluginClasspathDownloader to log bundled JPS version
KTIJ-30704

GitOrigin-RevId: 162123fb83467dcd1aafe21ec242f69654488c96
2024-09-14 12:54:09 +00:00
Alexey Kudravtsev
8b6e5ebc0c optimization: save memory on duplicate maps by making them copy-on-write
GitOrigin-RevId: d3ba1f05221a7760d8357da9a02282016706b695
2024-09-13 22:48:02 +00:00
Alexey Kudravtsev
401bcbb8ef optimization: do not allocate empty maps
GitOrigin-RevId: 77883bfa5f82626a8b116ee9ce72752e70a1f313
2024-09-13 22:48:02 +00:00
Alexey Kudravtsev
aa8c0b95c7 optimization: do not create empty maps unnecessarily
GitOrigin-RevId: e5c3b2fd48bd0d0e2396537e9e4069acf670149a
2024-09-13 22:48:02 +00:00
Sergey Pak
f8a5a69513 don't change state of marketplace plugin, required for IJPL-13072 The Settings Sync plugin is incompatible with Android Studio
GitOrigin-RevId: 0317420a97723da11e022dc8d10875495e59795a
2024-09-13 21:03:34 +00:00
Ilia.Shulgin
a3f0009853 [diff] IJPL-162088 Fix missing path in shelves diff
GitOrigin-RevId: e649ebd0c5d056bffbcf96b79ea0a529c0d5e5b7
2024-09-13 19:55:39 +00:00
Ilia.Shulgin
bec7876884 [diff] IJPL-162092 Fix missing path in unverioned files single side diff
GitOrigin-RevId: 9d0acc72d04111a71102189f681a8d8e3691ba4a
2024-09-13 19:55:39 +00:00
Ilia.Shulgin
1c681572dd [diff] Fix leak in FilePathDiffTitleCustomizer
`(JComponent) label.parent` was causing leak

GitOrigin-RevId: 9ac0dd70cf2293473102df2a0fb68322fe4ad664
2024-09-13 19:55:38 +00:00
Oleg Taratukhin
572f5116ef [ai-completion] ML-3879 report all filter failures for the first proposal
GitOrigin-RevId: dac29167a62f6675caffd0d66dc50922a912cade
2024-09-13 18:50:49 +00:00
Roman Vasiliev
b177803d6f [evaluation-plugin] LME-56 Encapsulate everything project-specific to EvaluationEnvironment and create an example of standalone environment
- introduce DatasetContext for better control over data sources
- extract actions and associated fields like language to an optional config
- create sub-config for standalone datasets
- adapt result report rendering more convenient for csv dataset
- make language configuration optional where possible
- make application lifecycle management more transparent and add sleep for quick runs (intellij can throw errors)
- fix inability to use colons in chunk name


Merge-request: IJ-MR-143249
Merged-by: Roman Vasiliev <Roman.Vasiliev@jetbrains.com>

GitOrigin-RevId: 0b15518f22af27ee9cfb544e99010ec293f31eb5
2024-09-13 18:48:52 +00:00
Anna Kozlova
d17f70059a [kotlin] workaround for function presentation with functional types
^KTIJ-31321 fixed

GitOrigin-RevId: fb9e09070ca7e8f89f498fe4a883f6c2f3d89561
2024-09-13 18:47:06 +00:00
Anna Kozlova
93a62f9d5c [kotlin] k2: support wasm target
^KTIJ-31280 fixed

GitOrigin-RevId: acb4d5a16b3be36333859e54048d5b88fedde2fe
2024-09-13 18:47:06 +00:00
Anna Kozlova
64a375ccb2 [kotlin] fix copy reference on reference
^KTIJ-31304 fixed

GitOrigin-RevId: 1a94841d748ce97267b64b6d45cc3b432864329f
2024-09-13 18:47:06 +00:00
Anna Kozlova
5627cceb6a [kotlin] k2 generate tests: add command after popup chooser
^KTIJ-31310 fixed

GitOrigin-RevId: ef37b0f8f751a44391de3938c97c1f23df37cacc
2024-09-13 18:47:06 +00:00
Frederik Haselmeier
32c4ca8f81 [kotlin] Added logging to SetupKotlinJpsPluginBeforeCompileTask to log bundled JPS version
KTIJ-30704

GitOrigin-RevId: a07631a5f170a8b31a9d77b77fdef1a659529cfd
2024-09-13 18:11:50 +00:00
Frederik Haselmeier
ae1d6d6f13 [kotlin] Ported IfThenToElvisInspection to K2
^KTIJ-31253 fixed

GitOrigin-RevId: 6ff07581bdaa730441325276fa01e1211234bb0b
2024-09-13 18:11:50 +00:00
Sergei Tachenov
8c43d7e67e IJPL-158493 Add new tree model support to Project View
Implement ProjectFileNodeUpdaterCoroutineInvoker and
CoroutineProjectViewSupport to bridge the existing implementation
of the Project View and the new tree model implementation.

Add the ide.project.view.coroutines registry key to be able
to enable the new implementation, but keep it disabled for now,
as the new implementation likely needs a lot of fixes and improvements.

GitOrigin-RevId: 532f1c18a0a48f34d4d07c474e9345f9ba4023ca
2024-09-13 17:27:32 +00:00
Sergei Tachenov
be921b067e IJPL-158493 New tree model implementation
The main new interfaces are:

- TreeDomainModel - background model interface;
- TreeViewModel - flow-based view model;
- TreeSwingModel - Swing compatibility layer.

Auxiliary classes:

- SuspendingTreeVisitor - suspending TreeVisitor equivalent;
- LoadingNode - converted to Kotlin and retrofitted to implement
TreeViewModel.

New presentation rendering is implemented in NodeRenderer.

TreeUtil.getUserObject() adapted to unwrap
TreeNodeViewModel instances, as at this point they don't
extend DefaultMutableTreeNode. It just doesn't seem necessary,
as Swing models technically don't require it.

In a similar fashion, CachedTreePresentation.getCachedNode
adapted to unwrap nodes as necessary, as the new implementation
forces nodes to be TreeNodeViewModel instances.

AbstractTreeNodeVisitor modified to call TreeUtil.getLastUserObject
instead of trying to unwrap the node itself. This lets us reuse
the new getLastUserObject implementation without duplicating logic.

The new implementation isn't used anywhere yet, so this commit
alone shouldn't affect anything.

GitOrigin-RevId: 8427b6642ff1902b3b71104c3611388e1270a5e4
2024-09-13 17:27:32 +00:00
Sergei Tachenov
1f3bbf9580 IJPL-158493 Reduce dependency on AsyncTreeModel
Before migrating the Project View to the new models,
we need to take care of existing code that relies on the exact
implementation class.

For "Can this thing calculate nodes on a BGT?" instanceof checks,
introduce a new marker interface, BgtAwareTreeModel.
We may add methods such as isProcessing() there later.
Replace existing usages with the new interface.

For "Can this thing accept a visitor on a BGT?" instanceof checks,
introduce TreeVisitor.LoadingAwareAcceptor with the second
accept() overload that controls node loading. Replace existing
usages.

GitOrigin-RevId: 67905cc6873aab2f917ee2028d0a167f60fa85f7
2024-09-13 17:27:32 +00:00
Sergei Tachenov
b211b4adeb IJPL-158493 Extract a superclass from AsyncProjectViewSupport
To avoid duplicating a lot of logic in the new coroutine-based
implementation, extract the parts of AsyncProjectViewSupport
that don't depend on the models into a superclass.

Refactor the code around acceptAndUpdate a bit so
the only model-dependent part is now in this function
with a new signature, so it can be used in all places
where a similar logic was used.

Other than that, the code was mostly just moved.
The part about myNodeUpdater is a bit ugly,
as it's now initialized in the derived class and then
used in the base class in setupListeners.
It's OK, as it's an internal implementation class,
it won't have a lot of subclasses, so we're not forcing
anyone to figure out this ugliness before using it.

GitOrigin-RevId: a8d858c5c579a538a4c917cf830bc0704468f43d
2024-09-13 17:27:32 +00:00
Sergei Tachenov
8ee289751b IJPL-158493 Introduce ProjectFileNodeUpdaterInvoker
To reuse ProjectFileNodeUpdater for the new coroutine-based
Project View, we need to remove its direct dependency on the legacy
Invoker. Introduce a new abstraction layer, including only
the methods that are really needed.

Because the existing implementation relies on the invoker
as the parent Disposable, we must implement it in the new
interface as well, and ensure that our invoker is disposed
along with the delegate.

To remove the dependency in AsyncProjectViewSupport,
remove the invoke() call around roots.forEach. It's a safe thing to do
because the ProjectFileNodeUpdater itself only ever invokes
updateStructure in the same invoker, so that wrapping
was effectively a no-op.

GitOrigin-RevId: dd239b1330a2d8ef84f09e1dc5e3a49d79d8414c
2024-09-13 17:27:32 +00:00
Karol Lewandowski
2beb8da5c2 Rename ReadOrWriteActionInServiceInitializationInspection to PotentialDeadlockInServiceInitializationInspection
GitOrigin-RevId: bcf700c2c1a8c7afa9d3d257f010413e6a0e95fb
2024-09-13 17:25:06 +00:00
Karol Lewandowski
1897480db8 Handle invokeAndWait calls in ReadOrWriteActionInServiceInitializationInspection
GitOrigin-RevId: 6c60791465c54c3e8633dde5446797c1087730ab
2024-09-13 17:25:06 +00:00
Karol Lewandowski
ed7196bf47 Improve messages in ReadOrWriteActionInServiceInitializationInspection
GitOrigin-RevId: 5d1dfb765163ebe5326da07dfc400131060dcd34
2024-09-13 17:25:06 +00:00
Dmitrii Denisov
a3b5ae6cc2 AT-1032 [split-mode] Fix setAdvancedSetting
GitOrigin-RevId: 6c8ac9602c5a3326f12ded8074f5eb462d16264b
2024-09-13 17:10:06 +00:00
Alexey Kalina
5616563771 [evaluation-plugin] LME-99 Don't close popup in the report by clicking on it
GitOrigin-RevId: 47dc9d1581f54e4b133fe99a551c21855465a290
2024-09-13 17:05:22 +00:00
Vera Petrenkova
715bcbaee1 IJPL-161933 Untrusted Server's Certificate dialog: "signed by untrusted authority" warning message fix
GitOrigin-RevId: 6fad2cc3d23129340e60ebe3112a5b42eeb5a038
2024-09-13 17:00:46 +00:00
Vera Petrenkova
73ebfb987b IJPL-161937 Untrusted Server's Certificate dialog: disable trust button if there is no selected certificates
GitOrigin-RevId: b8a1472db27bddbd622fc8123a2b4558d5710bb3
2024-09-13 17:00:46 +00:00
Louis Vignier
fd0d3ebfc7 [codeInsight] Select inspection profile for code cleanup on save
#IJPL-60378 Fixed

GitOrigin-RevId: aa2d004c7a62183c6a3763c0b493a13332522e24
2024-09-13 16:50:25 +00:00
Louis Vignier
ddf360b575 [codeInsight] Add inspection profile choice in cleanupElements
#IJPL-60378

GitOrigin-RevId: 2cb258f986e9af02d13b8788a169f1b448990a52
2024-09-13 16:50:25 +00:00
Louis Vignier
9a8ea2afa5 [UI DSL] Add groupedTextListCellRenderer util
This makes it possible to use the new listCellRenderer with separators from Java code easily.

GitOrigin-RevId: d2320826c28cdd766b992d6262f05caaa561a21c
2024-09-13 16:50:25 +00:00
Louis Vignier
556f99ad92 [fus] Remove the download event in favor of jdk.downloaded
#FUS-4892

GitOrigin-RevId: 7743d59cded17d3e46fea731ed14f2eba5d4b19d
2024-09-13 16:50:25 +00:00
Louis Vignier
644968061a [jdk] NPE: SdkmanrcConfigurationProvider.getReleaseData
EA-1456877

GitOrigin-RevId: b81e7ae106c1584a429d797c95edfa9a752b5975
2024-09-13 16:50:25 +00:00
Louis Vignier
7e0e2a8a37 [javafx] Use UI DSL for JavaFxSettingsConfigurable
#IDEA-358971 Fixed

GitOrigin-RevId: 0856521e2c18391f37c691672aa29638da00b759
2024-09-13 16:50:25 +00:00
Bas Leijdekkers
5c06f74975 Java: don't report non-private field as assigned not accessed when it is implicitly read and written (IDEA-357404)
GitOrigin-RevId: 943ef6961c19510e5d4291367293424a87499487
2024-09-13 16:40:26 +00:00
Bas Leijdekkers
624ffd24a6 Java: cleanup in rename refactoring
GitOrigin-RevId: 0e3fda922844a73577d126a38f8d7f62a2ea7ffe
2024-09-13 16:40:26 +00:00
Aleksey Pivovarov
613a93d239 git: cleanup - use utility method
GitOrigin-RevId: 32134d8860f8e383c0eebe4ace3410c2f3eabc8d
2024-09-13 16:22:15 +00:00
Aleksey Pivovarov
8d27d59f3d IJPL-162101 git: fix syntax highlighting for 'Staging' content in diff
Make 'com.intellij.codeInsight.daemon.JavaProblemHighlightFilter' happy.

GitOrigin-RevId: 7dede624754b20296cd0e5496e2acb2937a13df3
2024-09-13 16:22:15 +00:00
Aleksey Pivovarov
9c82442089 IJPL-162101 git: fix syntax highlighting for 'Staging' content in diff
Make 'org.jetbrains.kotlin.idea.base.highlighting.KotlinHighlightingUtils.kt' happy.

GitOrigin-RevId: 3f45a6da1fa6cb1484d85831fec7a7a5f1f259d4
2024-09-13 16:22:15 +00:00
Aleksey Pivovarov
21669bd9b2 IJPL-72931 vcs: enable 'Blame' for preview toolwindows in "Find Usages" and "Find in Path"
GitOrigin-RevId: 9561f20b13c05a3745e6c54a32fa42ea32f4ded7
2024-09-13 16:22:15 +00:00
Maxim.Kolmakov
b429ce5da8 Fix test expectations
GitOrigin-RevId: cfe665bb93d4d601c422e7455fd15067e986870c
2024-09-13 15:28:16 +00:00
Maxim.Kolmakov
c6d31a553c Remove @HardwareAgentRequired annotation
All Perf Unit tests are run on the hardware agents to ensure stability of the metrics.
So the annotation is not needed anymore and it doesn't work on JUnit5 tests so the same test is run twice and since test execution time depends on the bucketing, metrics are jumping.

GitOrigin-RevId: fc83a368447d09d6ad1b269c88fe4f6c79067a91
2024-09-13 15:28:16 +00:00
Vladimir Krivosheev
187cb1ec16 simplify result handling for better error reporting
GitOrigin-RevId: 87ec05a525de5f2b7dd82a330d4fa6cf2459a43a
2024-09-13 14:49:14 +00:00
Adam Malek
406d8a8a67 ML in SE: Ensure disposal of test elements
GitOrigin-RevId: 2d8bea855482179c164ffeb1201ece9cc59609e7
2024-09-13 14:32:26 +00:00
Adam Malek
eaa7d41df8 ML in SE: Catch exception when waiting for typing future fails
GitOrigin-RevId: ca9f3988c4b2d3291b8fabe65769b8e79af05409
2024-09-13 14:32:26 +00:00
Adam Malek
d9e88fcc42 ML in SE: Optimise imports
GitOrigin-RevId: a404b45ea3063caf7a250d21de8e40dfa30146cf
2024-09-13 14:32:26 +00:00
Artem Ivanov
66fb06fcd9 PY-74171 Inherit PyKeywordArgument and PyReferenceExpression from PsiExternalReferenceHost
This allows using Symbol API to create references in PyKeywordArgument or PyReferenceExpression elements.

GitOrigin-RevId: 19545edec1499de66fb7744e7f8e3cb7f4ea85d3
2024-09-13 14:13:53 +00:00
Ilia Zakoulov
f224638f0f PY-74171 MagicLiteralRenameHandler should not be invoked when it is not magic literal
GitOrigin-RevId: 9d2ce1958c09c8309331dc0bf7229af4b2cdb709
2024-09-13 14:13:53 +00:00