Commit Graph

105 Commits

Author SHA1 Message Date
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 54cadb200a Repackage plugin 2021-02-06 15:28:03 +01:00
Fedor Isakov 7fe5a5ad7a Auto-updated files after migrating to MPS 2021.1 EAP 2021-02-04 12:26:59 +01:00
Grigorii Kirgizov 148223a842 Add incremental tests for lambda calc. Enable ignored tests for closures. 2021-01-29 13:39:35 +03: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 62e8e7d013 Switch to MPS 2020.3 release. 2021-01-08 11:00:02 +01:00
Grigorii Kirgizov c44e3a7fd8 Upd buildscripts 2020-11-18 11:36:28 +03:00
Fedor Isakov bf7bad4b4a Drop mockito lib, replace with ad-hoc solution, fix the tests. 2020-10-25 00:17:25 +02:00
Fedor Isakov 32b11c0c7f Introduce memo expression to enable memoization of values.
During template application memo can be used to store results
of a computation in the session. The memo will be automatically
cleared on an event that invalidates the caches.
2020-07-30 17:14:40 +02:00
Fedor Isakov a6d671fef8 Refactor TypecheckingService and cache. Enable to use cache w/o tracking.
TypecheckingService has become too overloaded with responsibilities, and
so Strategy class is introduced to extract strategies to.
Cache holder can also be non-tracking, which comes in handy when
implementing purely caching typechecking, not anticipating any change.
2020-07-16 10:33:44 +02:00
Fedor Isakov d5a259bbde Re-apply all re-runnable migrations (one fix). 2020-07-11 15:59:51 +02:00
Fedor Isakov e2aa9fd53f Fix LogicalItemExpression contained in ExpressionItem issue, provide migration.
It's possible to a cycle b/w the two concepts, which is totally unnecessary.
This provides the means for detecting and fixing this problem.
2020-07-11 14:47:53 +02:00
Fedor Isakov 598d6c109d Make incremental test launcher fail on errors during evaluation.
Also provide a method to check that a node has "error type" assigned,
which may come in handy.
2020-06-27 10:35:47 +02:00
Fedor Isakov d2d4578514 Ensure typechecking cache is cleared on reload classes. 2020-06-25 20:48:17 +02:00
Fedor Isakov f6154be66b Refactor Effect to rely on Result for errors collecting.
Result class encapsulates errors collected during step execution.
Simplify CoderulesHelper and callback interface.
2020-06-25 14:30:31 +02:00
Fedor Isakov 9c1d3aad92 Move Result class to commonly-used runtime solution. 2020-06-25 14:30:30 +02:00
Fedor Isakov 44a25ada3a Enable extracting term presentation via delegate.
Provide an instance of NodePresentable that ought
to serve as the delegate proxy for extracting node
presentation.
2020-06-21 23:17:33 +02:00
Fedor Isakov ab99a0245c Introduce runtime support module j.m.coderules.runtime. 2020-06-21 23:17:33 +02:00
Fedor Isakov f3b16186e6 Fix build scripts and regenerate. 2020-05-09 10:54:18 +02:00
Fedor Isakov f2bcaffccc Revert "Upd coderules buildscript, regen build.xml"
This reverts commit 6b826334
2020-05-07 10:18:16 +02:00
Grigorii Kirgizov 6b82633450 Upd coderules buildscript, regen build.xml 2020-05-07 02:37:35 +03:00
Fedor Isakov ea687efb21 Types for j.m.logic language. 2020-05-05 10:19:32 +02:00
Fedor Isakov 91dda1d85f Move ProgramAnalysis to template model, avoid creating dependency cycle. 2020-04-19 16:30:11 +02:00
Fedor Isakov fd2043e047 Update build scripts. 2020-04-13 18:00:15 +02:00
Fedor Isakov 296b3e9271 Re-apply all rerunnable migrations. 2020-04-13 17:58:33 +02:00
Fedor Isakov a894b33983 Update to the latest RxJava2 and Swing adapter. 2020-03-05 15:49:04 +01:00
Fedor Isakov 8ec26b4e94 Support node<> argument in constraints. Prepare to get rid of node-ptr<>. Minor refactoring. 2020-02-20 11:59:28 +01:00
Fedor Isakov 0d7316adf4 Introduce LogicalItemValueExpr, deprecate ValueOfExpr, migration.
LogicalItemValueExpression is to play the same role as valueOf(logical)
within an instance of EvaluationSubject.
LogicalItemExpression is to represent the logical variable itself.
2020-02-12 12:18:30 +01:00
Fedor Isakov 391c9053b5 Apply migrations after switch to MPS 193. Regenerate project. 2020-02-03 11:24:22 +01:00
Fedor Isakov fa7532f34f Include origin features's hash to requiredHash when building rules.
This enables to adequately reflect changes in the model when it is updated
by editor actions, such as "side transform".

Three tests was broken as the result of this fix and are disabled
http://127.0.0.1:63320/node?ref=r%3A8d22f6d9-72f0-49ec-92ee-027a87fbedd4%28jetbrains.mps.baseLanguageExt.test.incremental%40tests%29%2F3095008005741803340
2020-01-02 17:42:38 +01:00
Fedor Isakov efd19aa45b Implement incremental generation of coderules program.
Introduce SessionData, allow to keep arbitrary data with the session.
Extend RulesListTable with support for invalidation based on rule unique tags.
Introduce UpdatesRecorder to keep track of invalidated nodes.
Extend ApplyTemplatesStep with invalidate logic for typechecking.
Simplify design, drop unnecessary fields, minor refactorings.
2020-01-02 17:20:13 +01:00
Fedor Isakov 69bc34e8f9 Drop language j.m.l.smodel.types containing SNodeTypeOp that is no longer used. 2019-11-11 14:37:41 +01:00
Fedor Isakov ecd2594fed Drop deprecated Reporting interface and all its usages.
Remove runtime solution that contained only Reporting.
2019-11-11 13:53:41 +01:00
Fedor Isakov daa1bdceb6 Update default jvm options for running tests to "-Xmx2048m". 2019-11-05 20:53:01 +01:00
Fedor Isakov bb8fffc7ea Enable to use origin{} block to specify no origin.
Rules that are used only as auxiliary resolvers don't have an associated
origin node, even though they are produced from a specific location.
To enable tracking of correct origin to report errors to one can use
origin(no origin){} to override the default behaviour.
2019-11-05 18:46:02 +01:00
Fedor Isakov 3fb8df4af4 Fix CheckProjectModules test. Drop usages of deprecated API. 2019-10-19 11:03:30 +02:00
Fedor Isakov 49518e0704 Switch to reactor version 0.9.14. 2019-09-30 16:44:36 +02:00
Fedor Isakov 5b5798dcad Switch to reactor lib 0.9.13. 2019-09-10 18:37:11 +02:00
Fedor Isakov 8b82d7ba4d Introduce origin block for specifying the constraint rule origin. 2019-09-02 17:55:46 +02:00
Fedor Isakov 130c273980 Swith to using reactor lib 0.9.12. 2019-09-02 17:37:55 +02:00
Grigorii Kirgizov af2faeb077 Remove dependencies on samples.baseLanguageExt and samples.lambdacalc from tests, fix build. Rebase onto master. 2019-08-22 15:16:18 +02:00
Grigorii Kirgizov 906f919e16 Run coderules program analyses at generation stage. Extend Rule with basetag(). Adjust how rule_tag is generated for reuse in generator.
basetag() returns name of ConstraintRule without node id.
Check on whether Rule is principal are now done through basetag(), it's sufficient.
Add part of future analysis: CallerTableBuilder.
2019-08-22 15:16:17 +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 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 45ae7a6a24 Fix build script imports and rebuild project. 2019-08-12 18:21:38 +02:00
Fedor Isakov 2ef8adfe5e Switch to reactor 0.9.11 2019-07-30 13:48:08 +02:00
Fedor Isakov 66c9222a95 Run migrations with MPS 2019.2 EAP3. 2019-07-26 17:27:18 +02:00
Fedor Isakov 4e4e1f68ef Fix buildscript dependencies. 2019-07-26 17:14:48 +02:00
Grigorii Kirgizov b560bbbd30 Separate incremental tests on testlang and baselang into their own models. 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 9c5bf858c3 Apply migrations from EAP3 and rebuild project. 2019-07-19 12:28:27 +02:00
Fedor Isakov 86821af258 Fix incorrect model name saved inside the model itself. 2019-06-07 09:16:21 +02:00
Fedor Isakov 57de11c3fe Rename all modules/models having prefix j.m.typechecking to j.m.coderules.typechecking. The former is reserved. 2019-06-05 16:15:59 +02:00