Commit Graph

660 Commits

Author SHA1 Message Date
Tagir Valeev
a828a34968 [java-highlighting] Fixes in unnamed variables highlighting (IDEA-323960)
1. Highlight C-style arrays
2. Do not highlight variables inside for initializer
3. Highlight variables without initializer
4. Better message for underscore references when unnamed variables are allowed

GitOrigin-RevId: 5bca18969cf8fb0ea6e052b0aef71323bbfa69b5
2023-08-02 21:04:54 +00:00
Tagir Valeev
6c02bcf415 [java-inspections] IfStatementWithIdenticalBranchesInspection: support if-else merge inverting the second condition
Fixes IDEA-323850 Null-check and 'instanceof' combination could be simplified

GitOrigin-RevId: 20f5706ac06d6b1b0771b744fc20898de2d452d1
2023-07-31 15:35:27 +00:00
Tagir Valeev
a41ef84fea [java] Unnamed variables
IDEA-323910 Implement parser for "JEP 443: Unnamed Patterns and Variables (Preview)"
IDEA-323960 Support error highlighting for unnamed variables (JEP 443)

GitOrigin-RevId: 1b9ee424063dfd4d32c2215fc8b0a9838dbdcd95
2023-07-31 13:41:28 +00:00
Tagir Valeev
29b6822774 [java-inspections] IDEA-325283 "Deprecated API usage" inspection should honor "since" value in annotation
GitOrigin-RevId: 81745fc9ea86715e914f7d7202d556690c45c443
2023-07-28 14:18:31 +00:00
Tagir Valeev
76aa489d1d [java-dfa] Support failure handling in constant evaluator
Part of IDEA-326613 Support constant evaluation of Integer.parseInt and friends
Required for IDEA-324389 Inspection: Integer.parseInt() with a numeric String literal could be simplified
Also: added more Math methods

GitOrigin-RevId: 199a4bc5eaea9e8c2f26b6d4dfa5292ca8dd7795
2023-07-28 14:18:15 +00:00
Tagir Valeev
e55a975f7f [java-inspections] NewExceptionWithoutArgumentsInspection: add option to ignore certain exceptions
Fixes IDEA-325424 Inspection 'Exception constructor without arguments' should allow exclusions

GitOrigin-RevId: 9297554f1dc6d95b8e4e2be5499d7a47a6703d4b
2023-07-28 08:52:53 +00:00
Tagir Valeev
ab550ac4c0 [java] IDEA-326473 Implement unnamed patterns
GitOrigin-RevId: 1b5db700434306be23d07e38905537025e2cc892
2023-07-27 10:03:54 +00:00
Yuriy Artamonov
c657abff94 [spring] IDEA-326210 Reuse processing models across field/methods checks in SpringAutowiringInspection
GitOrigin-RevId: 946df2d9efaae45397736d4a489d569f264af92d
2023-07-26 18:04:21 +00:00
Tagir Valeev
c718b21cc1 [java-refactoring] Convert local classes to inner ones
Fixes IDEA-218207 Move refactoring doesn't work for local classes
Also: Convert anonymous to inner -> do not create fields used in other field initializers only
Also: Convert anonymous to inner -> capture implicitly referred type parameters (mentioned in types of captured variables)

GitOrigin-RevId: 5d326e0b6fdff4de850ce48582cc3ca0fe003b43
2023-07-24 19:35:31 +00:00
Bas Leijdekkers
4e43fa56a0 Java: avoid "File not found: api22.txt" warning in the log
GitOrigin-RevId: 4fd1a373390cf1ae0bc3c77650bef20f0ec5d5a0
2023-07-19 16:08:41 +00:00
Tagir Valeev
f7c30e6971 [java-intentions] MethodThrowsFix: ModCommand
GitOrigin-RevId: e9fab99693bcfcd8729703edc3c96a8d8a31840a
2023-07-18 12:27:43 +00:00
Mikhail Pyltsin
61e64487f7 IJPF-CR-12323 [java-highlighting] IDEA-324307 IJ-CR-110222 Allow to use qualified name for enum in switch
GitOrigin-RevId: ad5ab12cef7f639c5a0d738d335ed25bf805a96b
2023-07-17 11:27:31 +00:00
Bas Leijdekkers
b9baaeb614 Java: parser and PSI for Java 21 Preview String templates (IDEA-321503)
initial version, not entirely complete

GitOrigin-RevId: a4968d546f02a05081eb1c8e0e198138968509fe
2023-07-06 22:53:38 +00:00
Mikhail Pyltsin
33666a70fc [java-highlighting] IDEA-324307 IJ-CR-110222 Allow to use qualified name for enum in switch
GitOrigin-RevId: d165e80890f68ad8aa8524697b5ff4d22557fa7c
2023-07-06 00:03:23 +00:00
Mikhail Pyltsin
4bc43b46f4 [java-highlighting] IDEA-323955 Record patterns support available only for Java 20 preview. Fix compiler errors and tests
GitOrigin-RevId: 5f856519e56e61818e95cf63766fb6a54c6283ad
2023-07-05 12:09:22 +00:00
Mikhail Pyltsin
26e5f2d5dc [java-highlighting] IDEA-323955 Record patterns support available only for Java 20 preview. Change HighlightingFeature
GitOrigin-RevId: 0aa46e13853d2a3e1daeb7f151d255cb34f3283d
2023-07-05 12:09:19 +00:00
Tagir Valeev
cf2584bfdd [java-inspections] ReplaceWithConstantValueFix: suggest to extract side effects when applicable
Fixes IDEA-323618 Side-effect ignored by code assist

GitOrigin-RevId: 6206743a4af64948f95d722708e42caf05dda2f3
2023-07-03 21:09:36 +00:00
Bas Leijdekkers
0d0899abf5 Introduce language level for Java 21
GitOrigin-RevId: 8bef2575d63a5bc01a924e116fb471a47efcb0db
2023-06-27 14:38:18 +00:00
Tagir Valeev
2f1be4183d [java-inspections] More ModCommand fixes
GitOrigin-RevId: 0c09d9d462156b87b8cd8ef33d203d959a579baf
2023-06-27 11:08:29 +00:00
Bas Leijdekkers
e48c788e1e Java: add RefClass.isAnnotationType() method
GitOrigin-RevId: 3a5661194ed5836d5d5adf06434e04703c8c4e4a
2023-06-26 16:29:05 +00:00
Bas Leijdekkers
ae4e392cdc Java: change reference graph method return type to avoid some unnecessary casts
GitOrigin-RevId: cbb043d4284bc30ad5137a75723f698a93e6594e
2023-06-26 16:29:03 +00:00
Tagir Valeev
ad40c945e2 [java-inspections] More quickfixes to ModCommand
GitOrigin-RevId: ccc6093d680712cb81c1325d997fb2771b61a0be
2023-06-25 19:05:51 +00:00
Bas Leijdekkers
01d55eeb9c Java: add parentheses to inspection warning
GitOrigin-RevId: c85afe8b4c44d05f30e3b1361286c22de7d84e2c
2023-06-22 14:48:20 +00:00
Tagir Valeev
9ed1f2448f [java-intentions] MoveBoundClassToFrontFix: ModCommand, better interface
GitOrigin-RevId: 41bb831d94ab11e981207646750d0d814b94c6ed
2023-06-22 10:54:18 +00:00
Andrey Cherkasov
9ccc820db2 [java] Remove Java 17 Preview and Java 18 Preview language levels
IDEA-314047

GitOrigin-RevId: 8c24deb2dfb5361f08857d7933ab290476f4ce84
2023-06-19 17:37:05 +00:00
Tagir Valeev
feb932c66e [java-intentions] More ModCommand actions
GitOrigin-RevId: a336391bae84d99c45b3529cf404905dcf0635dd
2023-06-16 09:48:07 +00:00
Yuriy Artamonov
9c6efec962 [spring] Do not rerun meta annotations searches on typing
GitOrigin-RevId: 8fc260c5b427453841c903862e0b18940469c474
2023-06-06 09:25:24 +00:00
Alexey Kudravtsev
14ff37953d specify return type explicitly in Kotlin in some openapi and util to speedup Kotlin resolve
GitOrigin-RevId: 2b68c5d51524b822c645dbcb3828acbdd15245ad
2023-05-31 15:36:27 +00:00
Tagir Valeev
9a63850218 [java-inspections] OptionalOfNullableMisuse: change message
GitOrigin-RevId: 168f791e21376d5a134683b7f3fc0661fdcaf091
2023-05-17 12:34:05 +00:00
Bart van Helvert
86cb46751d [jvm] Support constructor calls in registerUProblem
GitOrigin-RevId: 6ce3bd53e529838b6fbf665bc36ba913ca75972e
2023-05-05 21:54:29 +00:00
Mikhail Pyltsin
4edcb035e7 [java-inspections] IDEA-282916 Improve tainted analysis, support local methods
GitOrigin-RevId: 27871a7bbab9f093863d110711f7bb67c9b09fd9
2023-05-05 16:37:52 +00:00
Vladimir Krivosheev
227d75a1fc don't extend DynamicBundle
GitOrigin-RevId: 49cbebd629a92877dbeeffba8d97b0631fb9407e
2023-05-05 09:46:42 +00:00
Bart van Helvert
21ab331ac0 [jvm] Add support for setting highlight type in problem utilities
GitOrigin-RevId: 70bc01869bd697091c0b8b539910cf101c5657a9
2023-05-04 17:29:08 +00:00
Bart van Helvert
d395d8926f [jvm] Move inspection problem register util to common module
GitOrigin-RevId: 90f7006fd11651bf7a28c22cde2ac043fc81f21d
2023-05-01 14:25:28 +00:00
Tagir Valeev
5906493339 [java-inspections] Less confusing warning & fix on misplaced annotation when fqn+array is used
GitOrigin-RevId: d490d2696d070827fbe6a3b958a05acd31afcdc7
2023-04-27 09:56:48 +00:00
Mikhail Pyltsin
699b5fd32c [java-inspections] IDEA-318601, IDEA-283813 improve MarkAsSafeFix
GitOrigin-RevId: 49cdeaab2f3e856dd18e08064e0b715396ff7793
2023-04-25 11:16:36 +00:00
Andrey Cherkasov
0f673df822 [devkit] MismatchedLightServiceLevelAndCtorInspection: fix editor message and quick-fix text
IJ-CR-102194

GitOrigin-RevId: e596c556030bb12d58f01138c45996111fb7138c
2023-04-25 08:22:42 +00:00
Daniil Ovchinnikov
6fe5c49599 deprecate com.intellij.reference.SoftReference constructors
GitOrigin-RevId: a723be59b812f71953e79879d7adf09d58a9e935
2023-04-15 00:04:29 +00:00
Andrey Cherkasov
278a5b80a8 [devkit] LightServiceMustBeFinal: suggest removing the 'Service' annotation on abstract classes and interfaces
IJ-CR-102194

GitOrigin-RevId: d7bf3203b32d9da35df621ed7cdc5c4c68c775c8
2023-04-13 00:38:41 +00:00
Tagir Valeev
eac9020d84 [java-inspections] ExtractMethodRecommender: alternative highlighting experiment
GitOrigin-RevId: c630a700ff2b3ee4f76e23984172f9aeb31a6c15
2023-03-29 15:06:02 +00:00
Bas Leijdekkers
7980952817 Java: Add quick fix for "Vararg record component must be the last in the list" (IDEA-316182)
GitOrigin-RevId: f172229f06d5d21f0fcdcdc396931cd2867ac6c7
2023-03-28 12:31:57 +00:00
Tagir Valeev
bd21297370 [java] LanguageLevelUtil: add JDK 20
GitOrigin-RevId: 00a37470bf6161f614cf4ae28d09f9f9daab7ad3
2023-03-23 12:35:40 +00:00
Tagir Valeev
8d4697674c [java] Generate API diff for JDK 20
GitOrigin-RevId: 83b7b57cf0fdef43cd0372deaae6963d0fc0396e
2023-03-22 17:23:11 +00:00
Tagir Valeev
4b25e11528 [java-inspections] Extract method recommender: proofreading
GitOrigin-RevId: 747d75760e6a61c34c16b960cc60f2b59f1a59ff
2023-03-13 14:37:48 +00:00
Andrey Cherkasov
8e56c5dcf2 [jvm + devKit] Add action to change annotation attribute and use it in MismatchedLightServiceLevelAndCtorInspection
IJ-CR-102194

GitOrigin-RevId: bdef6309bfcaf710db8bdcc773ac43757856e8f1
2023-03-13 12:53:51 +00:00
Nicolay Mitropolsky
1bc9e3ae55 IDEA-314469: lower JVM target level for *intellij.platform.uast*
GitOrigin-RevId: 9aa9245395c5d5b38b2b20b43ad12d0f7139506f
2023-03-10 13:33:36 +00:00
Mikhail Pyltsin
86442fe3d9 [java-highlighting] IDEA-299588. generate missed deconstruction branches. Support cases with in-place exhausted
GitOrigin-RevId: 79357711523917237d5a0a3eb5c90633de01c07e
2023-03-07 00:54:16 +00:00
Mikhail Pyltsin
b300b7c1ec [java-highlighting] IDEA-299588. generate missed branches fix in switch with deconstruction
GitOrigin-RevId: af4e42198f5bc6dc5c5f505443e2e55085abf196
2023-03-06 20:07:16 +00:00
Tagir Valeev
f5effaaeb3 [java] IDEA-210466 Suggest to move Java file to the source root
GitOrigin-RevId: f225ebbb2bcb6084b36ca504aae4e5463c074fc5
2023-03-06 15:05:37 +00:00
Tagir Valeev
2c0d7c5469 [java-dfa] Better tracking of class instantiability
Fixes IDEA-310238 Warn if an interface class is used for == comparison with value returned from smth.getClass()

GitOrigin-RevId: 03e2943f3df69c3021b387be0aa32fef42123321
2023-03-02 14:22:29 +00:00