Fedor Isakov
f130938a16
NPE guard in project plugin initializer; MPSCR-140
2023-09-28 12:10:39 +02:00
Fedor Isakov
c6f632583f
Specify displayName for configurable page
2023-09-28 12:10:39 +02:00
Fedor Isakov
19eca73737
Bump up version and compatibility with MPS 232
2023-09-21 14:27:53 +02:00
Fedor Isakov
2fdae19190
Drop old hack
...
Coderules are enabled on the app level, so no need to pass the repo.
2023-09-21 14:27:53 +02:00
Fedor Isakov
e3c6c304fe
Optimizing AspectClique discovery; clean up the code
2023-09-21 14:27:53 +02:00
Fedor Isakov
3cf666e633
Apply migrations and make project
2023-07-31 12:57:24 +02:00
Fedor Isakov
e5538bc39f
A bunch of refactorings and cleanups in trace view
...
- cleanup the code, rename symbols for better readability
- drop dead code
- support for optionally showing empty template trace nodes
- display node path for source nodes
2023-06-21 15:27:05 +02:00
Fedor Isakov
161ba961b1
Add an option to filter empty template nodes in trace view
2023-06-21 15:21:28 +02:00
Fedor Isakov
91964a4f53
Fix icons in trace view of Coderules tool
...
Used to refer to obsolete icons from legacy aspect.
2023-06-19 16:24:46 +02:00
Fedor Isakov
0e2c64e587
Fix resolve info
2023-06-12 12:20:35 +02:00
Fedor Isakov
6a849f82f2
Apply migrations and rebuild project
2023-06-12 12:01:02 +02:00
Fedor Isakov
682967c54c
Fix code to make compatible with latest 23.1 EAP
2023-06-12 12:01:02 +02:00
Fedor Isakov
11a1037860
Minor refactoring and code cleanup
2023-06-12 12:01:02 +02:00
Fedor Isakov
bd7f76a020
Optimize shared typechecking state usage
2023-06-12 12:01:02 +02:00
Fedor Isakov
6150702e92
Drop references to template dropped upstream
2023-05-03 10:50:10 +02:00
Fedor Isakov
90d9644057
Respect isStrong query property when caching results
2023-05-03 10:31:55 +02:00
Fedor Isakov
d262277d59
Update build script
2023-05-03 10:31:55 +02:00
Fedor Isakov
1c307e42c5
Fix UI action broken after options redesign
2023-05-03 10:31:55 +02:00
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
08733317ef
Null guard. MPSCR-126
2023-02-23 17:29:02 +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
8f42a025bc
Rewrite topo sorting of macro tables
2022-09-08 14:07:06 +02: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
bb47403b0c
Fix generating of synth recover terms table
2022-08-22 11:19:59 +02:00
Fedor Isakov
c4a157bf4d
Bump up plugin versions
2022-08-16 18:11:49 +02:00
Fedor Isakov
26a3bd12dd
Fix how output models are searched for checkpoints
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
40dd4bb31a
Avoid dependency on a non-runtime solution
2022-07-28 10:30:38 +02:00
Fedor Isakov
83daafe180
Fix feature reference constraint
2022-07-28 10:30:38 +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
4bd681f3ee
Fix support for require/requireAll statements in queries, MPSCR-108
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
837f7303a8
Fix test language broken after refactoring
2022-06-18 15:56:54 +02:00
Fedor Isakov
ff1ceb7dda
Update build script
2022-06-18 14:53:09 +02:00
Fedor Isakov
186c7b6a28
Fix auto-recovery of types with expect/assign/recover pseudo-constraints
2022-06-18 12:53:14 +02:00
Fedor Isakov
dd0b9b2842
Intention to convert term table to types term table
2022-06-18 12:53:14 +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
77eb3f30c7
Implement a missing BH method
2022-06-13 11:11:57 +02:00
Fedor Isakov
b46373701f
WIP Reorganizing code
2022-06-08 10:23:43 +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
585f8f57f5
Switch to generating FQ names for constraint symbols
2022-05-26 12:52:25 +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
874a2a4b4e
Ensure rule tags have unique group name
2022-05-25 13:49:11 +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
ddce418ba4
Ensure new list is initialized when recovering
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