Commit Graph

23429 Commits

Author SHA1 Message Date
Vera Petrenkova
4bd4c9f205 [find in files] IJPL-194098 rollback API change of ScopeDescriptor since it's not necessary anymore
(cherry picked from commit 29bcca7ddc602fb45aaa8573bed08ed6cea115b1)


(cherry picked from commit 026d6de7b88878a2abbb661f9af25e5aa4b3067d)

IJ-MR-173754

GitOrigin-RevId: e933a1753b2ae80e6c1107329339bd62233fe9d1
2025-08-28 20:04:21 +00:00
Vera Petrenkova
5b67153b7d [find in files] IJPL-194098 support ClassHierarchyScope
Implemented infrastructure for UI-dependent search scopes to work properly in remote development:
- implemented WindowFocusFrontendService to not lose the focus during the creation dialog on the backend (the dialog is necessary for getting scope in some cases). So when such dialog is Luxed it'll have LxNonLuxWindowRef parent
- if scope needs any ui action, this part will be performed on the EDT
- scope selection starts on item selected in the combobox; but also when search started on the backend to assign the selected scope to the model
- ScopeDescriptor interface now has needsUserInputForScope and performUiAction methods that should be invoked for getting scope

(cherry picked from commit 8f3bb188d68e8240c4ef9b7bcb628a253d2e0103)


(cherry picked from commit 8fb3e4b67053891510e1057de0d8a758029a342c)

IJ-MR-173754

GitOrigin-RevId: e34c89c834579db9149adcdd6159961bb135be03
2025-08-28 20:04:21 +00:00
Bas Leijdekkers
9a906a8753 Java: inner class accessing local variable or parameter can't be static (IDEA-375602)
(cherry picked from commit 1b16d1388c09d51009b288ede89e73d156364619)

IJ-CR-168593

GitOrigin-RevId: 7ff7cfa95cdc674c5b1d32a572eec0b95bbfb58d
2025-08-11 15:06:55 +00:00
Mikhail Pyltsin
39c7cad0e8 IJ-CR-170986 Revert "[java] IDEA-375405 Change action name "Java Class" -> "Java Class/File""
- fix conflicts and fix message

GitOrigin-RevId: 91cb0cbea453a4b228354bc47867b85aacdf07ae
2025-08-04 21:51:41 +00:00
Mikhail Pyltsin
601316af28 [java] IDEA-375577 Experiment with 'Compact source file' as a separate action
- always show compacts in list
- add default name

(cherry picked from commit ecd72181f4e0d846389df26210b481e358260261)


(cherry picked from commit fbf4436c7f217e4f51c61a68eb19119f1dbc393e)

IJ-MR-169535

GitOrigin-RevId: 8ce010a88de6f52400181b025cffe1b5818797e5
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
b29c793883 [java] IDEA-375577 Experiment with 'Compact source file' as a separate action
- move caret inside body
- move action under Java

(cherry picked from commit b8dddfd9711b4f3b251ec935b781518f64716bbf)


(cherry picked from commit 678f25cae5f8b3c2887a897ef76da2fb187d5ce9)

IJ-MR-169535

GitOrigin-RevId: 9a6e0bb40e686589e2a33bff1d833bbdcd6dea52
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
13a06ddd5f [java] IDEA-375577 Experiment with 'Compact source file' as a separate action
(cherry picked from commit 448f88ce96042ed144d922ca80aeb0bfcfde8be6)


(cherry picked from commit d904019061229c07fe5df4ed717069ec06e0fd06)

IJ-MR-169535

GitOrigin-RevId: 3bacb8104f0bde46fc4185cfa7743786d5111298
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
adbee4d116 [java] IDEA-371865 Inspection to convert 'System.out'<->'IO'
(cherry picked from commit fdb87ffc06388bd022224000c7b4e8d9e2013e9d)


(cherry picked from commit 0b859951fc41c73a63773e00059af72f7975a0c5)

IJ-MR-169535

GitOrigin-RevId: 93fb176f7dabaa17a663e4d5c8a9d634eecf2100
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
e521c853ad [java] IDEA-375064 Use the final runnable class icon for new class actions
(cherry picked from commit 158c9b96336a5a8da2234c26d79ce0de1e05a93e)


(cherry picked from commit 3726b5d0845fc214e9986f4305e33f472af7a273)

IJ-MR-169535

GitOrigin-RevId: a1551d0bec3da3367e4b3299bb871f8187213edb
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
c9b0e755ce [java-highlighting] IDEA-372969 Support JEP 512: Compact Source Files and Instance Main Methods
- set language levels for features
- fix tests
- new tests for new language levels

(cherry picked from commit 5259088ac10962f8f9373fbea29e01adb2bf7333)


(cherry picked from commit 4940a2ab6b683285d979c8aa0f86cbb775e9059d)

IJ-MR-169535

GitOrigin-RevId: 38e23b3294a45eacc56947e43c2b6d93c80da9cb
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
d6bb45a7d4 IJPF-CR-29151 [java] IDEA-374204 JEP 512: use 'Compact Source Files' for implicitly declared classes
- fix naming

(cherry picked from commit 91c2c095f5ca3b2ac3d6fc6de8d85b4f7205cfe7)


(cherry picked from commit e9c066e0a80b0154b69f1cf94334ab1e209dd74f)

IJ-MR-169535

GitOrigin-RevId: 305bc4173b42de65872f95e867b193eaef35a8c8
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
b42574277b [java-inspections] WIP IDEA-374760 Move implicit classes inspections to Java 25 migration aids category
- move to java 25 folder
- update tests and fix error with incorrect resolve with new language levels
- IO.println will be updated later

(cherry picked from commit 93985096433766e33178da6048ce4554063841a2)


(cherry picked from commit 1245b45c8ef5860d2b27441666bd6eb4eea8df75)

IJ-MR-169535

GitOrigin-RevId: 416752bfd6663f4ebd684ec1a7273900c73b155d
2025-08-04 12:58:50 +00:00
Mikhail Pyltsin
a631076474 [java] IDEA-374204 JEP 512: use 'Compact Source Files' for implicitly declared classes
(cherry picked from commit e77a013fa84cbafbfec866f6489147115532f656)


(cherry picked from commit 4619021e3dc70c3bec362b174b02a25212b954db)

IJ-MR-169535

GitOrigin-RevId: 639568fba9e6ac43f505e88d4cd5510f6203dd55
2025-08-04 12:58:49 +00:00
Mikhail Pyltsin
bfdeae6e6d [java] IDEA-360282 Use implicit class declaration for a new Java 25 project
- support new java file templates for java 25

(cherry picked from commit ae9df54a7ea1f55f68da5d3688a27bcdc4545850)


(cherry picked from commit e50ccc9076136085e88629b1f7f9f5f4162dd424)

IJ-MR-169535

GitOrigin-RevId: 7dbb94053e95dd7f65b87ad84c1cd95f3b4eb48f
2025-08-04 12:58:49 +00:00
Mikhail Pyltsin
6f092daebe [java-inspections] IDEA-371955 delete covered cases after deleting guards
- simplify logic

(cherry picked from commit 96c332ec6caa7f61b625d392ee73aa0828791286)


(cherry picked from commit 52563c6dc5cedfd55bd61305c259cf08c45014b8)

IJ-MR-169535

GitOrigin-RevId: 34165e7b1bf666090c30d7c2307e8d78fb902d88
2025-08-04 12:58:49 +00:00
Mikhail Pyltsin
845ea744cc [java] IDEA-373074 Improve SOUT templates for java 25
(cherry picked from commit 688a0f2ccefaa6f3f9b51c8528fa11e61d0798b0)


(cherry picked from commit e7979c1d2177b555cf816a20bb76720703f2e84a)

IJ-MR-169535

GitOrigin-RevId: 7cebb5b39a388c2c53e7f338f30669856bdd4c2a
2025-08-04 12:58:49 +00:00
Bartek Pacia
46c614d351 [java] IDEA-372997 Rename Structured Concurrency template context IDs for clarity and alignment with JEPs
(cherry picked from commit 49ce008fe9927664542e1f4ec2d16564e4be893a)


(cherry picked from commit c2f4f6c2836da2820758bbf456bed9004969488e)

IJ-MR-169535

GitOrigin-RevId: 39ff2e755aaacd6dd8cfb970ed87807e0f18ea6e
2025-08-04 12:58:49 +00:00
Bartek Pacia
5cba7b1050 [java] IDEA-372997 JavaFeature: create two versions of the Structured Concurrency to reflect reality in JEPs
see discussion in IJ-MR-167068

(cherry picked from commit 6d36cb4375f8f6a6d7d7b603de037c2c7a5255a8)


(cherry picked from commit bc222c301dfe54624b54c05431dadf0a5c0523dc)

IJ-MR-169535

GitOrigin-RevId: 05d36387c2949811727a8191dd8cf9a4bb70ee8e
2025-08-04 12:58:49 +00:00
Bartek Pacia
ba9ef159a8 [java] IDEA-372997 Bring back stss and stsf template and restrict to only JDK 24 preview
(cherry picked from commit d89039c7426017c35f70bdcbb11061fcfedf22a3)


(cherry picked from commit 1b673e44fa7f54e94d1015734de85344143ce493)

IJ-MR-169535

GitOrigin-RevId: fdbda50a60d7aa2ca077f334788a16245bdfe025
2025-08-04 12:58:49 +00:00
Bartek Pacia
f36a9d58bc [java] IDEA-372997 Restrict sts template to only JDK 25 preview
(cherry picked from commit 40d0c8a18018eaf2d086af82f47298e83204dcec)


(cherry picked from commit 0ef55b7e2e6016e27237414a32bf791de27a4431)

IJ-MR-169535

GitOrigin-RevId: c77ebf28ee136a711cb7a79032e8ae2f8c2d7f43
2025-08-04 12:58:49 +00:00
Alex Plate
5b5eff636d [Plugin Advertisement] Allow dependency collectors to define a custom reason why the plugin is suggested
The customization for the suggestion reason already existed: for detected CLI tools there was a different suggestion reason, rather then to the detected libraries of the project.

However, this customization was hard-coded. With this update, it can now be defined by the collector.

This update is needed for GO-17806 where a different reason for suggestion will be defined

(cherry picked from commit be9fbeb2d9dfafc18a9ea38ca21fee56fec8e6ec)

GitOrigin-RevId: 0abd1a8b225b3a5aeaa02fe94c78958f1ef97a13
2025-07-21 10:52:59 +00:00
Tagir Valeev
e02fbb2cfc [java-analysis] IDEA-375444 Speedup retrieving package-level nullity annotations
(cherry picked from commit 7be077c9a1a6b7fade1833689567b5947e2c77de)

IJ-CR-168171

GitOrigin-RevId: 01c5b38d7e028585b94d1596c0de8c7c323a2fa3
2025-07-11 10:25:52 +00:00
Tagir Valeev
af3ea586d3 [java-highlighting] Avoid registering fixes in dumb mode
Fixes IDEA-373380 INRE: [AdditionalJavaErrorFixProvider]


(cherry picked from commit 5ed206f3e81ab871a5a4358a4971cf459c57c43f)

IJ-CR-168670

GitOrigin-RevId: ba0957355eed1906ba4d8d67e4c2e1539a11282a
2025-07-10 16:37:10 +00:00
Mikhail Pyltsin
f313f02b1d [command-completion] IDEA-375693 Command completion. Java. Impossible to rename parameters
(cherry picked from commit f010d3e3bf3e7450e3ef7e592ef24042a8e27ac7)

IJ-CR-168714

GitOrigin-RevId: d10eba3bde92ae26fdea6d71b2b895b0d381c7d5
2025-07-10 14:33:40 +00:00
Vera Petrenkova
cab7a50fb4 [find in files] IJ-CR-168030 IJPL-186012 fixup review
(cherry picked from commit 432361b49dcfa5d958e6b26e4da9bae32226372f)

GitOrigin-RevId: 2c96c7c117d89976179864453dd0998c9c6dfc8d
2025-07-04 16:42:52 +00:00
Vera Petrenkova
817250f2ab [find in files] IJ-CR-168030 IJPL-186012 ignore scopes that require frontend (until IJPL-194098 is resolved)
(cherry picked from commit 06df6e061c07e78a95b42597b87348d260f0715c)

GitOrigin-RevId: 53cb8a7f6eda51b03d7d85a97f5ff55f2ffc392f
2025-07-04 16:42:52 +00:00
Mikhail Pyltsin
7739fb73cd [command-completion] IDEA-374876 Command completion: Missing shortcuts for shortcut promotion
(cherry picked from commit 5a308a509a83fd3cfcebf216066cb46764103298)

IJ-CR-167752

GitOrigin-RevId: d2512f62138829b2f5ce91d2a600211a43cfab9f
2025-07-02 19:56:46 +00:00
Mikhail Pyltsin
33c6b4bdde [java-completion] IDEA-374745 Incorrect 'args' completion for instance main method
(cherry picked from commit a3ce9daf401e5569b7471b44bd6453394a64b1ef)

IJ-CR-166422

GitOrigin-RevId: 81c19c9d446229f87a4a7cbf9aa5facdbf956a62
2025-07-02 18:41:00 +00:00
Dmitriy Smirnov
7d0143ad57 IDEA-364969 Make the order of toolbar actions in Maven and Gradle the same
This is important for scenarios of co-usage of the tools, which become more important when using worksapces.


(cherry picked from commit 1ee93831c703cf684c1e301f22217c699469e21c)

IJ-MR-167553

GitOrigin-RevId: 8f4f59499d7fa83e2664ca4389c2e6041740fe6d
2025-06-30 19:40:10 +00:00
Sergei Vorobyov
34e71ca06c [DependencySubstitution] fix: set Library maven coordinates for exiting external libraries
### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution


(cherry picked from commit 14e74fd56cc995299ee12f24b5eba428ba829149)

IJ-CR-167051

GitOrigin-RevId: 3c1cd632fe6d742f465a6b4b34e871ba871fbce0
2025-06-26 22:00:28 +00:00
Sergei Vorobyov
642501051d [DependencySubstitution] fix: don't deduplicate same library coordinates
The same library coordinates can be associated fo different LibraryEntity instances that points on the same logical libraries. For example Maven and Gradle creates LibraryEntity with different ids, for the same library, because Maven adds the "Maven:" prefix for a library name, Gradle adds "Gradle:".

### Issues
  * IDEA-374892 Library dependencies aren't substituted with different names and same coordinates
  * IDEA-370483 Maven performance degradation related to library dependency substitution


(cherry picked from commit 2c89f84c1374c5d9373eb590df74565713f13de4)

IJ-CR-167051

GitOrigin-RevId: f0a9432e576cd1ab50f991c5c83ea8cb8020c77b
2025-06-26 22:00:28 +00:00
Sergei Vorobyov
8c49d77c1a [DependencySubstitution] fix: don't use parent module or library entity source for defining custom entities
The module and library entities usually use JPS entity source which can be used for restricted entity set. These entities should be serializable to *.iml files. However, new custom coordinate and substitution entities cannot be serialised into *.iml files. Therefore they should be registered to workspace model with separate entity source.

This entity source replacement can be done for new entities, because it has hard parent reference on the corresponding JPS entities. It means that when parent entity is removed from an entity storage then a custom child entity also will be removed from storage, even if it has the different entity source.

### Issues
  * IDEA-374358 Second scanning degradation on 2025.06.05
  * IDEA-370483 Maven performance degradation related to library dependency substitution


(cherry picked from commit a33a6a93a503abba9a957a4f965f4d305c4d30e3)

IJ-CR-167051

GitOrigin-RevId: f3d833b328709857a8453e3f57d306301e7c9f4b
2025-06-26 22:00:28 +00:00
Sergei Vorobyov
d60967d8a2 [DependencySubstitution] cleanup: reuse ProjectCoordinates#toMavenCoordinate function
### Issues
  * IDEA-374358 Second scanning degradation on 2025.06.05
  * IDEA-370483 Maven performance degradation related to library dependency substitution


(cherry picked from commit c977957717441489e3b7f133774489d18816529b)

IJ-CR-167051

GitOrigin-RevId: b9a07847a0ba91f36c56fd45b83ebfa0140973ef
2025-06-26 22:00:28 +00:00
Bart van Helvert
7438aeba93 [java] Don't report UnnecessaryLocalVariable warning on unused local variables
#IDEA-374767 Fixed


(cherry picked from commit a11f0777dfe20e7b31de9c5396c0080fc27562eb)

IJ-CR-166722

GitOrigin-RevId: 48dcf528385020f27ab59807510977fb87a5d0a0
2025-06-25 12:14:15 +00:00
Daniil Tsarev
7cc9798d4d IDEA-373302 [spring] Modulith: reset model when a package statement with an annotation is removed from package-info.java
(cherry picked from commit c2a38ec1bbafd7e8069a4f2d868ae17ba9d4bc09)

IJ-CR-166504

GitOrigin-RevId: f47830735321220a117740d3abafc22c2402579f
2025-06-24 10:37:43 +00:00
devcrocod
fc8e334258 [Koog] JBAI-14528 add Koog to stats tracking
Added koog to library-usage-statistics.xml and library-jar-statistics.xml


(cherry picked from commit 9e0e3dd94986564ad070e3a4467fc51d9e9718ec)

IJ-CR-166510

GitOrigin-RevId: 9fe9e0b847d451ff83371b47f7321cfdff122f5e
2025-06-23 19:47:45 +00:00
Mikhail Pyltsin
3ad205d0c3 [java] IDEA-374464 java.lang.NullPointerException: getProjectJdk(...) must not be null on downloading JDK
Revert "[java] IDEA-360282 Use implicit class declaration for a new Java 25 project"

This reverts commit f21990af11c320d373023658866859f61c3c93fd.


(cherry picked from commit ec865d097aa1196ef5061a473d3cc2ba2eb7ca99)

IJ-CR-166010

GitOrigin-RevId: 400df4916c884fee63cacf53b0228faf1a1f1cfa
2025-06-19 08:36:18 +00:00
Kirill Bochkarev
3b2ea83785 [workspace model] Replace @Child with @Parent
Merge-request: IJ-MR-165184
Merged-by: Kirill Bochkarev <kirill.bochkarev@jetbrains.com>

GitOrigin-RevId: 3ad3ff204e29bc18bd8e705c7a5cb8e77869d699
2025-06-16 23:02:51 +00:00
Tagir Valeev
ddf84964a0 [java-psi] Cache container nullability
Should improve IDEA-374524 [regression] Degradation in spring-boot global inspections
Should improve IDEA-374525 [regression] Degradation in global inspections 12.06.25

GitOrigin-RevId: d3ad7ec223fa8cb53034f68b38be260283e8b3a9
2025-06-16 15:03:39 +00:00
Vladimir Krivosheev
c16c64e766 IJ-MR-162467 don't export intellij.platform.jps.model.serialization
GitOrigin-RevId: 4c70b0e49def83b78d1daf23c50bed6b7f41cb57
2025-06-16 14:54:15 +00:00
Aleksey Dobrynin
5e13080085 Revert "[junit 5] support inherited tests with method source annotations"
This reverts commit fd61d15297bb5d6bbf3b5b4c63f139f1eac4826b.

GitOrigin-RevId: 7ecd1758328453f36d460263e91f24a4d0d0d502
2025-06-16 14:39:17 +00:00
Bas Leijdekkers
ae7c9e0075 Java: teach inspection about existence of Jetbrains and Spring CheckReturnValue annotations (IDEA-374480)
for "Result of method call ignored" inspection

GitOrigin-RevId: e3face53d7745d416fba8a22f2e02a1954f71442
2025-06-16 13:05:53 +00:00
Vladimir Dolzhenko
2528199820 Move allForLanguageWithDefault to LanguageExtension
#IJPL-191211

GitOrigin-RevId: 870010bfbccbb7f00e5a7af23af641fcc78a54ce
2025-06-16 08:24:34 +00:00
Aleksey Dobrynin
0e293484aa [junit 5] support inherited tests with method source annotations
GitOrigin-RevId: fd61d15297bb5d6bbf3b5b4c63f139f1eac4826b
2025-06-15 03:27:51 +00:00
Vladimir Krivosheev
b935234c91 IJ-MR-162467 don't export intellij.platform.projectModel
GitOrigin-RevId: 11c0bf5ca0f3a6d892658a2b149d85cace9aa2b8
2025-06-14 13:00:48 +00:00
Vladimir Krivosheev
ef0323d07c IJ-MR-162467 don't export intellij.platform.core
GitOrigin-RevId: 05f350c1c087be1bf9b46d8bdac5345a65f55958
2025-06-13 21:52:48 +00:00
Sergei Vorobyov
f10a240e01 [DependencySubstitution] cleanup: encapsulate coordinate matching inside DependencySubstitutionExtension
Encapsulated dependency coordinates allows to misunderstanding what is the dependency coordinates and how they should compare with each other. Also, it forbids dependency coordinate hijack by other extensions.

Maven coordinates should be specified only by the Library and Module Maven coordinate entities.

### Code Reviews
  * IJ-CR-164983

### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution

GitOrigin-RevId: 01461ea4bf0fe44e60a80404a2cf08f16c0d5853
2025-06-13 21:26:49 +00:00
Mikhail Shagvaliev
83c80a06cc [java] QD-11773 Unused declaration inspection: inspection is Java, provide results for Java only
- inspection provides FPs on kotlin

GitOrigin-RevId: 7b1d07efc38f30bdaf3a4b2070da8bbf1ababc3e
2025-06-13 15:29:12 +00:00
Louis Vignier
3b41193c33 [javadoc] Fix link generation in Groovy javadoc
GitOrigin-RevId: c65de562fa8819ed9ce1f21d9d518ce7393b7be0
2025-06-13 15:12:12 +00:00
Louis Vignier
c70e15ab13 [javadoc] Parse tag names correctly when using tabs
GitOrigin-RevId: 716528f0d4ae8ff7d52d67464c4f93df99a4cbd0
2025-06-13 15:12:12 +00:00