Fedor Isakov
bad065229f
Rebuild project
2021-06-29 18:10:21 +02:00
Fedor Isakov
c4811d7d74
Migration of types aspect
...
Add types aspect devkit, remove engaged in generation.
2021-06-29 14:51:10 +02:00
Fedor Isakov
dd8c5ffb07
Introduce types aspect devkit and genplan
2021-06-29 14:51:10 +02:00
Fedor Isakov
9ea7ae2067
Better naming scheme for downloadable artefacts
2021-06-21 18:35:48 +02:00
Fedor Isakov
9826290f78
Fix building and packaging the plugins
2021-06-21 17:50:00 +02:00
Fedor Isakov
a8b0b13513
Include build solution into coderules plugin; fix file name
2021-06-18 18:41:01 +02:00
Fedor Isakov
1bb8763816
Refactor AspectLookup to depend on repository, cache results
2021-05-18 12:32:03 +02:00
Fedor Isakov
258a190fde
Rebuild project.
2021-03-23 12:48:06 +01:00
Fedor Isakov
4755c0dfa0
Extract test helper classes into separate redistributable module
2021-02-14 15:12:58 +01:00
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
d362da6a60
Rebuild project
2021-02-04 18:01:10 +01:00
Fedor Isakov
b7f4d227a4
Rebuild project
2021-02-04 09:16:10 +01: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
1389f9429f
Rebuild project
2021-01-08 11:00:02 +01:00
Fedor Isakov
07c5d99a79
Rebuild project
2020-12-27 16:39:22 +01:00
Grigorii Kirgizov
f9239e4e40
minor: upd build.xml
2020-11-20 12:19:57 +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
51606b56c7
Rebuild project.
2020-10-23 12:26:31 +02:00
Grigorii Kirgizov
b693156229
minor refactoring: few changes in OriginIndex interface for better readability
2020-09-24 11:43:17 +03: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
82f0229aca
Rebuild project.
2020-05-09 15:08:47 +02:00
Fedor Isakov
d1163fc883
Open and rebuild the project with MPS 2020.1.
2020-05-09 15:02:20 +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
ab9a22a013
Rebuild project.
2020-05-05 10:19:38 +02:00
Grigorii Kirgizov
f7a9c73199
Refactor out lang dependency on function type analogously to sequence type
...
As closures typesystem depends on collections due to sequence type,
so collections typesystem depends on closures due to function type.
E.g. consider typechecking of SequenceCreator.
2020-05-04 15:16:47 +03:00
Fedor Isakov
767a41ad24
Switch runtime and generator templates to use Query interface.
...
Previously used contract with QueryKind/Object[] parameters is
replaced with Query object.
2020-04-22 11:43:37 +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
52bca36d32
Rebuild project.
2020-04-13 17:58:33 +02:00
Fedor Isakov
6a431fcb49
Rebuild project.
2020-03-31 18:44:07 +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
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
Fedor Isakov
6778fab625
Use index to filter nodes on which FailureHandler should report error and clear failed state.
2018-11-20 22:39:30 +01:00
Fedor Isakov
3aeb5a8863
Fix unnecessary dependencies of coderules generator module.
...
Add missing annotation language to plugin bundle.
2018-11-05 14:49:59 +01:00
Fedor Isakov
06f95c5870
Update build solution to reflect latest changes.
2018-11-04 13:10:40 +01:00
Fedor Isakov
075b34e24d
Replacing usages of deprecated concepts. Minor fixes.
2018-09-11 17:01:45 +02:00
Fedor Isakov
6287a1147e
Fix missing imports
2018-09-11 12:20:50 +02:00
Fedor Isakov
d26805db7d
Switch to the latest version of reactor lib 0.9.1
2018-08-03 11:48:36 +02:00
Fedor Isakov
e2a68b4012
Fixes necessary for compatibility with MPS 2018.2
2018-07-22 16:51:10 +02:00
Fedor Isakov
0bacffb611
Move type setting operation to typechecking lang.
2018-07-22 11:09:49 +02:00
Fedor Isakov
c7cc97fffb
Rename reporting runtim solution.
2018-07-21 13:29:40 +02:00
Fedor Isakov
ea9919f38a
Bring the hierarchy of DataForm concepts in line with the runtime.
...
Merge DataForm constructors into logic language.
Repackaging logic runtime.
Drop obsolete code.
2018-07-21 13:29:22 +02:00
Fedor Isakov
e29a0576e2
Rename the root project and artifacts to "coderules".
2018-07-18 15:54:52 +02:00
Fedor Isakov
77b578d30c
Add a dependency on workflow.preset to in order to fix command-line build. Rename ant targets when importing to clearly separate tasks.
...
https://youtrack.jetbrains.com/issue/MPS-25921
2018-07-17 15:09:47 +02:00
Fedor Isakov
c12bf0d96a
Ensure extracted baseLanguageExt stuff can be built from command line.
2018-07-17 15:09:47 +02:00
Fedor Isakov
8528876d2a
Include build module into deployed set.
2018-07-16 19:05:17 +02:00
Fedor Isakov
473644e389
Extract baseLanguageExt and its related tests to a separate project.
2018-07-16 18:56:36 +02:00
Fedor Isakov
4f063cd261
Update test language for typechecking. Re-implement all typechecking tests using test language. Drop dependency on baseLanguageExt and samples.
2018-07-16 16:39:13 +02:00
Fedor Isakov
d2de6eea33
Return baseLanguagExt as dependency of test modules in order to fix tests.
2018-07-14 17:22:32 +02:00
Fedor Isakov
79c02d2b00
Cleaning up dependencies in an attempt to produce a workable build.xml that doesn't break gradle.
2018-07-14 17:22:14 +02:00
Fedor Isakov
2b2fa47b57
Extract baselanguageExt sample into separate project.
2018-07-14 17:22:07 +02:00
Fedor Isakov
92c6ba3e12
Restructuring the project: consolidate code, moving samples away.
2018-07-14 17:22:07 +02:00
Fedor Isakov
9f372d1ad6
Fix a build dependency issue.
2018-07-10 14:33:12 +02:00
Fedor Isakov
36cc3753e2
Codeflow analysis for local var live/used status. (alternative implementation, faster).
2018-07-10 14:15:28 +02:00
Fedor Isakov
fb27f1ddf2
Ensure eval() supports void and non-boolean expressions. Allow eval in guard. Fix generation of operations from collections lang.
2018-07-10 14:14:08 +02:00
Fedor Isakov
b048701093
Fix build dependencies.
2018-06-21 11:52:35 +02:00
Fedor Isakov
2cc6d44705
Extract reusable stuff from typechecking UI plugin into coderules UI.
2018-06-16 13:08:24 +02:00
Fedor Isakov
67b9e5a372
Fix build broken after moving baselanguageExt.
2018-06-16 12:45:54 +02:00
Fedor Isakov
b4d0ab73bb
Initial boilerplate support for launching controlflow queries. Some refactorings to further uncouple coderules-related stuff.
2018-06-15 14:55:44 +02:00
Fedor Isakov
db04f57c41
Move baselanguage-related stuff to another location within the project.
2018-06-15 11:09:01 +02:00
Fedor Isakov
a74f00f688
Introduce controlflow language and corresponding solutions as another example of applying code rules in practice.
2018-06-14 16:19:06 +02:00
Fedor Isakov
20c107e428
Introduce j.m.lang.typechecking lang to provide typechecking aspect-related services. Abstract away aspect generation/discovery logic to make it reusable.
2018-06-14 15:02:22 +02:00
Fedor Isakov
fda586c45c
Extract generic support for launching code rules into a separate plugin solution.
2018-06-13 14:34:41 +02:00
Fedor Isakov
c6a3b94f9a
Bump up plugin version to 0.5.
2018-06-12 18:12:05 +02:00
Fedor Isakov
a8e6c565b5
Rename the language and runtime solution: typesystem2 -> coderules. Move typechecking-related stuff to typechecking solution. Reorganize modules, delete obsolete stuck files.
2018-06-12 18:00:30 +02:00
Fedor Isakov
760ec4e736
Fix a dependency problem.
2018-06-12 13:06:30 +02:00
Fedor Isakov
2de4d69781
Introduce QueryKind. Fix the kinds of typechecking queries. Avoid directly linking the queries in types aspect.
2018-06-04 18:45:08 +02:00
Fedor Isakov
49296df88f
Fix the dependencies to avoid breaking the build.
2018-05-24 12:47:25 +02:00
Fedor Isakov
ce688b3672
Refactor ProgramProducer to use query templates.
...
Switch to using queries to launch program stages.
Refactor typesystem2 lang and runtime to break queries into stages.
Rename ChrProgram to LogicProgram.
2018-05-24 11:54:01 +02:00
Fedor Isakov
e056befb4e
Establish module dependencies that make sense.
2018-05-17 12:07:50 +02:00
Fedor Isakov
1b564b3057
Implementing QueryTemplate API and support in the evaluation environment.
2018-05-17 12:07:50 +02:00
Fedor Isakov
c01e1d76c9
Refactoring: moving term-related concepts into a separate language, use dataform nomenclature instead of term where possible. Create migration.
2018-04-19 16:30:23 +02:00
Fedor Isakov
487ddddff3
Switched to MPS 2018.1
2018-04-10 14:22:48 +02:00
Fedor Isakov
bfe74e3c7c
Bumped up plugin version to 0.4
2018-04-05 12:40:17 +02:00
Fedor Isakov
f730641327
Extract "reporting" solution and interface.
2018-04-04 10:52:14 +02:00
Fedor Isakov
e30c5e268b
Extend typesystem2 lang with "assign type" operation. TypecheckingSessionSolver to be used for reporting the calculated type. Manual migration required.
2018-04-03 15:16:14 +02:00
Fedor Isakov
b052790f8c
Switch to latest conreactor, update Kotlin runtime libs.
2018-03-05 15:31:39 +01:00
Fedor Isakov
bd81dfe749
Bump up the release version to 0.3. Default build number set to 9999.
2018-01-23 11:55:13 +01:00
Fedor Isakov
43a823a2b5
Refactorings in the API. Introducing RuleProcessingSession to facilitate all operations with the rule processing. Consolidating all low-level stuff in runtime solution. Preparing for multiple languages support.
2018-01-05 13:58:24 +01:00
Fedor Isakov
c236981fb6
Correct version number of the plugin (0.2).
2017-12-06 18:10:02 +01:00
Fedor Isakov
d3a4e21ca9
Migrated to MPS2017.3.
2017-12-06 16:36:28 +01:00
Fedor Isakov
8c81df5fae
Automating updates file generation and upload using Travis CI.
2017-12-04 20:40:52 +01:00
Fedor Isakov
114f4b8079
Bumped up version in plugin.xml.
2017-12-04 13:34:57 +01:00