Fedor Isakov
3132a8fa1d
Disable printing debug/trace info during tests execution.
...
Tests must not generate more info than is absolutely necessary.
Use "-Dcoderules.debug=true" and "-Dcoderules.inc.debug" when launching tests to enable debug output.
2019-07-29 17:48:20 +02:00
Fedor Isakov
ef7e3fa1a6
Drop "tagDetail" hack, use again string as a unique rule's tag.
2019-07-29 17:16:43 +02:00
Fedor Isakov
9a5b9f0b51
Temporarily disable failing assertion.
2019-07-29 13:42:33 +02:00
Fedor Isakov
ba604c2f80
Use ArrayList for history, avoid linear time for last() method.
2019-07-29 13:42:33 +02:00
Fedor Isakov
66c9222a95
Run migrations with MPS 2019.2 EAP3.
2019-07-26 17:27:18 +02:00
Fedor Isakov
745a20b572
Fix tests (all types in demo lang to be String).
2019-07-26 17:22:42 +02:00
Fedor Isakov
0f8d858748
Remove unnecessary calls to reactor lifecycle.
2019-07-26 17:18:37 +02:00
Fedor Isakov
ca894c9030
Move control over reactor lifecycle to app plugin.
2019-07-26 17:17:07 +02:00
Fedor Isakov
aec1bd1a2d
Refactor changes tracking, avoid NPE on already removed nodes.
2019-07-26 17:16:02 +02:00
Fedor Isakov
4e4e1f68ef
Fix buildscript dependencies.
2019-07-26 17:14:48 +02:00
Grigorii Kirgizov
11712c7069
Restrict the notion of principal rule (as effect, match journal is shorter now). It also positively affected reporting, so switch reporting to the new way.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
9b49c3f053
Fix tests for incremental tc of BL. Add more tests for types with bounds. Temporarily revert reporting method to the old one.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
0ab4e48da1
Fix hash collision in tests. Rename few usages of 'handler' to 'rulesList'.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
cf5d2ae712
Fix incorrect behavior in journal.reset() in some cases, reenable tests for that.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
ca84b0ae02
Add few more tests on wildcards.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
fb384dab39
Use embedded profiling for incremental passes
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
3d80841639
Switch ReportingSupervisor to handle RuleMatch. Add Supervisor using ProgramSpec instead of PrincipalOriginIndex.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
8ed7eb3c02
Change signature of Supervisor to handle RuleMatch instead of Rule
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
78c0cc1559
Setup code for failing typechecking tests, add one. Extract Supervisor impl from ProgramEvaluator.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
b9309e6369
Add several tests of incr typecheck on BL. ProgramEvaluator now depends on ProgramProducer.
2019-07-26 17:00:31 +02:00
Grigorii Kirgizov
be7283190f
Propagate FeedbackStatus out of reactivate for incremental execution.
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
f7ea5f7a0d
Add entries to ExecutionQueue only once
2019-07-26 17:00:30 +02:00
Grigorii Kirgizov
2dba8890f3
Refactor ProcessingStateImpl: move logic related to execution queue to its own class
2019-07-26 17:00:30 +02:00
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