Grigorii Kirgizov
577662e202
Fix problem with some recovering rules not being reexecuted
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
5414fe7e67
Move RulesDiff construction from reactor to coderules runtime.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
a2672ad20a
Include into ProgramGenInfo info about node parents.
...
This info about AST deps between nodes is needed to find
additional rule matches that must be also invalidated.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
d96ef01f98
Extend ProcessingStateImpl & RulesDiff for additional part of invalidation stage
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
769e7fd2ba
Fix small issue related to mutable justifications in Occurrence. Upd tests with latest changes.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
ef2627cab4
MatchJournal now adds chunks for principal occurrences: search is simplified, case of several principal occs in rule is handled.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
43a8838c5a
Handle the case of pattern logicals for finding principal constraints. Add rules from queries as principals too.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
b560bbbd30
Separate incremental tests on testlang and baselang into their own models.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
384782e708
Make Rule.uniqueTag() depend on snodes used inside rule template.
...
When data used in a rule changes, it must get to the RulesDiff.
RulesDiff works using tags, so tags must change when snode data changes.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
9a22149a5c
Add some debugging info for incremental lang typecheck tests
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
ed93865359
Refactor MatchJournal.Pos. Make RulesDiff usable in coderules mps code. Extend EvaluationTrace.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
49aa913556
Move MatchJournalImpl to its own file. Some docs for it. Hide underlying mutable history behind immutable List. Add string tag() to Rule.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
46b9435204
Add basic test for incrementality & rename test model
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
ce9b91c4a5
Add basic tests for simple program analysis, add test helpers.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
6c4667e066
Add basic coderules program analysis for determining principal constraints
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
155266d8ca
Abstract java interfaces for incrementality-related classes for interop between reactor and coderules
2019-07-26 17:00:30 +02:00
Fedor Isakov
79b08c6f83
Revert "Apply migrations from EAP3 and rebuild project."
...
This reverts commit 9c5bf858c3 .
2019-07-26 15:30:30 +02:00
Fedor Isakov
274f1f5a8d
Fix tests: use only string value for properties for now.
2019-07-19 12:28:27 +02:00
Fedor Isakov
9c5bf858c3
Apply migrations from EAP3 and rebuild project.
2019-07-19 12:28:27 +02:00
Fedor Isakov
58db91822b
Adapt to changes in typechecking facade API.
2019-07-19 12:28:25 +02:00
Fedor Isakov
0c3c928c79
Switch to MPS 2019.2 EAP3
2019-07-19 12:28:25 +02:00
Fedor Isakov
80b078491d
Implement new method defined in TypecheckingQueries.
2019-07-19 12:28:25 +02:00
Fedor Isakov
6c0aeac109
Add TC build status widget for EAP builds
2019-06-25 11:24:09 +02:00
Fedor Isakov
0615c69143
Switch to using MPS 192 EAP2
2019-06-25 11:20:45 +02:00
Fedor Isakov
edf3071bce
Add SuppressErrorsChecker to the list of checkers used during build.
2019-06-25 11:20:45 +02:00
Grigorii Kirgizov
5995b3a2f9
Simplify last test in TestStoreAwareJournal
2019-06-17 19:31:43 +03:00
Grigorii Kirgizov
022a9c372e
Avoid searches of principal occurrence by utilizing MatchJournal.Index
2019-06-13 21:30:20 +03:00
Grigorii Kirgizov
65f1198a60
Prune the whole related state in RuleMatchers on removal-phase. Add test case.
2019-06-13 20:10:08 +03:00
Grigorii Kirgizov
7acbbc3988
Fix tests
2019-06-13 18:01:35 +03:00
Grigorii Kirgizov
d1152128da
Remove kotlin imports
2019-06-13 18:00:04 +03:00
Grigorii Kirgizov
9863569323
Tests for incrementally removing and removing+adding rules
2019-06-12 19:09:06 +03:00
Grigorii Kirgizov
d7b7d40f8a
Don't expose InitialRule to RuleDiff. Add first test for rm algo stage.
2019-06-12 14:56:57 +03:00
Grigorii Kirgizov
0bfe9e8a47
minor: remove usages of Constraint.isPrincipal in ProcessingStateImpl, use IncrementalProgramSpec instead
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
ae20c334b4
Discern incremental reactivation from usual one. Fix postponedMatches logic.
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
b3e0770939
minor: slightly rearrange code in ProcessingStateImpl
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
a5a46d6c67
Add incrementality test for one nontrivial case in RuleMatchFront.expand
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
db80dc7ab6
Extract rule ordering logic from ProcessingStateImpl
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
175d9f7623
Move StateFrameStack class to its own file
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
a2d55e92b9
Remove accidental line duplication
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
2a5f9e28dc
Fix handling of postponed matches (match order comparison was slightly wrong)
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
5a9019e85c
Fix bits of logic responsible for launching 'at-start' rules through 'main'. Fix handling of discarded occs
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
767eb057f5
Add helper method in Tests builder, adjust few tests with it
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
50fcfd0d8a
Add initial version of logic for handling future matches in processActivated()
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
dffab2016c
upd gitignore
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
fa380c9f36
Fix failing build of coderules because of changed interfaces
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
3e50f47f73
Add MatchJournal.Index for additional queries and operations involving ordering of occurrences
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
eec343f902
Add stub code for handling case of adding headless ('at-start') rules
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
c0cb26d598
Add two more tests for addition phase. Handle one additional case and make one test pass.
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
ddb67690f4
Add partial sketch of removal phase of incremental algorithm.
...
For that: Extend DispatchingFront and RuleMatcherImpl interface with
'forget' methods which completely drops related matches from matchers' state;
Extend MatchJournal & Chunk interfaces with helper methods.
2019-06-12 13:28:06 +03:00
Grigorii Kirgizov
8b4d98f6e2
Add few more checks in TestIncrementalProgram tests and one test in TestStoreAwareJournal
2019-06-12 13:28:06 +03:00