Commit Graph

16756 Commits

Author SHA1 Message Date
Mikhail Pyltsin
3a00f15d33 [java-imports] IDEA-368382 incorrect place for module import
- support editorconfig
- more tests


(cherry picked from commit d7fd604e95b1dd197a3efbdbfcd54e81564b2490)

IJ-CR-156496

GitOrigin-RevId: 141bae22ad1f263d06b28618bf425a68e8d3cac6
2025-03-04 21:15:51 +00:00
Mikhail Pyltsin
f82340ac1c [java-imports] IDEA-368382 incorrect place for module import
- support static separately


(cherry picked from commit 8d1acc0e8d2bd7d60b1f03b1ebe367d7d9f2e2a9)

IJ-CR-156496

GitOrigin-RevId: d109ac92ad1c67ef65b4267cc752475b98fa267e
2025-03-04 21:15:51 +00:00
Mikhail Pyltsin
f99f182609 [java-imports] IDEA-368382 incorrect place for module import
- more tests


(cherry picked from commit 5b0b65e0b74bb858dab0a0ceeb5f176b0e3f0fdc)

IJ-CR-156496

GitOrigin-RevId: 66b16004793a875d61039997b03ece62afbf5339
2025-03-04 21:15:51 +00:00
Mikhail Pyltsin
8ce55bb2be [java-imports] IDEA-368382 incorrect place for module import
(cherry picked from commit ce6ec1c65d5777e5e3059093fdd01baf24f95e50)

IJ-CR-156496

GitOrigin-RevId: 4e3ae37de77005802a25b2f85de3dfa43ea4a2bf
2025-03-04 21:15:51 +00:00
Mikhail Pyltsin
769808c52d IJ-CR-155375 Revert "[java-runner] IJ-CR-154797 IDEA-363985 Temporary workaround for JNI restriction"
This reverts commit dda8badb

(cherry picked from commit a52b17f30c338d7bb11caecf17e32690f6621582)

GitOrigin-RevId: 13e035b2a42177ddb38cd84aef3e32ed7279b473
2025-02-19 13:48:10 +00:00
Mikhail Pyltsin
85d38f47ea [java-runner] IJ-CR-154797 IDEA-363985 Temporary workaround for JNI restriction
(cherry picked from commit 636caa3aaf46f8bbe6b37ca474662bb95f705f97)

GitOrigin-RevId: dda8badbd17ef8a6f23930282779e482f12c10e4
2025-02-13 17:08:27 +00:00
Mikhail Pyltsin
b3f8bbb608 [java-highlighting] IDEA-365996 Constructor in an implicitly declared class is not highlighted as error
(cherry picked from commit 2de45c452608cea2ab314511060ac733259a8c18)

GitOrigin-RevId: daed31a96a3fb96a6cbed183443ed90205b679f3
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
e6ec1394ca IJ-CR-151305 [java-import] IDEA-364508 support optimize imports
- fix comparator

(cherry picked from commit 5c6f0a4e689359a5574578cd63377543d413ccda)

GitOrigin-RevId: 5cc96fa8dc448e65fa2d58d5692f8af27e9ddd3c
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
105b965377 [java-inspections] IDEA-365059 Support JEP 494: Fix expand module imports
- modules shouldn't add implicitly imported classes

(cherry picked from commit d18b9bc7783a478cec3e75f95542c410ae78acd8)

GitOrigin-RevId: 4929fcc6fa1bf67fa799e6feef175593f246d614
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
cd9a60ab8f IJ-CR-151305 [java-import] IDEA-364508 support optimize imports
- use layout table

(cherry picked from commit 6862419acc2beb72f87cca6b93612f9afe81f698)

GitOrigin-RevId: af86c63fa16f760ad3fd0b66fc9f86f7a21de7c7
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
46bfa503aa [java-import] IDEA-364508 support optimize imports
- new options are added
- changes for optimize imports

(cherry picked from commit 82b0223f9e7e2972d13ab182ea651cdccd28a5d3)

GitOrigin-RevId: 99f0276e1d9464f75f5bbce91ad09727582d208b
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
a7d49a4b2f IJ-CR-150882 [java-highlighting] IDEA-363617 Support JEP 494: Module Import Declarations (Second Preview)
- more test

(cherry picked from commit fe1c623b3fe230a286f80d8a7cb7e5657b6d9493)

GitOrigin-RevId: 3c9db7f48713634c4ad9065c47ffa074cffd8d99
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
dcb8e7a582 [java-inspections] IDEA-363980 Support JEP 495. Update ImplicitToExplicit /ExplicitToImplicit inspections
- tests

(cherry picked from commit 946428cb5f8e397625acbec9446d731fb0550225)

GitOrigin-RevId: b7240b0999796cb367dd01eb49ff51b63004de94
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
3348e7291f [java-inspection] IDEA-363979 Conflicts with on-demand and module imports
(cherry picked from commit 0857df90e3f9cc450b48b56186573a9a89b5b041)

GitOrigin-RevId: 8e1474a59c687561ba5f00a13fecd4d2a9057b7a
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
6113015d06 [java-highlighting] IDEA-363617 Support JEP 494: Module Import Declarations (Second Preview)
- support transitive for dependencies on 'java.base' module

(cherry picked from commit a364934e96592ae3a8244ae68b2fb5372e7f5a30)

GitOrigin-RevId: 6bffa2d03645e77537d70cd4d9d081dec80680af
2025-02-13 14:23:52 +00:00
Mikhail Pyltsin
aea70bba3b [java-highlighting] IDEA-363617 Support JEP 494: Module Import Declarations (Second Preview)
- support shadowing module imports by package-on-demand

(cherry picked from commit 643fc10bcbfee2f1d41ec02e624b30bc3a48e4bb)

GitOrigin-RevId: d1e49b2d48f0b69f8e15393cb823e5529f9b4452
2025-02-13 14:23:52 +00:00
Bas Leijdekkers
2ec44412eb Java: add "Layout on-demand import from the same package first" option (IDEA-204441)
enabled by default for consistency with other tools

(cherry picked from commit df5a4b65c5f31b195bd091a91d16ea0bc7bcc36c)

GitOrigin-RevId: 3b669ce15e9ad037bcff9c1e2638e2b823424ef7
2025-02-13 14:23:52 +00:00
Bas Leijdekkers
f4cdf03f94 Java: don't break compilation on optimize imports when package has "import" in its name (IDEA-336461)
(cherry picked from commit a691c03b8814e7cffec4dd32d4dfc7f3b0e10814)

GitOrigin-RevId: 5747d57365f3b54861ba9a1a34209c42ac28669f
2025-02-13 14:23:52 +00:00
Bas Leijdekkers
c82b457feb Java: sort imports correctly when "Layout static imports separately" is disabled (IDEA-298584)
(cherry picked from commit 6656672e1ae56cffbc4f65cfbbd79d97004aef78)

GitOrigin-RevId: a1065f373f4f8fa92e8f36564f6091fd99408e65
2025-02-13 14:23:52 +00:00
Bas Leijdekkers
982a5b4d9c Java: order imports correctly when layout specifies package without subpackages (IDEA-360701)
(cherry picked from commit 5398813a84a6046eaad776debfe7c75c0d8527e8)

GitOrigin-RevId: aa5274b93a06f8f4bc5b381064c7aa1de238fea3
2025-02-13 14:23:52 +00:00
Bas Leijdekkers
24519bc121 Java: clean up LightOptimizeImportsTest
(cherry picked from commit c103b21df16a04f5c01173e1e57c943bb60a840f)

GitOrigin-RevId: 661a6944f47a101bec2852d2789cda66b7330cdd
2025-02-13 14:23:52 +00:00
Bas Leijdekkers
cd9b949072 Java: allow importing a class when there is a variable/method with the exact same name (IDEA-216101)
(cherry picked from commit e4c5b86ce2f4910711e33581c58d271dadbf6970)

GitOrigin-RevId: 6366d12eb83c3b5e20489b26d1ce0c531e52de47
2025-02-13 14:23:52 +00:00
Bas Leijdekkers
149c515b24 Java: clean test up
(cherry picked from commit 50368e5c2856ba9f0b0935326f918bf00f885c42)

GitOrigin-RevId: 1985418d692cfccba4e763d7517d61e612de863c
2025-02-13 14:23:52 +00:00
Tagir Valeev
27e21144a2 [java-psi] IDEA-367231 Incorrect use scope for public class inside non-public non-final containing class
(cherry picked from commit 9238a1c2cb5749f4a711815150c14324d8d7f64e)

IJ-CR-154834

GitOrigin-RevId: ecfa67d0b540e43d1054d2e283ec4e85badc3dae
2025-02-12 14:02:58 +00:00
Mikhail Sokolov
a20761acd8 IJPL-163538 replace flows in ActionAsyncProvider with concurrent producers/consumers
(cherry picked from commit bea2cb8325e7f02649c84c5cf583beaa6cc66404)

IJ-MR-146410

(cherry picked from commit d336bf297fddb087a2dadaec74c70aa2f699d8df)


(cherry picked from commit c9d83f78d187cd231cc4103f723de4c0ff9be4b6)

IJ-CR-153899

GitOrigin-RevId: ddfd94e0dbad5920d9f29758161403667267a3b2
2025-02-04 23:14:29 +00:00
Andrei.Kuznetsov
c4eb1eb3c6 IJPL-174027: use the same project files condition in FileBasedIndexImpl.forceUpdate and FileBasedIndexImpl.indexUnsavedDocuments
(cherry picked from commit a3df35169570a3605dd10de57d8479a54ce6f530)

IJ-CR-152316

GitOrigin-RevId: 486f82ff62bae94293b5e3db4ca1a211e476d504
2025-01-14 18:41:59 +00:00
Tagir Valeev
d08daf82f5 [java-inspections] IDEA-364908 WhileLoopSpinsOnField doesn't recognize lock
(cherry picked from commit 7a9fb186e4c23bf81a57cf1766a22cd6f85b5097)

IJ-CR-152528

GitOrigin-RevId: 0c49f423e2043958a2b11a95244f58b8e7323085
2025-01-09 19:00:03 +00:00
Tagir Valeev
a35bbc7c9c [java-inspections] Preview feature warning: limit highlighting to method name
Fixes IDEA-362013 Stream.of should not be highlighted because it's not a preview feature


(cherry picked from commit 0818188d2e5ae25916c0433dfe976c808eebf869)

IJ-CR-151174

GitOrigin-RevId: c81154ec031a4da1ef432831628fe93537ce599b
2024-12-13 10:37:17 +00:00
Tagir Valeev
3eea2c8961 [java-analysis] Parameter nullability: prefer nullability known from type over nullability known from parameter declaration
Type nullability could be more precise if parameter is generic
Fixes IDEA-364343 False-positive NPE at unboxing inside lambda with JSpecify annotations


(cherry picked from commit 9a49f5687eccaa013e639cdf15950be911e100bc)

IJ-CR-151033

GitOrigin-RevId: be6c25b7e63a9d231077351fd0bf813515e7f9bf
2024-12-09 17:46:27 +00:00
Tagir Valeev
071179ffed [java-intentions] IDEA-363624 Create Class generates invalid and redundant annotation @NotNull @NotNull for constructor parameter
(cherry picked from commit 9c3c9c55517369e6715c65a9696c287514261a10)

IJ-CR-151031

GitOrigin-RevId: 8306c8925395abd7dcee24de847335e4e9b1f535
2024-12-09 10:58:58 +00:00
Tagir Valeev
d2d87a71f3 [java-intentions] IDEA-363734 "Make Xxx impelent Yyy" quick fix inserts @NotNull
(cherry picked from commit 4e9a3f94cf1aedadd0b2c4699e168ccb3be0e405)

IJ-CR-150708

GitOrigin-RevId: ced9d4595e513387ebf996bf8dd0894877ef0f3e
2024-12-05 01:08:15 +00:00
Elena Shaverdova
cb73ccd751 Disable WorkspaceEntitiesLifecycleActivity in unit tests by default
(cherry picked from commit 73934f5796d84186576ecc8b755f033dd24a7f9b)

GitOrigin-RevId: 03ca9b870763aead7cfea780c1a081db8ac2966f
2024-12-02 17:19:31 +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
Tagir Valeev
b6f684ed23 [java-dfa] IDEA-363270 Misleading warning for switch case when expression on Boolean values
(cherry picked from commit 449fdf6cb9137b7dcd038adca7b26ffc15f7d59a)

IJ-CR-150040

GitOrigin-RevId: 957b8f5555a16e1e4912bc19bfe9ff133715709b
2024-11-25 14:43:15 +00:00
Mikhail Pyltsin
7f3845bfea [java-generator] IDEA-363289 generate text from type directly, non-replace if the type is different
- add test


(cherry picked from commit 35ce0439d2a7a7a815e346e7be70c8d5f9fea96a)

IJ-CR-149472

GitOrigin-RevId: ea285ba56b6dece1f2a8b3531ba6496cc53706b6
2024-11-18 21:11:25 +00:00
Bas Leijdekkers
7178d5454c Java: correctly qualify method call when it is inlined from static interface method (IDEA-362625)
(cherry picked from commit 2f32664c77558fc4507a8a6ecc327f6c91b7d815)

IJ-CR-149100

GitOrigin-RevId: e224c59e90ff32687ebc67a278d1e63b52095fbd
2024-11-13 15:13:23 +00:00
Tagir Valeev
5e26c44314 [java-refactoring] isFirstUse: handle static method qualifier
Fixes IDEA-356148 Inlining method creates undesirable temporary variable


(cherry picked from commit 34091cb3a6c6388b2086d92e8cd4b206b9250202)

IJ-CR-149087

GitOrigin-RevId: 5d38476c8ff706eb180c628d7b481d0f7b00c7ff
2024-11-12 11:38:15 +00:00
Tagir Valeev
6fe3ec50ef [java-refactoring] isFirstUse: take PsiAssignmentExpression into account
Fixes IDEA-361852 Java Inline Method refactor introduces intermediate variables


(cherry picked from commit 680fbb62f3440b7ae29f4de1793260fe5be0ab36)

IJ-CR-149087

GitOrigin-RevId: c9ede4356696412b656b0295f21f534cce04bc30
2024-11-12 11:38:15 +00:00
Dmitry Batrak
b2cac236d1 move code which accesses system selection to CopyPasteManager (for RDCT-1653)
(cherry picked from commit 7405a3177cbe4c4dc7202ce6eddcb0c289739437)

IJ-CR-147422

GitOrigin-RevId: 03582ba3d0ed899afcfaa4e993899f21d9897f56
2024-10-31 11:49:49 +00:00
Mikhail Sokolov
73c1d0b817 tests fix
(cherry picked from commit 933e6ae20531f220473d3785ec0fb1c0d7f1bf8b)

IJ-CR-147415

GitOrigin-RevId: 2809cd442d18894be0b5381d2f8710da7f7439d3
2024-10-25 21:15:35 +00:00
Tagir Valeev
1d58cede1d [mod-commands] Rely on document text, rather than PSI text when building the final command
For some reason, they might be different. Probably due to incorrect PSI at the beginning of the action. In any case, document should be the source of truth, as the ModCommand will be applied to the document, rather than PSI
Fixes IDEA-359782 try postfix completion generates trailing garbage


(cherry picked from commit 292399a28d347f9b4fa22730002299d5c5b68167)

IJ-CR-147269

GitOrigin-RevId: 2ccd437d3c51c0ded16be634650ed8dfc59770b4
2024-10-22 14:39:05 +00:00
Tagir Valeev
93592a4c9e [java-refactoring] CodeBlockSurrounder: avoid collapsing with unrelated if-statement
Fixes IDEA-360579 Inline Method creates uncompilable code


(cherry picked from commit cd73e3e730b8cef37f4a26235a2ab3db812f02ff)

IJ-CR-147183

GitOrigin-RevId: 0258e753bfb5f7e66bc4a0526769fe8ba07aa02c
2024-10-21 12:11:50 +00:00
Tagir Valeev
88e99a58b4 [java-dfa] Fix hardcoded contract for three-arg Arrays.binarySearch method (IDEA-359546)
(cherry picked from commit a4ff22126f7d6fc1b4a7d99ee47c3caf1b144c4c)

GitOrigin-RevId: 74f0bae69219b650eb170bc517e5c1bc0b1d9ad2
2024-10-17 13:15:40 +00:00
Alexey Kudravtsev
6bea9cfe04 optimization: do not iterate all range markers in the document, use the visible area only (part of IJPL-162151 Scrolling is slow)
GitOrigin-RevId: e0fbaf8757364a3ad0e823facee0def50cd7f49c
2024-10-14 15:40:08 +00:00
Tagir Valeev
09bd11efd8 [java-refactoring] IDEA-71792 Support inlining of abstract methods having one implementation
GitOrigin-RevId: 00491acff53aff96705a866e0d799dfe22873d23
2024-10-11 08:10:27 +00:00
Tagir Valeev
676c19bc1f [java-inspections] Report TYPE_USE nullability annotation on classes
GitOrigin-RevId: f5c6113ccd1738d72b0f58fe13a8352a043431c9
2024-10-11 08:10:27 +00:00
Ilya Kirillov
0fa8750fb8 Revert "optimization: do not iterate all range markers in the document, use the visible area only (part of IJPL-162151 Scrolling is slow)"
This reverts commit 4353aab31f4af5e3c50662669f94b823b01d3031.

- It causes a deadlock in kotlin tests: IJPL-163726
- It breaks some remote dev and code with me tests: IJPL-163871

IJPL-162151

GitOrigin-RevId: d0764a892d03104c58f8601cfbea7b35a95c71fb
2024-10-10 16:11:03 +00:00
Mikhail Pyltsin
7e9f1978a2 [java-highlighting] IDEA-357214 'Module' is highlighted as an error when module name is expected
GitOrigin-RevId: c7ca9de1821e79b96a05ab74a3cbad7052ceb827
2024-10-10 15:17:07 +00:00
Louis Vignier
e2f88c73c2 [javadoc] perform automatic supertype search recursively for interfaces
#IDEA-358073

GitOrigin-RevId: efeda57e732374963dd97dbe32c8fc1d938c5916
2024-10-10 11:30:59 +00:00
Louis Vignier
0e3bfab783 [java] Fix error reporting in JavaInheritDocNavigationTest
GitOrigin-RevId: 2124aa0433371285532c5c9b23c5ace37eca4761
2024-10-10 11:30:59 +00:00