Fedor Isakov
985f6af842
Drop watching flag: always run typechecking in incremental mode
2023-05-03 10:31:55 +02:00
Fedor Isakov
4900f13609
Fix weird type hidden under SCPD
2023-05-03 10:31:55 +02:00
Fedor Isakov
8cb0ddc049
Simplifying TypecheckingOptions API
...
Enable using CR in bootstrap mode via Registry.
Drop unused code.
2023-05-03 10:31:55 +02:00
Fedor Isakov
b074647d12
Fix unresolved reference
2023-04-10 16:43:04 +02:00
Fedor Isakov
24944eef5a
Fix issues with ideaplugin module in source project
2023-03-29 13:00:09 +02:00
Fedor Isakov
425e125ba8
Migrate to JUnit5 and temporarily disable "check project modules" test
2023-03-03 17:10:05 +01:00
Fedor Isakov
6d267a33af
Fix an error in log
2023-03-03 17:07:05 +01:00
Fedor Isakov
ae586b665e
Use 'Messages' as tool window ID for baloon. MPSCR-127
2023-02-23 17:09:41 +01:00
Fedor Isakov
94ceb7614f
Fix config option provider
2023-02-23 16:43:50 +01:00
Fedor Isakov
5fbcb991f0
Fix trove library jar location in plugin
2023-02-23 16:28:05 +01:00
Fedor Isakov
6ebc8782b9
Avoid issues when opening root project
...
Only UI-specific code related to settings left in "idea" project solution,
everything else moved to MPS-managed plugins.
2023-02-23 11:48:19 +01:00
Fedor Isakov
d531c6a5ad
Run Migration Assistant
2023-02-22 13:52:02 +01:00
Fedor Isakov
430466c1c9
Fix code incompatible with latest platform
2023-02-17 11:41:32 +01:00
Fedor Isakov
ad3ea9d63d
Apply all migrations from 2022.2
2022-11-21 11:25:13 +01:00
Fedor Isakov
d9cda646de
Bump up plugin versions
2022-11-21 11:25:03 +01:00
Fedor Isakov
4086236afe
Introduce recursion guard for typechecking provider
2022-11-21 10:50:00 +01:00
Fedor Isakov
14f4561b29
Ensure AspectClique contains all necessary languages
2022-09-08 14:07:06 +02:00
Fedor Isakov
0ae9743026
Fix tests
2022-09-02 18:01:46 +02:00
Fedor Isakov
f8b17e4de7
Fix compilation
2022-09-02 16:28:31 +02:00
Fedor Isakov
4070194d01
Bump up plugin versions
2022-09-02 16:11:00 +02:00
Fedor Isakov
6030332107
Introduce profiling into program produce/evaluation steps
2022-09-02 15:49:30 +02:00
Fedor Isakov
34bb26f0fc
Redesign coderules trace view to display profiling data
...
Coderuels trace now has three tabs that contain:
- activation trace
- template application trace
- profiling data
2022-09-02 15:49:30 +02:00
Fedor Isakov
04cfbe0c30
Add an option to enable/disable profiling
2022-09-02 15:49:30 +02:00
Fedor Isakov
83e273da73
Fix tests by caching Config instance
...
Tests are launched within a context that is unable
to perform normal MPS classloading, so we resort to
caching the (singleton) instance of Config coming from
an (IDEA) plugin to use it later.
2022-08-27 19:39:14 +02:00
Fedor Isakov
5affa9af14
Ensure directory is created before build process
2022-08-26 16:15:35 +02:00
Fedor Isakov
ec8ab9eb14
Fix generating with build script
2022-08-26 15:51:05 +02:00
Fedor Isakov
de5fa8e543
Fix server build by turning compilation in MPS off
...
This commit breaks the project but allows to build
and test on the server. Locally the module
j.m.c.ideaplugin can be marked as "compile in MPS",
which effectively allows classes to be loaded.
2022-08-26 15:29:18 +02:00
Fedor Isakov
78f847747b
Drop unstable hacks, simplify code
2022-08-26 13:58:22 +02:00
Fedor Isakov
0a9f4445d3
Drop obsolete artefact
2022-08-26 13:58:22 +02:00
Fedor Isakov
a40d74c600
Fix project build and loading scheme
...
Source files for ideaplugin are now compiled externally.
2022-08-26 10:39:20 +02:00
Fedor Isakov
299d9a4fd8
Update build scripts to fix tests launching
2022-08-25 12:59:36 +02:00
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
Fedor Isakov
4ccbff779f
Refactoring in the UI: merging tool windows into one
2021-11-18 10:59:58 +01:00
Fedor Isakov
e64f01a059
Move typechecking actions to debug menu, drop errors highlighting
2021-11-15 17:08:28 +01:00
Fedor Isakov
b892bc3aa5
Avoid failing on empty handlers list, MPSCR-97
2021-11-15 13:00:03 +01:00
Fedor Isakov
5a6beac54e
Avoid failing with a stacktrace on empty aspect clique
2021-11-15 13:00:03 +01:00
Fedor Isakov
6a120fb9d6
Change "show type balloon" shortcut to not conflict with Show Type dialog
2021-11-11 14:38:07 +01:00
Fedor Isakov
2c8781cc9b
Provisional support for custom queries
2021-11-08 13:21:09 +01:00
Fedor Isakov
ea47468c3d
Cleanup the code, better separation of concerns
2021-11-08 13:21:09 +01:00
Fedor Isakov
d09348512d
Refactoring: extract Request hierarchy out of TypecheckingService
2021-11-04 12:48:11 +01:00
Fedor Isakov
c9a830d730
Cleanup code, rely on Query for presentation
2021-11-04 12:48:11 +01:00
Fedor Isakov
af8c50f3e5
Refactor TypecheckingService: parameterize Request with Query
2021-11-04 12:48:11 +01:00
Fedor Isakov
7cc8be7296
Refactor TypecheckingService: move logic to Request, simplify code
2021-11-04 12:48:11 +01:00
Fedor Isakov
96ede52bcc
Cleanup typechecking settings page
2021-10-27 16:21:08 +02:00
Fedor Isakov
cf04a60cc9
Minor improvements in displaying terms and activation trace
2021-10-26 17:46:41 +02:00
Fedor Isakov
ebe463ece5
Fix dangling dependency
2021-10-26 17:46:40 +02:00
Fedor Isakov
257bc196c3
Re-save all models
2021-10-26 17:46:40 +02:00
Fedor Isakov
dd4eece1df
Refresh build project
2021-09-23 15:20:23 +02:00
Fedor Isakov
f3c12ec4af
Fix missing dependency
2021-09-23 15:16:17 +02:00
Fedor Isakov
1ed5fa4e4b
Update build project
2021-09-22 17:08:25 +02:00
Fedor Isakov
2d52921561
Fix and optimize dependencies
2021-09-22 17:08:25 +02:00