Commit Graph

295 Commits

Author SHA1 Message Date
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
Fedor Isakov 2ba4ee5712 Correct plugin version. Create updatePlugins.xml to provide updates. 2017-11-15 14:11:38 +01:00
Fedor Isakov 3ed8d2e375 Switch to latest release of constraints reactor lib. Update the dependency libs. 2017-10-30 19:51:42 +01:00
Fedor Isakov 582c8d32d3 Logic language: introduce ListRole, create a migration to extract ChildRole with single list to ListRole. 2017-10-23 12:08:32 +02:00
Fedor Isakov e9a35f4fae Fix module dependencies 2017-10-23 10:23:12 +02:00
Fedor Isakov 12afe4fa9c Update the distribution zip file name to correspond to the package version (0.2). 2017-10-16 14:32:46 +02:00
Fedor Isakov e60bfc4158 Typesystem2 lang: Use NodeAnchor to make a reference to a node explicit. Replace LogicalValue with Expression where applicable. Drop the type-dependent hacks, git rid of constructing terms by hand in AnchorUtil. Migrations. 2017-10-13 11:51:18 +02:00
Fedor Isakov 3ce85cac5e Introduce snapshot history. Activation sink to record all snapshots and allow to refer to snapshot taken at particular instant. This is used in the Store sink in order to correctly represent logical assignments and unions. Snapshot history is reused by the next stage program. 2017-09-26 11:37:35 +02:00
Fedor Isakov f8c265dcc7 Use PooledThreadExecutor for background scheduling. Ad-hoc support for handling fatal errors during execution, such as StackOverflowError. 2017-09-12 17:11:43 +02:00
Fedor Isakov 78c7f71e9a Refactoring the code that launches typechecking to better separate concerns.
Extract TypeAspectRuntime.
Support building typechecking program for sequence of nodes.
Moving classes/models around to get rid of cyclic deps.
2017-08-16 15:29:23 +02:00
Fedor Isakov aac95b2b25 Move typesystem2.helper.plugin to typechecking.plugin. Drop typesystem2.helper solution. 2017-07-28 13:58:37 +02:00
Fedor Isakov 757d869cf3 Rewrite tests without using NodeTestCase's header. Update TypeNodeManager and Typechecker to both be initialized async, add a dispose call for Typechecker. 2017-07-27 15:18:20 +02:00
Fedor Isakov f2710aa8d6 Fix the trace displaying only the first stage. Simplify types in TypecheckingHelper. Refactor LaunchTypechecking to use CollectTypesStep. 2017-07-27 15:17:20 +02:00
Fedor Isakov e970b2443a Extract typechecking-related stuff to a separate solution 'j.m.typechecking' 2017-07-25 10:30:29 +02:00
Fedor Isakov 4665aa5623 Rename 'j.m.typechecking' solution to 'j.m.typechecking.ui'. Contains only the plugin model. 2017-07-24 11:29:59 +02:00
Fedor Isakov 20622554f2 Switch to MPS 172 latest RC build. Fix a couple of parent-invariant violations in the type system, remove obsolete intention. 2017-07-19 16:22:59 +02:00
Fedor Isakov c8b4fff148 Add dependencies on RxJava and rxjava2-swing. 2017-07-18 11:24:38 +02:00
Fedor Isakov ab408b0c09 Add explicit mapping of library jar locations to reactor module. Fix the plugin. 2017-06-13 20:31:40 +02:00
Fedor Isakov dab37c39b1 Update the plugin metadata. 2017-06-13 10:17:38 +02:00
Fedor Isakov 0fd6f65591 Rename "sampleplugin" solution to "typechecking". Move build solution to typechecking folder. Rename the plugin to "typechecking". 2017-06-12 21:55:53 +02:00
Fedor Isakov 33bc06e9cc Rename solutions "typesystem2.sample.*" to "typechecking.sample.*". 2017-06-12 19:10:29 +02:00
Fedor Isakov 0a615c8490 Rename solution "typesystem2.test" to "typechecking.test". 2017-06-12 19:01:49 +02:00
Fedor Isakov 51263e9b8b Reorganizing the code, optimize the number of solutions. Delete empty solutions. 2017-06-12 18:55:55 +02:00
Fedor Isakov 663c58d880 Delete empty generators. Fix the import errors. 2017-06-12 16:45:00 +02:00
Fedor Isakov ee0b98f9db Rename "sampleLang" to "baseLanguageExt" 2017-06-12 16:32:49 +02:00
Fedor Isakov f9e9e7956a Import the sample language to the tests model. Fix the test. 2017-06-12 13:22:41 +02:00
Fedor Isakov aefaf1a499 Add missing test to the build.xml, ensure the build fails on test failure. 2017-06-09 15:14:28 +02:00
Fedor Isakov 7cbef4cf9d Download and unpack MPS release as a dependency before the build. The root folder "MPS_HOME" to always point to the MPS installation or contain the MPS itself. 2017-06-09 15:14:28 +02:00
Fedor Isakov 2dbd4cec52 New build solution, combine build and test into one, integrate with gradle. 2017-06-09 09:52:20 +02:00
Fedor Isakov f30710f463 Updated the reactor libs. Adapted to the renamed interfaces in the reactor API. 2017-06-05 14:34:14 +02:00
Fedor Isakov aacd10cb9d Update the reactor, unification, collection, and kotlin jars. 2017-06-01 15:11:20 +02:00
Fedor Isakov 24168bf5f8 Rebuilt the project, buildfiles updated. 2017-04-26 14:23:51 +02:00
Fedor Isakov 3136d7bedb Switched to the latest EAP build, applied the migrations. 2017-03-09 14:36:20 +01:00
Fedor Isakov 012dc6b305 Optimizing imports. 2016-12-23 17:40:05 +01:00
Fedor Isakov fe5d24ea35 Update all external jars. 2016-12-14 17:08:31 +01:00
Fedor Isakov 98b4a731e6 Fix the build scripts. 2016-11-11 14:22:44 +01:00
Fedor Isakov 7621d73208 Fix running tests out-of-process (bad dependencies causing the classloader to fail) 2016-10-13 16:01:33 +02:00
Fedor Isakov cb86d9b120 Find applicable templates feature. 2016-10-04 15:59:18 +02:00
Fedor Isakov dd1f2f28a5 Refactoring and cleaning up type/rule template API, introduce RecoverySession. Type table has recovery feature. Return type terms from the sample typechecking. Simple test. 2016-09-19 12:17:40 +02:00
Fedor Isakov 7d959dc154 Refactor the type templates generation and usage. Enable to use type templates outside of the application session. 2016-09-17 14:57:55 +02:00
Fedor Isakov 9521c6cc53 Rename concepts to match the treeform api names. 2016-09-01 11:03:36 +02:00
Fedor Isakov 414a60fffc Moving the reactor API to the separate project.
Switch to java_stub models for the reactor api.
2016-09-01 11:03:35 +02:00
Fedor Isakov 4b6ac48a41 Merging TreeForm model into the reactor solution.
Move unification lib tnd treeform api model to reactor solution.
Remove obsolete solution.
2016-09-01 11:03:35 +02:00
Fedor Isakov 9064c6bbb8 Minor fixes, code restructuring, fixing the dependencies, removing obsolete file. 2016-08-30 17:04:11 +02:00
Fedor Isakov 778f1bf167 Trying to make tests launch from the build file (unsuccessful) 2016-08-26 12:17:10 +02:00
Fedor Isakov 569b1fd082 Build file for making the samplechecker plugin. 2016-08-25 13:55:53 +02:00