Commit Graph

204 Commits

Author SHA1 Message Date
Fedor Isakov 4dd344e533 Fix mark types with trace. 2017-07-31 20:09:22 +02:00
Fedor Isakov d66b9db100 Use concurrent map for cache holder. 2017-07-31 17:41:35 +02:00
Fedor Isakov 8ecdb38df2 Typechecking schedulers. Using trampoline scheduler when typechecking facade is called from a command. Test type cache update. 2017-07-31 15:47:17 +02:00
Fedor Isakov 60ef0acb6a Remove dependency on guava. 2017-07-28 20:33:10 +02:00
Fedor Isakov 5c4fb50a63 Reorganize and repackage the code to better reflect purpose of the modules. 2017-07-28 19:13:48 +02:00
Fedor Isakov eace5181df Streamlining the internal typechecking API: remove dependencies on unused classes. Reimplement TypecheckingFacade using the unified API. 2017-07-28 18:55:42 +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 804cc9140b Refactoring typechecking API: extract cache component to the plugin, change the cache updater contract to factory, simplify TestLaunchTypechecking. 2017-07-28 13:51:15 +02:00
Fedor Isakov 9e74520810 Refactor TypecheckingHelper to re-throw the exception that was wrapped in ResumeNextStepException at the end. Allow to resume only once.
Refactor LaunchTypechecking.checkTypes() to throw exception on failure.
2017-07-27 15:18:26 +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 2908543afe Refactoring typechecking steps to extract the core part. Get rid of the persistency-dependent model, use a bare EditableSModelBase for types. 2017-07-25 13:55:55 +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 499b02e56e Fix NPE in TreeTableTree.setVisibleRow(). The tree object may have been replaced by setModel(). 2017-07-21 16:57:13 +02:00
Fedor Isakov c232ba7d57 Fix the "read outside read action" issue in the cell renderer. 2017-07-21 15:40:01 +02:00
Fedor Isakov ba5def2285 Another refactoring in TypecheckingHelper: extract all steps to standalone classes, cleanup the API. 2017-07-20 19:15:46 +02:00
Fedor Isakov 9bd7b5fe08 Refactoring TypecheckingHelper to get rid of the homegrown scheduling and reporting. 2017-07-20 15:19:21 +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 998aa96d6b Fix test launching after switching to rxJava. Need to hack ModelAccess in order to work around the mandatory write action in NodeTestCase. 2017-07-19 12:00:06 +02:00
Fedor Isakov be66ee5bce Automatically updated module descriptors. 2017-07-18 11:46:27 +02:00
Fedor Isakov f4ff350bc5 Set "reexport" flag to true to avoid warning. 2017-07-18 11:27:32 +02:00
Fedor Isakov bebb503874 Switch to using rxJava for launching type checking, avoid blocking EDT. Minor optimization of the trace. 2017-07-18 11:27:12 +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 4ec306e9c3 Delete the solution with obsolete build scripts. 2017-06-12 15:37:20 +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 effa917f63 Optimize module/model imports. Get rid of "exported" dependencies (too much trouble with the ant files). 2017-06-09 09:51:35 +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 ef375de9fd Optimizing model imports 2017-06-01 15:45:49 +02:00
Fedor Isakov aacd10cb9d Update the reactor, unification, collection, and kotlin jars. 2017-06-01 15:11:20 +02:00
Fedor Isakov 13ad30bfd9 Drop obsolete code from the runtime 2017-05-03 16:14:44 +02:00
Fedor Isakov 3f910ec396 Adapt to the changes in memreactor API. Drop AbstractLogicSolver. 2017-03-27 19:26:27 +02:00
Fedor Isakov 0d8fe0a7e0 Drop shortcut for Clear Types. 2017-03-21 12:51:30 +01:00
Fedor Isakov e5ca0a4b9c Show The typechecking process report as a notification balloon. Add a shortcut for Clear Types. 2017-03-15 19:21:08 +01:00
Fedor Isakov 3136d7bedb Switched to the latest EAP build, applied the migrations. 2017-03-09 14:36:20 +01:00
Fedor Isakov 97fefc2884 Sample typechecker: ensure the smodel is accessed in read action, cleanup the code.
Introduce timeout system property "logic.timeout".
Ensure the smodel is accessed in the read action.
Support reporting errors (error constraint).
2017-02-27 16:11:18 +01:00
Fedor Isakov b2174a8872 Minor fixes in the editor. Unconditionally set the store view after executing the program. 2017-02-17 11:58:10 +01:00
Fedor Isakov af9125bfe1 Switch to types recovering using second stage of the program. Remove usages of RecoverSession. 2017-02-17 11:58:10 +01:00
Fedor Isakov f8bce81227 Add the "final" property to the term feature, which suppresses generating "pattern" for a match in a rule's head. 2017-02-13 17:23:07 +01:00
Fedor Isakov d985610a6d Refactor generating a program from type templates to work with handling stages. Dropping obsolete code. Minor stuff. 2017-02-13 17:23:07 +01:00
Fedor Isakov 43dc0752a0 Enable processing of multi-stage sessions. Display each stage as a separate tab in the activation trace. 2017-02-13 17:23:06 +01:00