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
Fedor Isakov
2420685b19
Disable an obsolete test
2021-09-22 17:08:25 +02:00
Fedor Isakov
82b04c23ae
Introduce TYPE_COLLECTOR parameter to pass to template application session
...
The older technique that passed "typeCollector" to query is replaced
with passing this object as a session parameter.
Can be accessed with "CustomSessionParameter".
2021-09-21 17:54:51 +02:00
Fedor Isakov
b122872890
Refactor Result to be able to clear the cause
2021-09-21 17:54:51 +02:00
Fedor Isakov
3f606ba63c
Refactor the way parameters are passed to expand macro
...
Instead of the hack that that uses session parameters to pass
parameters to expandMacro, use directly `withParams` method
on macro token. All parameters are mapped to corresponding fields.
Introduce CustomSessionParameter to access parameters in
TemplateApplicationSession.
2021-09-21 17:54:51 +02:00
Fedor Isakov
a5105e666a
Update build scripts
2021-09-21 17:54:50 +02:00
Fedor Isakov
a22d360c13
Add reexport on coderules.runtime in controlflow sample, fix build
2021-08-17 09:30:49 +02:00
Fedor Isakov
f96211273c
Drop hack for finding refs in LateParameter, switch to internal var ref
2021-08-17 09:30:49 +02:00
Fedor Isakov
6b0526ba31
Introduce language j.m.l.types to contain aspect-related generator mappings
2021-08-17 09:29:21 +02:00
Fedor Isakov
b1fbf7265e
Update plugin version and platform compatibility
2021-07-29 15:17:18 +02:00
Fedor Isakov
c4db4fcafe
Set generator options: strict=false in build scripts
2021-07-29 14:18:29 +02:00
Fedor Isakov
617a7d77a5
Fix build script
2021-07-29 12:46:57 +02:00
Fedor Isakov
4ea1d0cadd
Feature: isGround and isNonground predicates, MPSCR-94
2021-07-22 13:59:19 +02:00
Fedor Isakov
2425fe933a
Ensure dependency is tracked for nested expand macro applications
...
Expand macro passes the rule's input to nested macro calls.
This adds the macro input as the dependency of the rule's input.
As a result, incremental processing starts working in some cases.
2021-06-30 18:25:46 +02:00
Fedor Isakov
c4811d7d74
Migration of types aspect
...
Add types aspect devkit, remove engaged in generation.
2021-06-29 14:51:10 +02:00
Fedor Isakov
dd8c5ffb07
Introduce types aspect devkit and genplan
2021-06-29 14:51:10 +02:00
Fedor Isakov
9ea7ae2067
Better naming scheme for downloadable artefacts
2021-06-21 18:35:48 +02:00
Fedor Isakov
9826290f78
Fix building and packaging the plugins
2021-06-21 17:50:00 +02:00
Fedor Isakov
a8b0b13513
Include build solution into coderules plugin; fix file name
2021-06-18 18:41:01 +02:00
Fedor Isakov
9527a097b8
Migrate to the latest MPS release, apply migrations
2021-06-18 18:41:01 +02:00
Fedor Isakov
02baab4100
Optimize AspectLookup: avoid traversing descendants of input
2021-05-18 12:32:03 +02:00
Fedor Isakov
1d620cdd63
Drop obsolete unused features, cleanup the code
2021-05-18 12:32:03 +02:00
Fedor Isakov
24ce9167bf
Drop second implementation of aspect lookup, unify usages of AspectLookup
2021-05-18 12:32:03 +02:00
Fedor Isakov
1bb8763816
Refactor AspectLookup to depend on repository, cache results
2021-05-18 12:32:03 +02:00
Fedor Isakov
4ee3869b45
Introduce a means to use direct reference to INamedConcept in rules
2021-05-13 15:54:42 +02:00
Fedor Isakov
637da7d966
Apply migration and rebuild project
2021-05-04 18:24:30 +02:00
Fedor Isakov
ea6e930954
Apply migration and rebuild project
2021-05-04 18:24:29 +02:00
Fedor Isakov
287c31c9f7
Process only pattern's top-level node when coercing
...
Ignore all contents of a pattern but the top level.
This covers most situations.
The pattern ought to provide information as to which
nodes are capturing variables.
2021-04-29 14:53:19 +02:00
Fedor Isakov
ab87c8a129
Support strong convert/coerce queries
2021-04-28 08:54:25 +02:00
Fedor Isakov
cce261ec8c
Fix cleaning up the caches on modules reload
2021-04-28 08:54:25 +02:00
Fedor Isakov
450f2e5989
Fix coerce to pattern with antiquotations.
...
A node from a pattern with antiquotations is treated as a "hollow"
type with only the form defined, and all parameters being capturing
variables.
This is a workaround for certain kinds of coerce queries that define
unsound pattern nodes.
2021-04-28 08:54:25 +02:00
Fedor Isakov
cff18e7ca5
Optimize RulePlanHandler
...
Avoid iterating over LinkedHashMap (ineffective).
Do topo-sort only once on creating the object.
2021-04-21 10:40:51 +02:00
Fedor Isakov
394cb720c1
Optimize program producing: drop checking of constraints
...
Constraints arity is no longer checked.
Checking for null arguments to constraints is done
in AbstractConstraint's constructor.
2021-04-19 22:55:09 +02:00
Fedor Isakov
ff6b5ec6ae
Apply migrations and rebuild project
2021-04-14 13:19:50 +02:00
Fedor Isakov
49357ab87a
Drop all usages of "principal store" and "preamble" feature
2021-04-13 22:57:06 +02:00
Fedor Isakov
008887944d
Refactor "incremental" tests launcher to not rely on incrementality
...
The incremental algorithm using history and replay/revalidate of
matches is deprecated and will be removed soon. The incremental tests
are now relying on the UpdataRecorder and RulePlanHandler to
implement incrementality.
2021-04-12 12:47:44 +02:00
Fedor Isakov
1769998f7f
Implement Rule.isBasis contract, fix feedback basis processing
...
Invalidated rules set invalidates feedback that has any of them it in its basis.
Validated rules invalidates feedback that has all of validated
rules in its basis set.
2021-04-12 12:47:44 +02:00
Fedor Isakov
87a843088c
Cosmetics: report ERR on a query finished with !success status
2021-04-12 12:47:44 +02:00
Fedor Isakov
1d1db7cba5
Disable all preamble-related stuff
2021-04-12 12:47:44 +02:00
Fedor Isakov
384fc5dce8
Adapt all predicates to try-tell protocol
2021-04-08 12:41:17 +02:00
Fedor Isakov
28dd6c7a12
Implement feedback invalidation based on (in)validated rules
...
Refactor supervisor/feedback consumer to support feedback basis.
Track (in)validated rules tags in RulePlanHandler.
Both (in)- and validated rules cause associated feedback to be cleared.
Disable passing SessionToken in WatchingIncremental strategy;
this forces the correct journal recording but turns off incrementality.
2021-04-08 08:51:40 +02:00
Fedor Isakov
7c89dfdffd
Refactoring in program producing: getting ready to drop incrementality
...
Optionally produce partial program in incremental mode.
A partial program includes all "static" rules plus the "required closure"
of all changed nodes.
Produce program for required nodes unconditionally.
Mark all rule updates as validated only if exlicitly asked for it.
2021-04-08 08:51:39 +02:00
Fedor Isakov
b5ffb8c83c
Drop TypesModuleOwner, stop caring to store types in a model
...
This feature causes major problems and is really hard to maintain,
while its utility is questionable.
2021-04-08 08:51:39 +02:00
Fedor Isakov
636c1a15ef
Use tmp model to render type in Show Type Action
2021-04-08 08:51:39 +02:00
Fedor Isakov
99e248c5b3
Fix incremental update of reported feedback
...
Correctly detect cache up-to-date.
Refactor feedback reporting, provide origin node as the key.
Drop invalidated feedback correctly.
Code cleanup.
2021-03-23 12:48:06 +01:00
Fedor Isakov
2977b4dd19
Extend expand macro operation with rule input parameter, fix tracking dependencies
...
Enable recording the dependencies while expanding macro.
Rename/refactor operations in UpdatesRecorder to reflect the intent
of adding the dependencies.
2021-03-23 12:48:06 +01:00
Fedor Isakov
39f7ded3f4
Implement missing methods in typechecking provider
2021-03-08 12:34:40 +01:00
Fedor Isakov
7d60ddde46
Drop template trace view tool, merge into activation trace
2021-02-19 14:46:42 +01:00
Fedor Isakov
2ec038aed0
Fix FindApplicableTemplates action
2021-02-18 15:00:28 +01:00
Fedor Isakov
818d4087b2
Fix reported errors disappeared on returning to editor
2021-02-16 13:25:54 +01:00
Fedor Isakov
6a7219f528
Fix using local typechecking if root is null in session flags
2021-02-15 12:29:46 +01:00