Commit Graph

231 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 b9e44ef2eb Typechecking templates: add a recover rule for variable declaration 2017-07-26 16:15:27 +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 9884923141 Typechecking templates: ensure every type is restored, substitute bottom for unknown type. 2017-06-12 12:22:42 +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 c5a3fc6adc Re-save types model to update resolve info. 2017-05-22 10:34:22 +02:00
Fedor Isakov 9f828fec11 Typechecking templates: ensure no type errors in model check. 2017-05-12 11:54:22 +02:00
Fedor Isakov 7912b66516 Typechecking templates: re-save the model to update the resolve info. 2017-05-11 13:31:38 +02:00
Fedor Isakov 7c8cc408fc Typechecking templates: replace all instances of "index" with "position" 2017-05-11 13:11:08 +02:00
Fedor Isakov 0d6452c826 Typechecking templates: auto-changes after the concepts renaming. 2017-05-09 15:42:07 +02:00
Fedor Isakov 21dbecd386 Re-saved all models. 2017-05-04 13:10:14 +02:00
Fedor Isakov 4b18d94664 Typechecking templates: move the term declarations to separate root. 2017-05-04 12:47:22 +02:00
Fedor Isakov 2f3c1a6492 Typechecking templates: drop links to type term from type declarations 2017-05-03 16:14:44 +02:00
Fedor Isakov 13ad30bfd9 Drop obsolete code from the runtime 2017-05-03 16:14:44 +02:00