Commit Graph

214 Commits

Author SHA1 Message Date
Alexey Kudravtsev
394e5c640a IDEA-321013 Outdated HighlightInfo's should be removed as soon as the relevant annotator or inspection finishes
Rework annotators engine to make annotators run in parallel, each on all relevant PSI elements in their own order (makes fast annotators complete faster to allow them to remove outdated highlighters faster).
For that, for each annotator (in parallel):
- create its own AnnotationHolder
- rearrange its PSI elements in "time to first diagnostic in previous run" order, to reduce latency.
- run annotator on these PSI elements sequentially
- as soon as annotator produces info/fails to produce the same info from the previous run, update the corresponding range highlighters
Pleas note, there's no more contract "Do not call annotators for parent PSI if some (maybe completely unrelated) annotator/highlight visitor produced error for some PSI element".
Fix highlighting tests, the majority of which relied on annotator order, or implicit contract above.
Fix a bunch of annotators which tried to double-visit some PSI elements to fight the contract above.

GitOrigin-RevId: 74f727fc6d3be3f500cdbb0f26e7d0daf1ffe7ff
2024-02-12 18:52:52 +00:00
Bart van Helvert
dc11424f70 [kotlin] Run import optimizer when no usages are found
Fixes the issue in Kotlin, Java and Groovy. #KTIJ-28288 Fixed

GitOrigin-RevId: 7cd5942539a10f9ccdba386396f15546b0a9ac00
2024-01-17 13:18:01 +00:00
Dmitry Avdeev
6ba55541ee IDEA-337197 Throwable: the expensive method should not be called inside the highlighting pass in JSP
check unresolved references in a dedicated XmlUnresolvedReferenceInspection

GitOrigin-RevId: d54b7a0b933c33c8656726c84a9611c97c1268ff
2023-12-13 18:12:42 +00:00
Alexey Kudravtsev
0d0ace145d add assertion to InplaceRefactoring to check the correct editor is passed
(since the zilliard exceptions in the range marker creation was caused by incorrect offsets coming from injected editor being applied to the host editor and vice versa)
Fix two zillion umpteen tests

GitOrigin-RevId: b0817c2b50ea9b3c5fa20ec729a2ff0b91a9ffd9
2023-01-07 15:05:20 +00:00
Aleksandra Zolushkina
b661e5fb20 Fix JavaFXHighlightingTest.testEventHandlers
GitOrigin-RevId: b84f3a9dc07f6e058d2dd3cb1a09a2a6e4143056
2020-11-30 22:18:10 +00:00
Aleksandra Zolushkina
b6fd543844 Fix JavaFXHighlightingTest.testHandlerWithoutController
GitOrigin-RevId: 65b062cf735cccbee325fc232a578927d0e0ec7c
2020-11-30 22:18:09 +00:00
Aleksandra Zolushkina
0e3c3be4aa Fix JavaFXHighlightingTest.testNullObjectValue
GitOrigin-RevId: 3e8731aefb7d12bade404043bd97853d47e1d47d
2020-11-30 22:18:08 +00:00
Aleksandra Zolushkina
8e8eaec3bf Fix JavaFXHighlightingTest.testUnresolvedTopLevelController
GitOrigin-RevId: 906bbda447d52864b3e2d0c24391e9e8d637f34c
2020-11-30 22:18:07 +00:00
Anna Kozlova
2b3482d76b i18n: javafx
GitOrigin-RevId: 965b90ad8ee53204f2598d762bd218fb18a91f24
2020-08-25 09:07:09 +00:00
Anna Kozlova
1c0c6c5dc1 javafx: don't request dollar in imports (IDEA-190964)
GitOrigin-RevId: 9b977b38a4fdd3f13b6c7bc6a246aaebcbf41bbe
2020-07-15 09:54:54 +00:00
Peter Gromov
6d71b92a62 make synthetic enum valueOf/values methods part of PsiClass#getMethods
because all other synthetic methods from records and plugins are also there
inspired by IDEA-CR-57031

GitOrigin-RevId: 9a8b345adaded83fe13980a28db5d9f9acc7450d
2020-01-21 06:38:24 +00:00
Anna.Kozlova
99d01ccd8c don't make raw type equal to anything else (IDEA-192037) 2018-05-17 11:28:24 +02:00
Daniil Ovchinnikov
40a99caac6 fix SIOOBE (EA-116377) 2018-02-28 17:05:35 +03:00
Daniil Ovchinnikov
3b74a37ba5 fix the test: now it is possible to render methods from XML in Groovy 2018-02-28 13:25:15 +03:00
Daniil Ovchinnikov
51395418c1 [jvm-lang] port JavaFX event handler reference fixes 2017-09-07 17:25:49 +03:00
Alexey Kudravtsev
3f2fd61a78 assertion enforced (in tests only for now) that line markers must be registered on leaf elements only instead of composites. The latter may cause highlighting blinking but nobody reads javadoc nowadays. 2017-08-09 13:25:04 +03:00
Nicolay Mitropolsky
7c464c65a1 Update JavaFxEventHandlerReference to new JvmCommonIntentionActionsFactory API (IDEA-172229) 2017-07-05 19:37:24 +03:00
Pavel Dolgov
6c92cb1d43 Javafx: Added test for implicit usages of @FXML-annotated fields/method (IDEA-167778, IDEA-CR-18453) 2017-03-29 13:11:04 +03:00
Pavel Dolgov
ca54c8fa1f Javafx: Added tests for JavaFxColorProvider - number format for JavaFX colors in Java source (IDEA-167948) 2017-02-16 13:20:18 +03:00
Pavel Dolgov
8de4d31a5a Javafx: Added tests for JavaFxColorProvider - check that the color component is in the range (EA-96689) 2017-02-15 14:47:18 +03:00
Pavel Dolgov
40864f8b70 Javafx: Don't mark as an error the FXML attribute corresponding to a constructor argument annotated with @NamedArg (IDEA-165983) 2017-01-12 13:14:33 +03:00
Pavel Dolgov
74e42ee761 Javafx: "Wrap field with JavaFx property" intention - added test for adding/deleting FXML files (IDEA-102430) 2016-10-28 14:59:42 +03:00
Pavel Dolgov
1556430784 Javafx: "Wrap field with JavaFx property" intention - use ProgressIndicator and TransactionGuard when performing the refactoring (IDEA-102430) 2016-10-26 21:34:39 +03:00
Pavel Dolgov
5706a80f78 Javafx: "Wrap field with JavaFx property" intention (IDEA-102430) 2016-10-17 20:13:40 +03:00
Pavel Dolgov
cf47b17b49 Javafx: Migration to JDK 9 (IDEA-157536) 2016-10-07 17:35:35 +03:00
Pavel Dolgov
0024b81709 Javafx: Allow to use fx:id of a node in expressions within the same node - test added (IDEA-161627) 2016-10-06 13:16:30 +03:00
Pavel Dolgov
12d71ce0d4 Javafx: Created inspection that validates attribute values provided in a resource bundle (IDEA-100213) 2016-09-14 14:46:34 +03:00
Pavel Dolgov
c703152ebf Javafx: Support resolution of resource keys (IDEA-100213) 2016-09-13 12:54:59 +03:00
Pavel Dolgov
5813976925 Javafx: Don't show number format error for resource keys (IDEA-160452) 2016-09-12 13:01:25 +03:00
Pavel Dolgov
49fd96c74a Javafx: Rename nested controller field along with the corresponding fx:id attribute or field (IDEA-153810) 2016-06-17 19:39:10 +03:00
Pavel Dolgov
528c63497e Javafx: Resolve $null symbol and ${null} expression in FXML (IDEA-112153) 2016-06-14 16:18:53 +03:00
Pavel Dolgov
85c75a9f79 Javafx: Don't report default tag problem when the default tag is a collection and its contents is also a collection. Move a reused method to utility class. Tests added. (IDEA-153662) 2016-05-18 16:23:02 +03:00
Pavel Dolgov
0777e2e8ab Javafx: Take into account member visibility settings when creating event handler method for FXML. Tests added. (IDEA-151695) 2016-05-13 12:04:12 +03:00
Pavel Dolgov
259435bbc8 Javafx: Highlighting for private event handler methods marked with @FXML (IDEA-151633) 2016-05-12 19:46:18 +03:00
Pavel Dolgov
b185aaf61e Javafx: Update FXML when renaming private event handler method in controller's superclass. Test added. Introduced fixture-based common superclass for rename tests. (IDEA-154116) 2016-05-10 18:02:15 +03:00
Pavel Dolgov
708074dec9 Javafx: Search static property occurrences in FXML using plain text search, remove redundant index. (IDEA-105038, IDEA-105231) 2016-04-28 19:54:53 +03:00
Pavel Dolgov
06c8b177bc Javafx: Rename static FXML property and corresponding static Java method simultaneously. Add index of FXML imports. Add searcher for Java methods referenced in FXML. Move reusable code to base class. Tests added. (IDEA-105038, IDEA-105231) 2016-04-27 18:50:53 +03:00
Pavel Dolgov
3f508d40d6 Javafx: Rename static FXML property and corresponding static Java method simultaneously. Add index of FXML imports. Add searcher for Java methods referenced in FXML. Tests added (IDEA-105038, IDEA-105231) 2016-04-27 18:50:53 +03:00
Pavel Dolgov
2ec46ccccc Javafx: Don't allow renaming built-in $controller property, take two. Fixed boolean getter generation and renaming. Utility methods simplified. Tests added (IDEA-153758, IDEA-153751) 2016-04-22 12:07:00 +03:00
Pavel Dolgov
1cde5021be Javafx: Fix highlighting and completion for css file names in FXML stylesheets property, both attribute and tag. Tests added (IDEA-154244) 2016-04-08 13:00:39 +03:00
Pavel Dolgov
b7fe0c4c96 Javafx: Don't highlight absolute (remote) URL as invalid in FXML. Test added (IDEA-154132) 2016-04-07 19:15:45 +03:00
Pavel Dolgov
ab14d9220f Javafx: Allow fx:value attribute's value to start with $ character. Test added (IDEA-154239) 2016-04-07 16:48:03 +03:00
Pavel Dolgov
6415c4cd8a Javafx: Fixed highlighting and imports of nested classes and enums in FXML. Test added (IDEA-154131) 2016-04-07 12:53:02 +03:00
Pavel Dolgov
fc27b307b4 Javafx: Regression fixed - allow enum constants in fx:value attribute. Tests added 2016-04-06 17:32:26 +03:00
Pavel Dolgov
d449cb57fa Javafx: In FXML completion for event handler take care of superclasses' generic parameters (IDEA-154115) 2016-04-05 18:16:07 +03:00
Pavel Dolgov
e52eb35339 Javafx: In FXML completion for event handler show methods from controller's superclasses (IDEA-154115) 2016-04-05 16:30:33 +03:00
Pavel Dolgov
03e8a8751c Javafx: In FXML event handler inspection provide possibility to change the type of the field mentioned in fx:id to match the event handler signature (IDEA-153637) 2016-04-04 16:04:46 +03:00
Pavel Dolgov
0f7e621918 Javafx: Don't show private methods as unresolved, show them as not accessible from FXML (IDEA-153671) 2016-04-01 17:28:43 +03:00
Pavel Dolgov
e0e5ef5655 Javafx: Validate type of constants and factory methods in FXML attributes fx:constant and fx:factory (IDEA-153811) 2016-04-01 15:17:32 +03:00
Anna.Kozlova
bf5998c1f5 javafx: allow to insert inner class import in tests 2016-04-01 14:11:05 +02:00