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
Fedor Isakov
1cfe1ccc26
Add dummy empty model to fix build
2021-02-14 15:30:38 +01:00
Fedor Isakov
4755c0dfa0
Extract test helper classes into separate redistributable module
2021-02-14 15:12:58 +01:00
Fedor Isakov
d25158b39f
Change plugin packaging and versioning
...
All modules are to be located under languages/.
Version to be RELEASE-0.9-bBUILD
2021-02-13 10:20:09 +01:00
Fedor Isakov
bd1753e2ef
Fix plugin version number, ensure compatibility with MPS starting from 211
2021-02-08 10:11:58 +01:00
Fedor Isakov
a3aa92e60a
Temporarily disable test until problems with MPS build are fixed
2021-02-07 19:17:08 +01:00
Fedor Isakov
54cadb200a
Repackage plugin
2021-02-06 15:28:03 +01:00
Fedor Isakov
ed55370a01
Fix model imports (hamcrest lib has been moved to another solution)
2021-02-04 12:27:55 +01:00
Fedor Isakov
7fe5a5ad7a
Auto-updated files after migrating to MPS 2021.1 EAP
2021-02-04 12:26:59 +01:00
Fedor Isakov
676645fad2
Refactor DataForm presentation mechanism, drop unused code
...
Rewrite most of DataFormPrinter for simplicity.
Reformat presentation of terms, so that the specification comes at the beginning.
2021-02-04 09:16:10 +01:00
Fedor Isakov
e06916b184
Refactor TypecheckingService: move logic into Request
...
Straighten up the code organization by consolidating logic
implementing a request within the corresponding Request
instance.
2021-02-04 09:16:09 +01:00
Fedor Isakov
0e50b0e1b4
Support coerce query to specified (pattern) type
...
Coerce with pattern expects resulting type to be matched with a node
specified in the pattern.
2021-02-04 08:51:00 +01:00
Fedor Isakov
ad269bb6b5
Ensure typechecking state is properly disposed of on reload
2021-02-04 08:51:00 +01:00
Grigorii Kirgizov
b1d81ef683
Fix apparent type in DataFormPrinter test
2021-01-29 16:21:57 +03:00
Grigorii Kirgizov
148223a842
Add incremental tests for lambda calc. Enable ignored tests for closures.
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
d1b5c5b477
minor fix in tests: propely hack finding needed aspect clique. allow custom type matchers (for lc)
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
ccecb50fc2
Fix handling of invalidated feedback for effects of Rewind Stage to be visible (MPSCR-67, MPSCR-21)
2021-01-29 13:39:35 +03:00
Fedor Isakov
240fed8f63
Drop Finders feature: unused
2021-01-23 16:59:46 +01:00
Fedor Isakov
536e1aa1c2
Introduce helper methods to factor out creation of terms
2021-01-23 16:59:45 +01:00
Fedor Isakov
b3c57465fc
Minor refactoring: extract constants for building terms
2021-01-23 16:59:45 +01:00
Fedor Isakov
13627568df
Ensure input is processed for fresh cache by setting invalidated to false
2021-01-18 10:59:03 +01:00
Fedor Isakov
acc9477512
Drop invalidated flag from cache (unused)
2021-01-18 10:59:02 +01:00
Fedor Isakov
dc7a06c685
Ensure typechecking queries get appropriately disposed of for editor session
2021-01-18 10:59:00 +01:00
Fedor Isakov
4be723c09e
Introduce programEvaluated flag to strategy, only display traces for real programs
2021-01-18 10:59:00 +01:00
Fedor Isakov
3a5c5dcec4
Avoid keeping cached data by aspect+query kind
...
This optimization doesn't have any tangible effect.
2021-01-13 17:32:23 +01:00
Fedor Isakov
c9f2a34b53
Ensure shared state for basic queries, fix performance of model checker
2021-01-12 22:55:42 +01:00
Fedor Isakov
baae5c5bf0
Several interconnected changes to optimize performance in incremental mode
...
Introduce invalidated flag to program producer to control whether to
only process invalidated nodes in incremental mode.
Update validated flag in RulesPlanHandler to reflect the finalized
state, after the plan has been built.
Refactor ProgramProducer/Factory to avoid enumerating the source
root in case no changes have been detected (in incremental mode).
Avoid relaunching program in case the producer did nothing.
2021-01-12 22:55:42 +01:00
Fedor Isakov
d88acbe0f4
Introduce trivial result state
2021-01-12 22:55:40 +01:00
Fedor Isakov
93cbb90fec
Avoid aborting execution of helpers in case of error
...
BlockingExecutor must not block other helpers from being executed
if a error is detected by one of them.
Since helpers are built in unpredictable order, there can be situations
when an (unrelated) error causes intermittent failures.
2021-01-12 22:55:40 +01:00
Fedor Isakov
62e8e7d013
Switch to MPS 2020.3 release.
2021-01-08 11:00:02 +01:00
Fedor Isakov
603787ab2b
Fix test that expects same type to be returned from cache, no longer true
2021-01-07 17:04:27 +01:00
Fedor Isakov
abb76e68b5
Refactor changes tracking in UpdatesRecorder, use model instead of a ref
...
Using a model reference require resolving via a repository, which
is unnecessary in case model objects are stored directly.
2021-01-07 13:31:37 +01:00
Fedor Isakov
77b02a4e0e
Drop tracking unit cache, rely on UpdatesRecorder to provide incrementality
...
The idea to use "tracking" cache to save on typechecking operations is obsolete.
There is conflict of responsibilities with UpdatesRecorder,
which is to be solely relied upon for all things related to tracking changes.
2021-01-07 13:31:37 +01:00