Commit Graph

7693 Commits

Author SHA1 Message Date
Tagir Valeev
6acadcb4f0 [java-inspections] IDEA-355111 "Parameter annotated @Nonnull should not receive 'null' as an argument" can support records
GitOrigin-RevId: a3f557fe842cc7c57cdae150d87f474eab07315e
2024-06-19 15:08:14 +00:00
Tagir Valeev
440654c48f Pattern variable can be used fixes; other warning fixes
GitOrigin-RevId: 49f37e7f5d748be50ee66fdf66a5c9b98b1b7432
2024-06-18 19:55:23 +00:00
Tagir Valeev
3fd0f4975d Pattern variable can be used fixes; other warning fixes
GitOrigin-RevId: 4965216d1872b439970db33dbe2864d5aab9606e
2024-06-18 19:55:23 +00:00
Tagir Valeev
522f2ab43e [i18n] Fix internationalization warnings
GitOrigin-RevId: 7b4a959cf215d79d86d6d9a7727f0fc054097517
2024-06-18 13:46:50 +00:00
Tagir Valeev
191e65634e [java-analysis] ProjectBytecodeAnalysis: do not rewrite null->x contract with _->x if notnull parameter was inferred
Fixes IDEA-354381 Unreachable code inspection fails when using Streamable.of()
Unfortunately, the test does not differentiate the bug. I failed to write a good test in a reasonable amount of time. Nevertheless, the original issue is fixed.

GitOrigin-RevId: 55b0f169c93d1cef9453c3eb88959ea4832a917a
2024-06-18 12:26:39 +00:00
Mikhail Pyltsin
9bf2727703 [java-generation] IJ-MR-136429 IDEA-344399 generate annotation based on type_use option
- fix non-standard-root-packages
- introduce project descriptors

GitOrigin-RevId: 41db7240e29fbfed81957df2d68e2de29c573ef2
2024-06-17 21:14:57 +00:00
Mikhail Pyltsin
2023228d8c [java-generation] IDEA-344399 generate annotation based on type_use option
- extracted new option
- reuse this option in MissortedModifiersInspection
- override uses this option too

GitOrigin-RevId: 39f3f72991240753c86c7f80df865728aa9743ad
2024-06-17 21:14:57 +00:00
Tagir Valeev
a550238d23 [java-inspections] RedundantThrowsDeclarationInspection: cosmetic
GitOrigin-RevId: 27d94b7261d67a743b52d90a43692ca896406582
2024-06-17 13:22:21 +00:00
Tagir Valeev
0fbc75af31 [java-dfa] AssertJInliner: support more intermediate ops
Fixes IDEA-354935 Using `withFailMessage()` on assertJ assertion triggers "'Optional.get()' without 'isPresent()' check" warning

GitOrigin-RevId: 35b6be2f36ee911451d12c32c2ad406fdd601296
2024-06-14 16:10:44 +00:00
Tagir Valeev
567e0b0d05 [java-intentions] IDEA-270206 Nullability annotation at type parameter/wildcard: add a quick-fix to move it to the bound
GitOrigin-RevId: e8e56c2d27a77414045064c784f48ff712ad0d2d
2024-06-14 16:05:02 +00:00
Tagir Valeev
d0e4f5f297 [java-analysis] Analysis: warning fixed
prev instanceof CallResultValue was (correctly) marked as 'always true', likely based on the previous curr.getClass() == prev.getClass() condition

GitOrigin-RevId: 5473a7c96030777e87de22e1425f296bbeaa2221
2024-06-14 16:05:02 +00:00
Bas Leijdekkers
708999dee9 Java: fix rename duplicate class quick-fix exception (IDEA-354587)
GitOrigin-RevId: 934023ec1e68c240cc2bd315ee6493d36311c110
2024-06-14 13:20:40 +00:00
Bas Leijdekkers
3b9377a54b Java: better error message on duplicate reference in extends/implements list (IDEA-354856)
GitOrigin-RevId: 0ba4eed5966c273f94552d7fe623a69bb6eb6c95
2024-06-14 13:20:40 +00:00
Louis Vignier
7f7380dc70 [java] Add dedicated method for counting member usages in JavaTelescope
IJ-CR-135678

GitOrigin-RevId: b1baf89c994e9ce7fae6fe2c284ce13c9e8e139c
2024-06-14 08:36:16 +00:00
Tagir Valeev
db93e999ad [java-inspections] IDEA-354559 "Replace with pattern variable" false postive after mutation
GitOrigin-RevId: c6cef9441121dd21705494933c00ca4e63d5fbf3
2024-06-13 14:49:43 +00:00
Tagir Valeev
44a2c98274 [java-analysis] ControlFlowUtils.nextExecutedStatement: fix NPE
EA-984584 - NPE: ControlFlowUtils.nextExecutedStatement

GitOrigin-RevId: ca977a8d3cc60bfb7903ff472f4d61e721141c88
2024-06-11 18:03:46 +00:00
Tagir Valeev
d50f41f7ae [java-dfa] Restrict the result of CustomMethodHandler when qualifier is restricted
Fixes EA-1080132 - ISE: MethodCallInstruction.getMethodResultValue (String.trim, Enum.name)

GitOrigin-RevId: 3ab2fe4fac1d9333d0a61198d2614eead74a173c
2024-06-11 18:03:40 +00:00
Tagir Valeev
7b58c73e68 [java-intentions] RemoveNewKeywordFix: remove outer parameter list
Fixes EA-1067463 - IOE: BasicJavaParserUtil.parseFragment

GitOrigin-RevId: 790bf935afe2f0bf9e39ef4e1c1ae59dd599df63
2024-06-11 13:02:00 +00:00
Tagir Valeev
49ed49dc2d [java-inspections] EA-1160494 - IOE: BasicJavaParserUtil.parseFragment
GitOrigin-RevId: 5a13ceb97f8105766928d67336fe9a87df62053a
2024-06-11 13:01:56 +00:00
Tagir Valeev
ebe984524e [java-inspections] ScheduledThreadPoolExecutorWithZeroCoreThreadsInspection: fix NPE in case of no qualifier
Fixes EA-1243433 - NPE: DfaUtil.getDataflowContext

GitOrigin-RevId: e807a5e9675a9fbbc454fd29be661a878efcf04f
2024-06-10 18:11:38 +00:00
Tagir Valeev
f09dbab1e3 [java-inspections] LengthOneStringsInConcatenationInspection: repeat condition to avoid exception under concurrent write
EA-1260878 - IAE: PsiLiteralUtil.charLiteralString

GitOrigin-RevId: 3e8ce64ce37925b021c4d0aa90ef758d5b9e285a
2024-06-10 18:11:08 +00:00
Tagir Valeev
a26d25a99f [java-dfa] Do not report array as immutable if it's passed to pure methods that return unmodifiable object
The object may be only shallowly unmodifiable

GitOrigin-RevId: 41c0a0b46fc80169ff334d6337d9f8708e689448
2024-06-10 18:10:55 +00:00
Bas Leijdekkers
7602930457 Java: Don't consider class used when a member is implicitly used (IDEA-281800)
in editor only, disabled by default

GitOrigin-RevId: 92972eeb90efa1b2918440a65dd5195d17fbc959
2024-06-09 23:54:51 +00:00
Tagir Valeev
bbbda8b6af [incomplete-project-model] Better processing of overloaded methods
GitOrigin-RevId: b5348e9a75486c5bb75b49fd3e415743cb026952
2024-06-07 18:19:54 +00:00
Tagir Valeev
6f754cceb9 [incomplete-project-model] Illegal initializer for an array: do not report on pending refs
GitOrigin-RevId: f4dc862ce95589b32ff1bd36092a187e1c43a4a3
2024-06-07 18:19:49 +00:00
Tagir Valeev
2e03408f96 [incomplete-project-model] Attribute value must be constant: do not report on pending refs
GitOrigin-RevId: 3ea9a300b731280c6778ebcee2c858ab8b3e6534
2024-06-07 18:19:44 +00:00
Tagir Valeev
49a5baff95 [incomplete-project-model] Lambda parameter type is potentially convertible to anything
GitOrigin-RevId: 7f20f6011defbdbf8e3a6ce956c2d7f058f25738
2024-06-07 18:19:39 +00:00
Tagir Valeev
d7e82eae56 [java-incomplete-model] Suppress 'Variable expected' for pending references
GitOrigin-RevId: 04453a4a5947b024df4387f6ea42b903be703b1d
2024-06-07 16:43:27 +00:00
Tagir Valeev
36e1bb72de [java-incomplete-model] Basic support of unresolved functional interfaces
GitOrigin-RevId: b1a79f1a77911485011b011e09105fdadc887e58
2024-06-07 16:43:22 +00:00
Tagir Valeev
0037baab23 [java-incomplete-model] Do not report potentially convertible ==/!= comparisons
GitOrigin-RevId: 71b3f3c3edda0ffd112c314f6a5b5b0e2cb29ee6
2024-06-07 16:43:16 +00:00
Bas Leijdekkers
78865dc0a1 inspection: more accurate recognition of serialization related members
for "Unused declaration" inspection

GitOrigin-RevId: 331d66e0c964fabb35886658ff5a0a702cc0ac67
2024-06-07 14:19:07 +00:00
Bas Leijdekkers
d93f3a397d inspections: report unused enum classes
for "Unused declaration" batch inspection

GitOrigin-RevId: 04c25515d2cef8867823ea3659a4baab2167c58a
2024-06-07 14:19:07 +00:00
Tagir Valeev
78d4bd2c8b [java-intentions] Quick-fixes to change method/var return type when inference fails
Fixes IDEA-354184 Quick-fix for generic types

GitOrigin-RevId: 65d513f5303a082c26283e09275470840df90d30
2024-06-06 18:15:52 +00:00
Mikhail Pyltsin
1513beb5db [java-highlighting] ML-3395 Improve Java coloring
GitOrigin-RevId: 2fa75f580988dafc2fe4c1aa1ad03b154a7469ba
2024-06-05 20:50:17 +00:00
Tagir Valeev
b16f6b73cc [java-dfa] Anchor array creation with dimensions
Fixes IDEA-354502 Infer nullity / DFA: method return type nullability not inferred with returned new array without initializer

GitOrigin-RevId: f53afe22ebae40cb8326e6f83e29ccc93d93cbea
2024-06-05 14:22:26 +00:00
Mikhail Pyltsin
caf102770e [java] refactoring SwitchBlockHighlightingModel. Extract PatternsInSwitchBlockHighlightingModel into separate file
- add javadoc

GitOrigin-RevId: b2587c0ed34705af2e7df45001819e3e566e3be9
2024-06-04 20:10:54 +00:00
Bas Leijdekkers
7225738dae inspections: more clear presentation for unused declarations
GitOrigin-RevId: c60846f8be2cc4e33fa525e6bc39123b3d1e89b3
2024-06-04 00:44:50 +00:00
Tagir Valeev
5142e4d948 [java-inspections] RedundantCastUtil: report obviously redundant casts in var initializer (IDEA-353943)
GitOrigin-RevId: 5e04148f7f1901b86fc4d5da934cfe9e2e1244cd
2024-06-03 16:52:15 +00:00
Mikhail Mazurkevich
e90f9b767a [workspace model] IJPL-15936 Rename modifyEntity extension function
GitOrigin-RevId: 17a28521dcb772c359fc190ef05f934d35c3b510
2024-06-03 16:51:03 +00:00
Mikhail Pyltsin
73ccb3ef55 [java] EA-1146955 IOE: ClsElementImpl.cannotModifyException.
- Warn about cases when binary classes will be modified. CGLib can have problems with sealed classes, as they have closed permitted list.

GitOrigin-RevId: dc80246139c375cbf6a76da79b0b6af3c5e84e3a
2024-06-03 13:25:22 +00:00
Mikhail Pyltsin
7327bf910a [java-highlighting] IDEA-353876 Support intersection type for switch selectors
GitOrigin-RevId: 075363ad27e93718b10b79234904eed7ac919436
2024-06-03 10:46:00 +00:00
Louis Vignier
7418e0a4e3 [java] Make JavaTelescope single-threaded by default
#IDEA-353396 Fixed

GitOrigin-RevId: 725d8ee33cd2fa828fc2a522332c58e3f28ce586
2024-05-31 11:35:48 +00:00
Mikhail Pyltsin
687ea8c03c [java-highlighting] IDEA-286130 annotations are not allowed in permitted list
GitOrigin-RevId: 921ad24be3586a17a6e393d73687ddc36ce539ac
2024-05-30 17:07:51 +00:00
Mikhail Pyltsin
717a44934b [java-highlighting] IDEA-354239 support exhaustiveness for record patterns with cross-section
GitOrigin-RevId: 3a5ce8c4aeb88270fc750f1b671d02e0e3a9b7a7
2024-05-30 11:57:36 +00:00
Mikhail Pyltsin
fd9c6b6773 [java] refactoring SwitchBlockHighlightingModel. Extract PatternsInSwitchBlockHighlightingModel into separate file
GitOrigin-RevId: 1df8100e1184d87188daa4694a224635833b863b
2024-05-30 11:57:33 +00:00
Bas Leijdekkers
32ee8e3135 [java] consider enum constants used in batch inspection when valueOf() is called (IDEA-293797)
GitOrigin-RevId: 787c7356063bfbc11bbdc751dba55dd76f142e84
2024-05-29 14:19:54 +00:00
Mikhail Pyltsin
122bc7ffc3 [java-highlighting] IDEA-353117 Error highlighting in the incomplete project model
- prevent infinite recursion with parameters.
`com.intellij.codeInsight.daemon.impl.analysis.IncompleteModelUtil.hasUnresolvedComponent` can be called infinitely with parameters for ClassA<T extends ClassA<T>>, where T is captured `?`

GitOrigin-RevId: 60e44f537f04a3bf817493ff40eb227851bf1821
2024-05-27 15:13:42 +00:00
Mikhail Pyltsin
0dad9dd658 [java-inspection] IDEA-352587 Support JEP 455: Improve conversion from if to switch
- add more tests
- fix corner cases with doubled values

GitOrigin-RevId: 205a03a05a25282f41dad199a31fcba9c8141433
2024-05-27 11:27:15 +00:00
Bas Leijdekkers
2b4e8631ef [java] consider enum constants used in editor when valueOf() is called (IDEA-293797)
GitOrigin-RevId: 6a494c11f8e658f6bebef2f97623a0ab4801a672
2024-05-27 10:30:37 +00:00
Mikhail Pyltsin
5cdb566ad8 [java-inspection] IDEA-352587 Support JEP 455: Improve conversion from if to switch
GitOrigin-RevId: 30a1ee985af322459781882e4e792ecb6478ea67
2024-05-24 21:18:43 +00:00