Commit Graph
53 Commits
Author SHA1 Message Date
Aleksey Dobryninandintellij-monorepo-bot 87fbf8e408 [java, analysis, jigsaw] IDEA-381119 Remove module resolving from graph building to avoid recursive cycles
(cherry picked from commit fc672374ce0c379eb16d0c027132f262b6aed55f)


(cherry picked from commit 577c84278c86e0147c62d6ebc2e2f26295f37c37)

IJ-MR-182987

GitOrigin-RevId: 4bd27e20281444c10f0090c90f07e9bd20ed82e4
2025-11-21 14:23:31 +00:00
Aleksey Dobryninandintellij-monorepo-bot 547ccf8e3e [java, quickfix, jigsaw] IDEA-380666 add circular dependency handling for Jigsaw module completion
(cherry picked from commit 0beb868ac32c4cabae9392a9c34cb66086935a02)


(cherry picked from commit 5a7924c57cb9afd068e60aed6eea4d3b151cf8de)

IJ-MR-182986

GitOrigin-RevId: 201885016bf87fce8b6a98413c63d47de5023539
2025-11-21 11:43:10 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 67a6dac7f8 IJPL-209476 IJ-CR-146078 kotlinx-datetime-jvm, kotlinx-document-store-mvstore, kotlinx-html-jvm, kotlinx-serialization-protobuf, kotlinx-collections-immutable
GitOrigin-RevId: 058331a1e834d7780456f98d003afe56abfc36a0
2025-10-12 11:10:47 +00:00
Aleksey Dobryninandintellij-monorepo-bot 5b48a25215 [java jigsaw] building a module graph without using recursion IDEA-378170
GitOrigin-RevId: 3f842644792964d5cf625f57e273484947ef705e
2025-10-08 10:01:10 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot f43aa95086 [bazel] Update build files (IJI-3062)
GitOrigin-RevId: 98a67396a48bddc3d084cc93c50ae2f2017bfe8c
2025-09-29 00:11:15 +00:00
Nikolay Chashnikovandintellij-monorepo-bot d010a99375 [java] migrate some usages of getOrderEntriesForFile to findContainingSdks/Libraries to improve performance (IJPL-930)
'getOrderEntriesForFile' builds 'OrderEntryGraph' for the whole project when called for the first time after a 'rootsChanged' event. This may lead to freezes, so it's much more efficient to use newly introduced 'findContainingSdks' and 'findContainingLibraries' methods from 'ProjectFileIndex' instead where it's possible.

Semantics of code which used 'ModuleFileIndex' (not 'ProjectFileIndex') before may change if some file is part of an SDK in one module and part of a source code of another module, but in practice such cases shouldn't happen.

GitOrigin-RevId: 57ee33df6fe10d4d90687d68245a7dba3e6b7b03
2025-09-26 17:24:06 +00:00
Tagir Valeevandintellij-monorepo-bot fd093ea5ff [multiple] Cleanup: use record patterns
GitOrigin-RevId: dca054f83dadfb60c9aa1b0d950423fc55e3a7a3
2025-09-15 14:09:19 +00:00
Tagir Valeevandintellij-monorepo-bot 53489602f1 [java] cleanup: use getLast/getFirst/etc.
GitOrigin-RevId: e77d2952e8d83aedd00784a2b3290c6c92460717
2025-09-15 08:54:13 +00:00
Bartek Paciaandintellij-monorepo-bot 954aed5dda [java-inspections] IDEA-376220 Fix JavaApiUsageInspection not respecting preview features
Previously:
Assume we use language level 24, but JDK 25.
And that we used some *preview* API from JDK 25.
The quick-fix from JavaApiUsageInspection suggested bumping language level to 25.

Now:
It is fixed, i.e. the quick-fix suggests bumping language level to 25 preview.


Merge-request: IJ-MR-172531
Merged-by: Bartek Pacia <bartek.pacia@jetbrains.com>

GitOrigin-RevId: 4966e043c75a3b7ff5c19debe8e600579aad47c3
2025-08-26 13:31:30 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot dc268560b6 [bazel] Update build files (IJI-2835)
GitOrigin-RevId: 275260ab73f59d3c08f0b4cb9f4c89b74054094a
2025-08-20 08:49:22 +00:00
Anna Kozlovaandintellij-monorepo-bot 53e8197345 [java] split TargetModuleInfo based on creation place
- there are 2 cases: one when only PsiJavaModule might appear and another one where we detect the module by PsiFile.

- let's separate them in API, moving from PsiFile to VirtualFile to avoid slow (in kotlin) navigationElement resolution

^KTIJ-34700 fixed

GitOrigin-RevId: df96f36a4aa15f1cd41b1665ff4da208fd0d0ea4
2025-07-01 17:09:03 +00:00
Tagir Valeevandintellij-monorepo-bot 1a68af9b51 [java-highlighting] IDEA-374968 Red code in ConcurrentSkipListMap.java
GitOrigin-RevId: cfb9b5cbf965190668e9cb4cb9ed102f26fcd3f7
2025-06-25 14:15:10 +00:00
Stanislav Utikeevandintellij-monorepo-bot 7acb1c3ced [java] Use navigationElement instead of originalFile to retrieve the file for JPMS module resolution
The problem arises with Kotlin light classes created by `DecompiledLightClassesFactory`. The resulting class isn't physical, and its `originalFile` doesn't point to the physical file as well. Thus, module info isn't found which, e.g., leads to some symbols not being recommended in the "Add dependency" family of quick fixes.

`navigationElement`, however, is set properly in such classes so it can be used to find a PSI element which resides next to the potential module-info. As `TargetModuleInfo.module` can resolve JPMS module both via sources and via class files, it seems alright to provide any of such.

GitOrigin-RevId: cec0309959a56e1976b4da5ca1f69b4041278e2a
2025-06-24 03:48:15 +00:00
Vladimir Krivosheevandintellij-monorepo-bot ef0323d07c IJ-MR-162467 don't export intellij.platform.core
GitOrigin-RevId: 05f350c1c087be1bf9b46d8bdac5345a65f55958
2025-06-13 21:52:48 +00:00
Alexey Kudravtsevandintellij-monorepo-bot be07a22a4c get rid of deprecated method usages
GitOrigin-RevId: 3aafdd3355bba6c98e358a8e52c5cf7a3e3238e8
2025-05-15 16:36:52 +00:00
Ilia Kirianovskiiandintellij-monorepo-bot 5686cf1893 [bazel] Update build files
GitOrigin-RevId: 8038dfd0c3f32ea766ea4a73673186c44960f996
2025-05-15 12:18:11 +00:00
Vladimir Krivosheevandintellij-monorepo-bot b660081493 IJ-MR-162467 don't export intellij.platform.workspace.storage
GitOrigin-RevId: 65ff26dfef46b205eb68dc2f2e60eab4720c87c8
2025-05-15 09:18:18 +00:00
Vladimir Krivosheevandintellij-monorepo-bot fbc9805e89 IJ-MR-162467 don't export intellij.platform.jps.model
GitOrigin-RevId: ebaebc90d514e5f3046fe2b973647da4bf156625
2025-05-14 18:10:23 +00:00
Vladimir Krivosheevandintellij-monorepo-bot 6f8ff07ccc simplify bazel labels (another step towards using simple names that reflect directory structure)
GitOrigin-RevId: 12bfb2d0fa315d87c7a4ade363d0f834cf324b71
2025-05-08 16:58:30 +00:00
Aleksey Dobryninandintellij-monorepo-bot dbeeca52b4 [java jpms] Consider file system case sensitivity when processing JDK modules IDEA-371051
GitOrigin-RevId: e8f7ac3f9d2a3b10a1bd92173cae966d30ee2bc9
2025-05-07 15:47:27 +00:00
Alexey Kudravtsevandintellij-monorepo-bot a6b53c8961 fix "modifying immutable collections" warnings
GitOrigin-RevId: 5a98fca8ccd622a64d1c8de632c6c3b0af8a78c2
2025-04-09 14:23:32 +00:00
Max Medvedevandintellij-monorepo-bot 0e5df35887 IDEA-359853 rename PsiKeywords to JavaKeywords
GitOrigin-RevId: 549c1b35265414221b6b83ed1b5c426418ad032e
2025-04-03 11:33:32 +00:00
Max Medvedevandintellij-monorepo-bot 0ce5d6986a IDEA-359853 deprecated constants in PsiKeyword
GitOrigin-RevId: 94f23984ad8f4f467fed1f01f47b2a9b46242cac
2025-04-03 00:36:42 +00:00
Tagir Valeevandintellij-monorepo-bot cd443481a1 [java-highlighting] Unify null-handling in switch-related code
Now, isNullLiteral is used everywhere. There are differences between isNullLiteral and isNullType, but they affect only

GitOrigin-RevId: b778f35bcc321b925689a46a8725df5fcad75c93
2025-03-04 17:38:53 +00:00
Tagir Valeevandintellij-monorepo-bot 8620b4d854 [java-highlighting] Move JavaPlatformModuleSystem to codeserver.core and deprecate/merge with JavaModuleGraphHelper
We don't need both service and EP to support modules; one thing would be enough. JavaModuleSystem is still used from Kotlin compiler, so should be kept for a while.

GitOrigin-RevId: d55622468eea50cd60c99ada794b6c855dcc0079
2025-03-03 18:30:06 +00:00
Tagir Valeevandintellij-monorepo-bot 96b87e85a5 [java-highlighting] fix-related code moved to HighlightFixUtil
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: fcb88cf8e0bb3aa976d675f28863a4ec292c5df5
2025-02-28 17:16:32 +00:00
Tagir Valeevandintellij-monorepo-bot a1d51b1179 [java-highlighting] hasExhaustivenessError moved to JavaPatternExhaustivenessUtil
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 0190cf700e9e38b473982c73e2f2d88fdb696870
2025-02-28 17:16:32 +00:00
Tagir Valeevandintellij-monorepo-bot 7ce31efa0b [java-highlighting] Extract JavaPatternExhaustivenessUtil to compute exhaustiveness information
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 2f02174a6eaa696caa51fed1d4fa1bd953751759
2025-02-28 17:16:32 +00:00
Tagir Valeevandintellij-monorepo-bot 174ffe0cac [java-highlighting] getSwitchBranches moved from SwitchUtils to JavaPsiSwitchUtil
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 9e356b8522c0bb5a8112d5c30913a4aa3d9cf45d
2025-02-27 19:55:56 +00:00
Tagir Valeevandintellij-monorepo-bot b3b3fcf587 [java-highlighting] Use JavaPsiSwitchUtil.isBooleanSwitchWithTrueAndFalse
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: bde4078ac2d09977730c7803a3565c9bbe683a06
2025-02-27 16:13:31 +00:00
Tagir Valeevandintellij-monorepo-bot 85bcd9b77e [java-highlighting] PatternsInSwitchBlockHighlightingModel: more refactoring of exhaustiveness checks
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 54943a1bd0996e48023e577c6780001d9fcbd404
2025-02-27 11:42:20 +00:00
Tagir Valeevandintellij-monorepo-bot fa60db5164 [java-highlighting] Switch dominance: extract reusable code to JavaPsiSwitchUtil
Also: move JavaPsiSwitchUtil to codeserver.core; isEnhancedSwitch to ExpressionUtil (used in ControlFlowAnalyzer which is psi-impl module)
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: d9b1070db6b5b44f7523db284ca5fabcc1cdef22
2025-02-26 18:59:35 +00:00
Tagir Valeevandintellij-monorepo-bot 6d7ef89b5a [java-highlighting] Migrate fallthrough-related errors
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 0a2b7e91a93e8207101368c0fcfb3cf58a793203
2025-02-26 10:29:12 +00:00
Tagir Valeevandintellij-monorepo-bot 2250bb64ee [java-highlighting] Finish moving module access errors
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 0f89a7cd9609aea2780e132118aae892a6b0bafd
2025-02-25 17:24:00 +00:00
Tagir Valeevandintellij-monorepo-bot 8492a12ace [java-highlighting] JpmsModuleAccessInfo: replace lambda with JpmsModuleAccessMode
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 6433be5cf21b45ca79fbbaa1650f52e9249e4f26
2025-02-24 11:43:33 +00:00
Aleksey Dobryninandintellij-monorepo-bot ee90bc0f93 [java, jigsaw] support JEP 11 class file attributes (IDEA-366117) IJ-CR-154755
GitOrigin-RevId: 44bfa9f62cb31f539c40cb2ecd534fa0856ac8aa
2025-02-24 10:44:41 +00:00
Tagir Valeevandintellij-monorepo-bot 9559d696ff [java-highlighting] Refactor JavaPlatformModuleSystem: separate finding problem, reporting it and creating fixes
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 0990deef5a6fc379464fe1e8c9ecb46d73a1c13b
2025-02-21 16:25:37 +00:00
Tagir Valeevandintellij-monorepo-bot 5014925e91 [java-highlighting] Refactor unrelated default method analysis; extract JavaPsiMethodUtil
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 1e7f4feab6cbaa3d38960a3c0e45aa5dd2def61a
2025-02-21 10:35:05 +00:00
Tagir Valeevandintellij-monorepo-bot 492c6bdaec [java-core] JavaPsiSealedUtil moved to codeserver.core
GitOrigin-RevId: d4d5b683216563029bf817a964fbd020c33ac990
2025-02-18 09:36:18 +00:00
Tagir Valeevandintellij-monorepo-bot 47ea843d98 [java-core] JavaPsiReferenceUtil moved to codeserver.core
GitOrigin-RevId: acad9e3fddb54a91d678aead628c2124128e93f0
2025-02-18 09:36:18 +00:00
Tagir Valeevandintellij-monorepo-bot f659d57b70 [java-core] JavaPsiEnumUtil moved to codeserver.core
GitOrigin-RevId: c4f14fb79181cebe0ff87f5830b64228c0937e70
2025-02-18 09:36:18 +00:00
Tagir Valeevandintellij-monorepo-bot 4abe8788e2 [java-core] JavaPsiSingleFileSourceUtil moved to codeserver.core
GitOrigin-RevId: 2368062535cd331747a871d22f405e4683ae8bd6
2025-02-18 09:36:18 +00:00
Tagir Valeevandintellij-monorepo-bot eec026b0ea [java-core] JavaPsiModifierUtil moved to codeserver.core
GitOrigin-RevId: 72b18a9acec8597aad73610937894f2c2e6d1b36
2025-02-18 09:36:18 +00:00
Tagir Valeevandintellij-monorepo-bot d0e7c1e66e [java-core] JavaPsiVariableUtil moved to codeserver.core
GitOrigin-RevId: d439121bd3795e5ffe13a43152c2a78973e24fcc
2025-02-18 09:36:18 +00:00
Tagir Valeevandintellij-monorepo-bot a0f777069b [java-highlighting] move module-related warnings to JavaModuleDefinitionInspection
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: 66179a41da5e02b759f07f9d6638b87711181348
2025-02-17 12:04:21 +00:00
Tagir Valeevandintellij-monorepo-bot 5d47c60541 [java-highlighting] more module-related problems migrated
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: e0b7381612b50ee09c7a5ff676aec5f14da6636d
2025-02-11 18:46:42 +00:00
Tagir Valeevandintellij-monorepo-bot 6fc7a8b6e5 [java-core] Split JavaServiceUtil
JavaServiceProviderUtil -> codeserver.core
JavaServiceLineMarkerUtil -> java-impl

GitOrigin-RevId: 65c42cdce19ab257ffd18143cc32ff4bd4aeacf7
2025-02-11 18:46:42 +00:00
Vladimir Krivosheevandintellij-monorepo-bot e465d1ac3d update bazel files
GitOrigin-RevId: 06d2aa1502e9c589453f8fb3d452ab7e9eaf0041
2025-02-11 17:05:10 +00:00
Tagir Valeevandintellij-monorepo-bot 291c3cfbd9 [java-modules] More code moved to JavaPsiModuleUtil from JavaModuleGraphUtil
GitOrigin-RevId: 0a0e7d4bc713deb3d1d55857873c1f708da7a2af
2025-02-11 09:57:16 +00:00
Tagir Valeevandintellij-monorepo-bot 178b721cf7 [java-highlighting] Preview warning migrated
Also improve reporting, different messages for errors and warnings; reflective preview use reported by inspection
Part of IDEA-365344 Create a new Java error highlighter with minimal dependencies (PSI only)

GitOrigin-RevId: d7c85058aed3202d0599fc879a61c0fa56388fea
2025-02-10 14:02:54 +00:00