Commit Graph

158 Commits

Author SHA1 Message Date
Fedor Isakov c3d20db0e3 Refactor away messages and trace collection from trace view component.
The UI component TraceComponent serves as a visualization tool for a trace collected independently.
Messages are likewise collected elsewhere and shown via message log.
2019-08-20 23:11:19 +02:00
Fedor Isakov 901bf5ad20 Fix type index cache: impossible to attach back an unattached model.
Index must never be updated once registered (published) with a repo.
A new index is always created and all contents is copied from the old one.
2019-08-20 23:11:19 +02:00
Fedor Isakov 59bdd8a3da Fix the "isRelevant" logic in coderules typechecker. 2019-08-20 23:11:19 +02:00
Fedor Isakov 9178e8c913 Coderules-specific MessageViewTool and MessageLog for providing feedback.
Certain compromises have to be made: for one, it is assumed there is only one
project open and it is a MPSProject. Feedback is only reported to the messages
view and the view itself is not yet integrated into the main messages view.
2019-08-20 23:11:19 +02:00
Fedor Isakov 8017a97327 Adapt to changes in typechecking facade. 2019-08-14 13:29:12 +02:00
Fedor Isakov 684c218003 Flip "disabled" option to "enabled", false by default. Introduce property-controlled static flag. 2019-08-12 18:21:38 +02:00
Fedor Isakov a26ab6541b Disable coderules typechecker during model check test. 2019-08-12 18:21:38 +02:00
Fedor Isakov 45ae7a6a24 Fix build script imports and rebuild project. 2019-08-12 18:21:38 +02:00
Fedor Isakov 39c4499585 Refactor aspect lookup, introduce aspect clique to support multiple typesystems.
There might be several unrelated typesystems defined by languages imported into
a single model. A way to handle this is to use aspect cliques that correspond
to a collection of related aspects, which build a single typesystem.
2019-08-12 18:21:38 +02:00
Fedor Isakov 17544576ac Introduce "disable typechecker" properties page. Implement typechecking coerce query. 2019-08-12 16:45:00 +02:00
Fedor Isakov 696d7dc226 Introduce coerce query kind. 2019-08-12 16:45:00 +02:00
Fedor Isakov 1e3917e787 Make dataform printer reusable. 2019-08-12 16:45:00 +02:00
Fedor Isakov 4c4c610531 Enable macro expansion on concept; null input produces empty builder. 2019-08-10 16:25:36 +02:00
Fedor Isakov 12acc300dc Provisional implementation of typechecking queries over coderules. 2019-07-30 17:56:50 +02:00
Fedor Isakov 2ef8adfe5e Switch to reactor 0.9.11 2019-07-30 13:48:08 +02:00
Fedor Isakov 9f2cc61cc4 Implement missing methods in TypecheckingQueries interface. 2019-07-30 12:22:52 +02:00
Fedor Isakov 3a48c47880 Migration: "update versions in descriptors". 2019-07-30 11:49:26 +02:00
Grigorii Kirgizov b7b5ece832 Adjust notion of principal rule in analysis. Reenable assert in ProcessingStateImpl.
Now any rule matching on or activating principal constraints counts as principal.
2019-07-29 20:25:25 +03:00
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 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 ca84b0ae02 Add few more tests on wildcards. 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 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 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 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 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
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 80b078491d Implement new method defined in TypecheckingQueries. 2019-07-19 12:28:25 +02:00
Fedor Isakov edf3071bce Add SuppressErrorsChecker to the list of checkers used during build. 2019-06-25 11:20:45 +02:00
Fedor Isakov 9bd793c8ec Move the logic of updating TypesIndex to TypecheckingStep. 2019-06-07 09:16:21 +02:00
Fedor Isakov 86821af258 Fix incorrect model name saved inside the model itself. 2019-06-07 09:16:21 +02:00
Fedor Isakov b827c509e7 Drop requirement to invoke TypesIndexCache.dispose() in a read action. 2019-06-07 09:16:21 +02:00