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
dbc5154491
Reload and re-generate build scripts.
2019-11-11 15:28:23 +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
6c63cb409f
Introduce Config component. Make typechecker pref page nicer. Consolidate all typechecking options.
...
A reusable Config app component to be responsible for all level of configurations: default/system/user/ui.
Swith to Config interface instead of map<string,Object> for options.
Add an UI option to control whether trace is enabled.
2019-10-18 11:58:51 +02:00
Fedor Isakov
49518e0704
Switch to reactor version 0.9.14.
2019-09-30 16:44:36 +02:00
Grigorii Kirgizov
cdfe1f2c0c
Update language version after migrations from mps.logic lang
2019-09-11 13:24:02 +03:00
Fedor Isakov
5b5798dcad
Switch to reactor lib 0.9.13.
2019-09-10 18:37:11 +02:00
Fedor Isakov
5478b2e070
Rebuild project.
2019-09-06 11:16:07 +02:00
Fedor Isakov
8b82d7ba4d
Introduce origin block for specifying the constraint rule origin.
2019-09-02 17:55:46 +02:00
Fedor Isakov
17cb4654cf
Introduce message handler parameter to rule application session.
...
In some situations it is unreasonable to fail on missing templates,
it's better to produce a working but perhaps incomplete program
than not to produce anything.
2019-08-26 16:53:04 +02:00
Fedor Isakov
de2bea67bb
Rebuild project.
2019-08-22 15:31:04 +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
98356f25cc
rebase on master. remove extra deps in coderules generator
2019-08-22 15:16:17 +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
aef7e4c2ee
Extract the non-UI part of trace view to j.m.coderules solution.
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
973b9c35d5
Rebuild project.
2019-08-14 13:29:22 +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
6384085b17
Rebuild project.
2019-07-30 12:24:25 +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
Grigorii Kirgizov
9a22149a5c
Add some debugging info for incremental lang typecheck tests
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
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
0615c69143
Switch to using MPS 192 EAP2
2019-06-25 11:20:45 +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
Fedor Isakov
fe505792c6
A bunch of refactorings and renames in typechecking plugin.
...
Remove unused interfaces, merge classes with similar functionality, reduce the number of used classes.
2019-06-05 16:14:27 +02:00
Fedor Isakov
d0ffcb66ef
Regenerated project.
2019-06-05 16:14:27 +02:00
Fedor Isakov
3e1c9d6e89
Rebuild project.
2019-06-04 18:59:53 +02:00
Fedor Isakov
478b43ce16
Drop usages of deprecated interfaces.
2019-04-26 00:22:02 +02:00
Fedor Isakov
e1862a4a40
Regenerate build.xml
2019-04-24 21:34:18 +02:00
Fedor Isakov
99ea2a7b71
Switch to the latest revision of reactor lib (0.9.9).
2019-04-24 21:21:03 +02:00
Fedor Isakov
55940d2e16
Remove Kotlin libs from reactor module and from distrib. Rebuild project.
...
Kotlin runtime is available from the platform.
2019-04-11 11:10:00 +02:00
Fedor Isakov
ca0524599d
Switch to latest 2019.1 EAP and rebuild.
2019-04-09 16:51:31 +02:00
Fedor Isakov
f6374635bb
Rebuild project.
2019-03-22 11:10:08 +01:00
Fedor Isakov
83e5ce8c26
Switch to the latest conreactor version.
2019-02-15 17:15:16 +01:00
Fedor Isakov
49a381936d
Enable to specify custom matching strategy when asserting that locally inferred types are the same.
2019-02-02 16:09:39 +01:00
Fedor Isakov
dc1965fdc9
Introduce a test for running model checker on all models in the project as a part of CI.
2019-01-31 11:30:02 +01:00
Fedor Isakov
cc4b335286
Introduce checking for instances of RuntimeErrorType during tests. Refactor test typechecking launcher.
2019-01-04 17:47:44 +01:00
Fedor Isakov
b4693aac3c
Switch to the new conreactor version.
2018-12-28 11:57:27 +01:00
Fedor Isakov
82b409cb86
Fix SubstituteUtil to match pattern using equals() instead of unification. Tests for SubstituteUtil.
2018-12-14 13:35:36 +01:00
Fedor Isakov
f0bb068750
Fix instances of removed concepts and broken API calls after migration to 2018.3. Rebuild project.
2018-11-28 16:48:59 +01:00