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
c62b7ee3c1
Fix model check errors in generator model
2021-02-04 18:04:06 +01:00
Fedor Isakov
dee5db0e96
Drop instances of TermFeature.final property
2021-02-04 18:01:10 +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
be156a5d31
Throw NPE in case an argument or symbol is null in term
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
c450462fa5
Drop "final" flag on term feature: unused
2021-01-23 16:59:45 +01:00
Fedor Isakov
2ab8d41b0c
Minor refactoring: move term specication to the end of feature list
...
It's only natural to have the specification to come after
all upper-level features have been specified in a term.
2021-01-23 16:59:45 +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
52725b4826
Minor refactoring in TermNode: simplify API
2021-01-23 16:59:43 +01:00
Fedor Isakov
4991536db1
Fix diff view showing insertion wrongly, dont assume vertical layout
2021-01-23 16:59:42 +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
89ae2d2003
Use UpdatesRecorder to control whether to apply templates
...
Invalidated and introduced nodes are collected by UpdatesRecorder.
If either set is not empty, a walk of the input is triggered.
Also, drop invalidated flag in RulesPlanHandler.
2021-01-18 10:58:58 +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
397e1efc0c
Fix dropped rules erroneously marked as validated
2021-01-13 17:32:21 +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