Commit Graph

1775 Commits

Author SHA1 Message Date
Fedor Isakov 1b1de4af47 Introduce options to coderules helper. Only turn on typechecking trace in UI. 2019-08-22 13:47:51 +02:00
Fedor Isakov 6290cbe152 Enable to open typechecking trace from message view; other changes.
Collect trace on every invocation of typechecking.
Drop usages of editor component from trace view.
2019-08-22 11:39:07 +02:00
Fedor Isakov 028683f394 Introduce combinable effects, refactor Step hierarchy to produce effects.
Step subclasses are meant to be immutable and stateless.
The state is now encapsulated in Effect subclasses, which can be combined.
Correspondingly, schedule now produces streams of effects.
2019-08-21 11:44:26 +02:00
Fedor Isakov aef7e4c2ee Extract the non-UI part of trace view to j.m.coderules solution. 2019-08-20 23:11:19 +02:00
Fedor Isakov d786ff43b9 Re-save all models, language name updated in .mpl files. 2019-08-20 23:11:19 +02:00
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 22ee175030 Fix script build (dangling node). 2019-08-20 23:11:19 +02:00
Fedor Isakov c6c0d6b7fa Switch to MPS 2019.2 RC1 2019-08-20 23:11:19 +02:00
Fedor Isakov 973b9c35d5 Rebuild project. 2019-08-14 13:29:22 +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 19b243adf5 Support coerce to concept query in bl types aspect. Testing typechecking in bl. 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 ed79a8b9b9 Fix TermTrie not processing correctly ref to a Nil.
The code in ClassicTermTrie that is responsible for recursion guarding
when processing cyclic terms, used to mismatch valid pattern term
containing ref to a Nil term, which is a constant.
2019-08-10 15:18:04 +02:00
Fedor Isakov 12acc300dc Provisional implementation of typechecking queries over coderules. 2019-07-30 17:56:50 +02:00
Fedor Isakov 1c05a613dc Run gradle build with xvfb wrapper on Travis CI. 2019-07-30 15:39:02 +02:00
Fedor Isakov d1ac4a0b5e Publish test results after failure in Travis CI. 2019-07-30 15:20:33 +02:00
Fedor Isakov 2ef8adfe5e Switch to reactor 0.9.11 2019-07-30 13:48:08 +02:00
Fedor Isakov a74831ad95 Bump up reactor version to 0.9.11. 2019-07-30 13:28:31 +02:00
Fedor Isakov d647a31e1d Switch reactor to JDK 11, kotlin lib to 1.3.31. 2019-07-30 13:27:27 +02:00
Fedor Isakov 269306876b Switch Travis CI to use OpenJDK11 2019-07-30 13:20:17 +02:00
Fedor Isakov a544173e80 Switch to MPS 2019.2 EAP4 2019-07-30 12:26:49 +02:00
Fedor Isakov 6384085b17 Rebuild project. 2019-07-30 12:24:25 +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 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