Fedor Isakov
f985db8206
Update and rebuild build scripts
2022-07-28 10:30:38 +02:00
Fedor Isakov
7fe773dcc2
Switch all type aspects in mpscore sample to typechecking terms
...
This includes dropping of Recover rule table and relying on
the automatic types recovery.
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
e03f8d134b
Switch lambdac sample to typechecking queries
2022-07-28 10:30:37 +02:00
Fedor Isakov
8388edb4a5
Switch fitch sample to typechecking terms/queries
2022-07-28 10:30:37 +02:00
Fedor Isakov
f5536a472a
Enforce non-null contract on failureCause and message
2022-07-28 10:30:37 +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
be1e4bac18
Bump up version of Kotlin and JUnit
2022-07-12 11:18:42 +02:00
Fedor Isakov
23502bafe7
Fix dangling import
2022-07-12 11:18:42 +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
735bd29d61
Update references and rebuild build scripts
2022-07-07 12:56:28 +02:00
Fedor Isakov
5c12da69be
Switch to latest MPS 221 EAP for local build
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
7ce95d403e
Update README with installation instructions
2022-06-20 11:25:03 +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
ea3e7c4719
Rebuild build scripts
2022-05-26 12:52:25 +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
ed58f59794
Ensure all memo usages have unique keys
2022-05-26 09:55:21 +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
05adef15f9
Respect the template (group) name in rule tag
2022-05-25 12:47:27 +02:00
Fedor Isakov
f91170aec0
Fix invalid reporting of trace events
2022-05-25 12:46:19 +02:00
Fedor Isakov
cfcf6ecd81
Add dependency to j.m.build to enable plugin compatibility w/MPS
2022-05-11 11:37:20 +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
a6f56d4193
Use EvaluationFailureException to indicate failure
2022-05-09 13:33:33 +02:00
Fedor Isakov
8af9467831
Deprecate obsolete methods
2022-05-09 13:32:49 +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