Commit Graph

654 Commits

Author SHA1 Message Date
Fedor Isakov d2ca45aa02 Extract bootstrap code to idea plugin; CR options to become app-level
CR typechecking options are now application-level.

The solution j.m.c.ideaplugin contains the code responsible
for accessing and setting the options. This solution is loaded
as IDEA plugin on deploy and as regular module in source project.

Also merge code from two modules into j.m.c.typechecking.
2022-08-25 12:59:36 +02:00
Fedor Isakov c4a157bf4d Bump up plugin versions 2022-08-16 18:11:49 +02:00
Fedor Isakov 29a7479bce Mark public methods of TC queries as synchronized 2022-08-16 18:11:49 +02:00
Fedor Isakov e3870d1397 Switch to using built-in messages view for Coderules messages 2022-08-01 14:11:38 +02:00
Fedor Isakov 874cc5d135 Paranoid NPE checks, MPSCR-113 2022-08-01 14:11:36 +02:00
Fedor Isakov ba7411abfa Bump up plugin version and rebuild build scripts 2022-07-28 10:37:36 +02:00
Fedor Isakov f985db8206 Update and rebuild build scripts 2022-07-28 10:30:38 +02:00
Fedor Isakov f9eb52a60f Introduce checkpoint for typechecking "strut" templates
The templates that typechecking relies upon are generated
into the user model as synthetic constructs. These later
need to be discovered by the generator to establish
correct references.
2022-07-28 10:30:38 +02:00
Fedor Isakov 33b472f560 Switch to using plain FQN strings to identify templates
SNodeReference are too unreliable to be used.
2022-07-28 10:30:38 +02:00
Fedor Isakov 468cee3b54 Avoid NPE when displaying baloon 2022-07-28 10:30:38 +02:00
Fedor Isakov 0663921ecd Refactoring in TypecheckingService; simplifying code
Request is no longer dependent on `TypecheckingService`.
Only single request can be processed at a time, which helps
prevent recursion.
All facade method in `TypecheckingService` now return instance
of `Response` instead.
2022-07-15 19:46:33 +02:00
Fedor Isakov 0422a4cbd4 Fix exception initialization 2022-07-15 19:46:32 +02:00
Fedor Isakov 115135bbb5 Update plugin versions and manifests 2022-07-13 12:27:14 +02:00
Fedor Isakov 71d2014ef1 Update and rebuild build scripts 2022-07-07 12:56:30 +02:00
Fedor Isakov f24169ba26 Refactor Config to be immutable; allow multi-project MPSCR-105
Drop hacks that try to figure out the active project.
Instead introduce new ones that cache the instance of `ProjectRepository`
(unfortunately, there is no way around that now).
Stop accessing and modifying the singleton `Config` instance,
instead make an instance of `Config` a parameter to `TypecheckingService`.
2022-07-07 12:56:30 +02:00
Fedor Isakov e4d7a9ff9e Notify UISettings after changing preferences, listen to UISettings 2022-07-07 12:56:29 +02:00
Fedor Isakov 99907ec111 Fix how CR widget looks (more professional look) 2022-07-07 12:56:28 +02:00
Fedor Isakov a84675c0f2 Cache statusbar in intialization code to avoid NPE 2022-07-04 13:42:39 +02:00
Fedor Isakov ff1ceb7dda Update build script 2022-06-18 14:53:09 +02:00
Fedor Isakov f6e75628c8 Rebuild build script 2022-06-13 11:20:31 +02:00
Fedor Isakov 7593fc7b14 Avoid NPE if preferences are not available 2022-06-13 11:20:31 +02:00
Fedor Isakov 8a46abcfb3 StatusBar widget to control Coderules ON/OFF 2022-06-13 11:11:57 +02:00
Fedor Isakov d1f3066af2 Drop all caches from AspectLookup
Caches cause subtle errors and their utility is questionable.
2022-06-08 10:23:43 +02:00
Fedor Isakov e1bab4a1c7 Respect LateExpression arg when building unique_tag, MPSCR-107
Rule's unique_tag is important for update procedure
implemented by RulesPlanHandler. Only when we can guarantee
that an argument to constraint/predicate has not changed
we can save on re-building a rule from template.
Ignoring LateExpression was a mistake.
2022-06-07 15:22:39 +02:00
Fedor Isakov 88aaf7898c Ensure only relevant aspects selected for certain queries
While check/checkTypeOf queries are required to
process a whole root, other types of queries
can be sensitive to what aspects to include in
the processing.

Aspects are sorted in strongly-connected components,
among which the relevant one is selected.
2022-06-06 13:00:52 +02:00
Fedor Isakov 56c7bdad7f Make FQ symbol names displayed as short names in trace view 2022-05-26 12:52:25 +02:00
Fedor Isakov f862406ca6 Switch to using single AspectClique 2022-05-26 12:52:25 +02:00
Fedor Isakov c112a59116 Switch to collection of QueryTemplate instead of single instance
The deisgn decision to have only one instance of QueryTemplate
leads to the necessity to keep AspectClique separated for
every "typesystem". Whereas QueryTemplate are really perfectly
composable, and thus only one AspectClique is neeeded.

Also drop a rudimentary unused feature.
2022-05-26 09:58:31 +02:00
Fedor Isakov 710c5ddc9b Ensure failure during trace view update is gracefully handled 2022-05-25 13:37:55 +02:00
Fedor Isakov b6c190c35c Introduce ruleInput parameter to call macro
Accessing the rule input allows to track dependencies
necessary for correctly updating the feedback.
2022-05-09 17:02:12 +02:00
Fedor Isakov e7054ed124 Drop usages of invalidatedFeedbackKeys, minor fixes 2022-05-09 13:32:14 +02:00
Fedor Isakov e2521c3478 Bump up version of coderules plugin 2022-05-03 10:26:43 +02:00
Fedor Isakov 702098d091 Cleanup and simplify typechecking strategy 2022-05-03 10:26:43 +02:00
Fedor Isakov 7f34ea78f6 Drop incrementality-related options and UI elements 2022-05-03 10:26:43 +02:00
Fedor Isakov 050c47c2eb Update conreactor version to 0.9.16 2022-04-25 12:47:43 +02:00
Fedor Isakov bd249c5d0c Drop obsolete feature: incremental specification 2022-04-21 16:05:31 +02:00
Fedor Isakov c192a529a6 Display undo activate/discard events in trace view. MPSCR-102 2022-03-15 15:48:56 +01:00
Fedor Isakov 51a4949cbd Update reactor version 2022-03-15 14:27:43 +01:00
Fedor Isakov c7c55605f5 Add dependency to c.i.modules.platform to pluigns 2022-02-23 13:09:34 +01:00
Fedor Isakov b500bf5f8f Fix broken plugin descriptor 2022-02-17 17:50:27 +01:00
Fedor Isakov 73f86ba626 Disable obsolete warning 2022-02-17 17:08:31 +01:00
Fedor Isakov 9cb04439eb Fix packaging of coderules and mpscore plugins
Fix the path mapping of lib files.
2022-02-17 16:44:14 +01:00
Fedor Isakov c44e4b2080 Update coderules plugin desc, fix release number 2022-02-16 12:23:38 +01:00
Clement de La Bourdonnaye 2b23c56283 Added coderules modules in plugin content 2022-02-08 12:21:28 +01:00
Fedor Isakov d7ffb963f7 Fix and rebuild build scripts 2022-02-08 10:44:48 +01:00
Fedor Isakov 2e5d73b31e Add icons for typechecking roots and the aspect 2021-11-25 18:09:22 +01:00
Fedor Isakov 4e70300ea7 Update language imports 2021-11-24 16:22:17 +01:00
Fedor Isakov 3774759270 Drop references to removed Activation Trace 2021-11-24 16:22:17 +01:00
Fedor Isakov 3af6cf93b0 Fix missing effect 2021-11-18 12:29:33 +01:00
Fedor Isakov e95526ef33 Update build script 2021-11-18 10:59:58 +01:00