Commit Graph
5966 Commits
Author SHA1 Message Date
Max Medvedevandintellij-monorepo-bot d70ae82c0e IDEA-367535 more doc for getCachedClassesByName method
GitOrigin-RevId: 37592e5dd702bc3d3a3554de9e40656a788e7e06
2025-09-30 15:28:22 +00:00
Tagir Valeevandintellij-monorepo-bot f6b49100b4 [java-psi] IDEA-377693 Support unbounded wildcards
New exceptions are added with a discussion opened in JSpecify tracker:
https://github.com/jspecify/jspecify/issues/771

GitOrigin-RevId: ebcd3cfb99fc26e8b18c4c4ab25b10ed74ca8c11
2025-09-30 08:46:32 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot f43aa95086 [bazel] Update build files (IJI-3062)
GitOrigin-RevId: 98a67396a48bddc3d084cc93c50ae2f2017bfe8c
2025-09-29 00:11:15 +00:00
Bas Leijdekkersandintellij-monorepo-bot ff4d693212 Java: introduce PsiArrayInitializerMemberValue.getInitializerCount() (IJ-CR-176760)
GitOrigin-RevId: d2cd802dbb3edff7218517221db96b39840e720a
2025-09-26 14:02:14 +00:00
Bas Leijdekkersandintellij-monorepo-bot f3f0542bd9 Java: minor cleanup
GitOrigin-RevId: 3089bdc43162d6c63addd3d6e075bff4830160b2
2025-09-26 14:02:14 +00:00
Bas Leijdekkersandintellij-monorepo-bot 1143fea0b7 Java: introduce PsiArrayInitializerExpression.isEmpty() as well (IJ-CR-176760)
GitOrigin-RevId: 2f0757929d780ff01930cc8001001daf59ec4500
2025-09-26 14:02:14 +00:00
Tagir Valeevandintellij-monorepo-bot 148ece4eea [java-psi] Return non-null type for .class expression
GitOrigin-RevId: b3eb450d0555e55b3710c48d596ba1f9ebf66853
2025-09-26 13:54:39 +00:00
Tagir Valeevandintellij-monorepo-bot ac74ac484e [java] IDEA-379795 Add hasAnnotations() to PsiAnnotationOwner, PsiModifierListOwner and TypeAnnotationProvider
GitOrigin-RevId: dbe2d9508f45fb5bbbff26c1ba81792f5120c690
2025-09-26 11:09:02 +00:00
Marcin Mikosikandintellij-monorepo-bot 2ea0d03d4d [java] IDEA-379571 Improve PsiPackageStatement.getAnnotationList() so it never returns null value.
#IDEA-379571 Fixed
Merge-request: IJ-MR-176432
Merged-by: Marcin Mikosik <marcin.mikosik@jetbrains.com>

GitOrigin-RevId: 0d575fd55751ccac0b098b189ba3e90bbb081299
2025-09-26 08:03:20 +00:00
Bartek Paciaandintellij-monorepo-bot 476710737a [java-decompiler] IJ-CR-176652 rename more occurrences of "FernFlower" to "Fernflower"
GitOrigin-RevId: a0b2670ceebb06aab74ff0199ce5db8d75254024
2025-09-25 22:19:27 +00:00
Tagir Valeevandintellij-monorepo-bot b44761dc38 [java-psi] IDEA-379789 Guava. Possible NPE is not highlighted
Correct nullability when inferring type variable from eq and lower bounds

GitOrigin-RevId: 3c41bda2c36fd24568710ef2c9ca8b5ba0c70414
2025-09-25 16:57:56 +00:00
Mikhail Pyltsinandintellij-monorepo-bot fe36cbe99f [java-generation] IJ-CR-176380 IDEA-372740 ConcurrentMap implementation must override putIfAbsent, but that method is not in the Override Methods screen, nor Implement Methods
- simplification

GitOrigin-RevId: c15b9f8891695bab89b51ca5fab629f096d41a41
2025-09-24 13:24:27 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 5b95425215 IJPL-156676 use coroutineScope instead of Disposable
GitOrigin-RevId: 7e6ee2c3efcda2d23797333bd414c299445257a0
2025-09-23 17:18:36 +00:00
Mikhail Pyltsinandintellij-monorepo-bot 1dc66aa0e3 [java-generation] IDEA-372740 ConcurrentMap implementation must override putIfAbsent, but that method is not in the Override Methods screen, nor Implement Methods
GitOrigin-RevId: d37733578b8cc097b034f1c729abcdbb12c7015c
2025-09-23 14:56:40 +00:00
Tagir Valeevandintellij-monorepo-bot ad883180fe [java-psi] Cleanup: remove redundant code (follow-up after IDEA-375067)
GitOrigin-RevId: 3fb27887b88011cb684b70527a9a8dc73c865d61
2025-09-22 16:16:42 +00:00
Bas Leijdekkersandintellij-monorepo-bot 69f8ffade6 Java: allow safe delete of single variable in multi-declaration without splitting into separate declarations
GitOrigin-RevId: 73bc261b2e6dc88ca6148a8a6c5ff697efb9bd18
2025-09-19 17:27:37 +00:00
Bas Leijdekkersandintellij-monorepo-bot a1c7ca404c Java optimization: introduce PsiArrayInitializerExpression.getInitializerCount() and use it where possible (IDEA-375485)
GitOrigin-RevId: 1d54ca3773469a22db195a1667ce21cdc679a324
2025-09-19 17:27:37 +00:00
Bas Leijdekkersandintellij-monorepo-bot 76599bec44 Java: fix safe delete on for loop initializer with multiple declarations (IDEA-379589)
GitOrigin-RevId: 9a4d5e48fe41362f2a4c34d2d1bb709b6174648f
2025-09-19 17:27:37 +00:00
Bas Leijdekkersandintellij-monorepo-bot 99dc01d75a Java: annotate PsiExpressionListStatement.getExpressionList() as @NotNull
GitOrigin-RevId: 509212ab37f403b04109dc7535cc4a6e1fdf3478
2025-09-19 17:27:37 +00:00
Tagir Valeevandintellij-monorepo-bot fbd13ff64c [java-psi] IDEA-377644 PsiImmediateClassType, PsiArrayType: reset nullability when annotations changed
Also: do not merge annotations during the substitution (unnecessary anymore after nullability is implemented and causes problems)
Some tests that rely on annotation merging during the substitution are removed/updated. The behavior was inconsistent anyway.

GitOrigin-RevId: c13e68616507bbb10cbe0384d122334879e166df
2025-09-18 15:04:14 +00:00
Mikhail Pyltsinandintellij-monorepo-bot de93e0f2b1 [java] IDEA-365317 deprecate outdated parsers and IElementTypes
GitOrigin-RevId: 034680fefe2a078e5e30fdb8fff7df35149fca61
2025-09-18 12:34:09 +00:00
Louis Vignierandintellij-monorepo-bot 115c73bc1e [javadoc] Highlight unresolved fragment references
IJ-MR-174748
#IDEA-376337

GitOrigin-RevId: 4352c370375c968392ea81cdcfab262ebd7fa5ab
2025-09-17 19:25:19 +00:00
Louis Vignierandintellij-monorepo-bot 3cf7c13a11 [javadoc] Add interfaces for fragment reference PSI elements
IJ-MR-174748

GitOrigin-RevId: 0db4a62e4216d01f52e49dfbe68f94654709c097
2025-09-17 19:25:19 +00:00
Louis Vignierandintellij-monorepo-bot c6cc5e8224 [javadoc] Remove fqn-based lookup in JavaDocFragmentAnchorCache
IJ-MR-174748

GitOrigin-RevId: 66fecf99f6c3990aa8e4c35bb796413d83909119
2025-09-17 19:25:19 +00:00
Louis Vignierandintellij-monorepo-bot 03ed50736e [javadoc] Remove java 9 APIs in JavaDocFragmentAnchorCache
IJ-MR-174748

GitOrigin-RevId: b7067cdd80f4f0ec37289a98271b67e29b007646
2025-09-17 19:25:18 +00:00
Louis Vignierandintellij-monorepo-bot c6ac8622b9 [javadoc] Fix rendered fragment references
#IDEA-379155 Fixed

GitOrigin-RevId: ce8a74e26ad1f221ff90719090bb34599f4751c0
2025-09-17 19:25:18 +00:00
Louis Vignierandintellij-monorepo-bot ebd429bcd9 [javadoc] Move JavaDocFragmentAnchorCache to java.psi.impl
IJ-MR-174748

GitOrigin-RevId: d858bf5ed540278c07f72da72847ca76e1ddfe54
2025-09-17 19:25:18 +00:00
Louis Vignierandintellij-monorepo-bot c4c3151607 [javadoc] Update JavadocDeclarationInspection for fragment references
#IDEA-379008 Fixed

GitOrigin-RevId: bc90a975bae732a505d9bae1550f4fa475ea0ec7
2025-09-17 19:25:18 +00:00
Louis Vignierandintellij-monorepo-bot bfe0d574ab [javadoc] Add navigation for fragment references
#IDEA-376337 Fixed

GitOrigin-RevId: e56328231c555d8cf4a75a93b107a1e284f15c73
2025-09-17 19:25:18 +00:00
Louis Vignierandintellij-monorepo-bot f421f79436 [javadoc] Add completion for fragment references
#IDEA-376337

GitOrigin-RevId: 887853966d3bea20f27f3d9f70d1c045176dc538
2025-09-17 19:25:18 +00:00
Louis Vignierandintellij-monorepo-bot 01693af6d4 [javadoc] Parse fragment references
- Added a token for `##`
- Added a PSI element for fragment references
- Added a PSI element for the fragment name

#IDEA-376337

GitOrigin-RevId: e91c550106c2e84dd0d84680a7c1cb4e14df19b3
2025-09-17 19:25:18 +00:00
Tagir Valeevandintellij-monorepo-bot 9d80ffaa8a [java-psi] ControlFlowUtil: avoid storing null mappings into the map
This improves performance and makes the code clearer

GitOrigin-RevId: 2b8d9ae1b354f2a2018e313b2009209e0f7f8ef3
2025-09-15 08:54:14 +00:00
Max Medvedevandintellij-monorepo-bot 3db4905b69 IDEA-367535 add docs for PsiPackage#findClassByShortName and its impl
GitOrigin-RevId: 2a0aee458ece289d1d306ad9ce9f81d6b7ef332b
2025-09-14 16:43:37 +00:00
Max Medvedevandintellij-monorepo-bot 7429c6c37a IDEA-367535 use more descriptive shortName parameters instead of name
`name` is ambiguous, it can stand for `shortName` or `fully qualified name`

GitOrigin-RevId: d6327ca368925fe35946134275d6d468cc9b9c76
2025-09-14 16:43:37 +00:00
Tagir Valeevandintellij-monorepo-bot 2bd42bb487 [java-intentions] IDEA-379168 Suggest renaming underscore variable when it's used.
GitOrigin-RevId: eb0cfd7ddf8d5d730198ea5cd064cca79724348e
2025-09-11 18:13:46 +00:00
Tagir Valeevandintellij-monorepo-bot 21953e73e2 [java-psi] ControlFlowUtil: refactor to use UnmodifiableHashMap internally
We don't need a set of VariableInfo (which has weird identity). What we really need is mapping from PsiVariable to PsiReferenceExpression, so we can reuse existing (and likely more efficient) UnmodifiableHashMap instead of ad-hoc CopyOnWriteSet.

GitOrigin-RevId: d3419ff8e701dcddbed8c424447e0c690536f1e8
2025-09-10 09:48:02 +00:00
Bas Leijdekkersandintellij-monorepo-bot 05d8e4efa0 Java: add comment explaining remove and add (IJ-CR-174999)
GitOrigin-RevId: 0a05ce165f99f2bd89037e9da9bbe3e911e6e33b
2025-09-09 17:57:57 +00:00
Mikhail Pyltsinandintellij-monorepo-bot c2d7c558ee [java-highlighting] IDEA-378880 False compilation error in a compact source file
- disable correction by scope for classes inside compact source files

GitOrigin-RevId: 44831301a6c14f60d26ae4715df18c4cd24e1ee8
2025-09-09 12:11:34 +00:00
Tagir Valeevandintellij-monorepo-bot 4b06f4efee [java-psi] Disable nullity processing during upper bound capturing
We rely on PsiCapturedWildcardType identity when creating recursive types (the upper bound of a PsiCapturedWildcardType may refer to the same type). However, when we are under NullMarked annotation, the PsiCapturedWildcardType instance could be recreated, which prevents us from creating a proper PsiType object.
Fixes IDEA-378142 Regress issue with resolve type of returned generics value

GitOrigin-RevId: 4fb3c306e302715ab8de93f606397cd2a3dcb864
2025-09-08 19:06:53 +00:00
Bas Leijdekkersandintellij-monorepo-bot d1082c36fe Java: add caching for isEffectivelyFinal() (IDEA-375157, IDEA-375485)
GitOrigin-RevId: 09e013188beb0db54b83a2c11f32037caeecd7b1
2025-09-08 19:06:14 +00:00
Alexey Kudravtsevandintellij-monorepo-bot 0aa8300d60 do not call CHM.clear on a very big map (due to a bug in CHM which makes .clear() O(N)) to fix IJPL-28513 Freeze in PsiDocumentManagerBase.commitToExistingPsi
GitOrigin-RevId: 490900be81266160fb4fd23f8db0383981d3e07c
2025-09-08 13:35:30 +00:00
Bas Leijdekkersandintellij-monorepo-bot 9145ddbf49 Java: avoid some unnecessary work in ControlFlowUtil.isEffectivelyFinal() (IDEA-375485)
GitOrigin-RevId: 3c8f59b5930d8980eb6e20edb82d25c2282a65aa
2025-08-26 17:45:43 +00:00
Bas Leijdekkersandintellij-monorepo-bot 97de4512b7 Java: report more "variable might have been assigned to" problems
GitOrigin-RevId: 030936b065bb00b504a69bc08ad39ae8a28cad6f
2025-08-25 17:43:01 +00:00
Aleksei.Cherepanovandintellij-monorepo-bot c7515bfd3a KTIJ-35250 [Bazel] Promote "Missing dependency superclass" warning to error (part 2)
This commit enables check only for modules WITH a Kotlin facet
Bazel generator was updated as well

GitOrigin-RevId: 90a3427d4b5a3ebc29e257693cb3748ac09bfc6a
2025-08-24 18:49:00 +00:00
Max Medvedevandintellij-monorepo-bot ec217aef02 docs for syntax and parser definitions
GitOrigin-RevId: bc7454b5c3301bbf190b84c044d2d982970c86f4
2025-08-24 14:51:52 +00:00
Max Medvedevandintellij-monorepo-bot d3f92d820d IDEA-367535 cache classes by name and scope if multiverse is enabled
GitOrigin-RevId: 5c8d0a1d6eaf2aee46f3e3a6fa41743d45b06208
2025-08-21 18:11:44 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot dc268560b6 [bazel] Update build files (IJI-2835)
GitOrigin-RevId: 275260ab73f59d3c08f0b4cb9f4c89b74054094a
2025-08-20 08:49:22 +00:00
Bas Leijdekkersandintellij-monorepo-bot 6216f7dca6 Java: improve ControlFlowUtil.isEffectivelyFinal() performance (IDEA-375485)
this should improve ControlFlowPerformanceTest.testManyLocalVariables()

GitOrigin-RevId: 95fbb002f546c8e1d29cc844cedddff230d144da
2025-08-19 18:30:46 +00:00
Bas Leijdekkersandintellij-monorepo-bot 2a22311d91 Java: cleanup
GitOrigin-RevId: 76395b95da072a18a7bbbdaef52b55cc44ffc764
2025-08-19 18:30:46 +00:00
Bas Leijdekkersandintellij-monorepo-bot ada544dc27 Java: use ContainerUtil instead of stream
GitOrigin-RevId: fbe799659545acf0613d014e8a96a1b4bca92a85
2025-08-19 18:30:46 +00:00