Fedor Isakov
|
adbd00aeed
|
Ensure local typechecking produces same results when running tests.
|
2017-10-13 11:49:45 +02:00 |
Fedor Isakov
|
ce77d05486
|
Minor fixes in the samples. Make bad samples bad again.
|
2017-10-04 15:47:02 +02:00 |
Fedor Isakov
|
3adfaf1ec2
|
Fix model read violation by wrapping SearchQuery construction into a read action.
|
2017-10-01 14:37:33 +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
|
651fb9ac66
|
Activation trace: emphasise constraint occurrences in the store view relevant to the selected occurrence event.
|
2017-09-25 11:34:12 +02:00 |
Fedor Isakov
|
6f95100696
|
Standardise term symbol names.
Typechecking UI: display variable values in the activation trace view as condensed terms.
|
2017-09-20 16:23:31 +02:00 |
Fedor Isakov
|
975beae9bb
|
Refactor Show Type action to also display progress.
|
2017-09-18 13:34:01 +02:00 |
Fedor Isakov
|
f0a7ab2317
|
Make types cache store type models by source root instead of model.
|
2017-09-15 15:10:55 +02:00 |
Fedor Isakov
|
9bc019c58d
|
Show Node Type action to show single node's type. Minor refactoring in ui plugin.
|
2017-09-15 14:18:18 +02:00 |
Fedor Isakov
|
2b123d9f42
|
Apply rule templates from all stages in one pass.
A heuristic to collect nodes required for local typechecking.
Minor changes in typesystem2 runtime.
|
2017-09-14 18:54:19 +02:00 |
Fedor Isakov
|
bad0e86d85
|
Test recursive type.
|
2017-09-13 16:41:56 +02:00 |
Fedor Isakov
|
0ef1798c1a
|
Fix infinite cycle in Snapshot. Include the exception that caused failure while evaluating rules.
|
2017-09-13 16:05:07 +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
|
b33aa6fd76
|
Introduce module for type models managed by the types cache.
|
2017-09-12 13:01:36 +02:00 |
Fedor Isakov
|
490abaad0f
|
Typechecking plugin: ensure the highlighting is part of the reactive scheme. Expose errors during highlighting to the user.
|
2017-09-11 13:17:34 +02:00 |
Fedor Isakov
|
e9c8897bfa
|
Refactor out common typechecking actions. An action to mark a single node's type.
|
2017-08-23 14:33:25 +02:00 |
Fedor Isakov
|
6c56623987
|
Minor refactoring in CHR program producing code: avoid passing stage as a parameter.
|
2017-08-22 11:47:35 +02:00 |
Fedor Isakov
|
5c442c47b6
|
Support for launching typechecking on a bunch of nodes without going deep. Implies automatic collection of typechecking dependencies.
|
2017-08-22 11:47:34 +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
|
9a9dc9bd08
|
Refactoring rule application API and generator: consolidate all logic into token, make token a private API, switch to prototype extension of rule templates. Cleaning up the generator.
|
2017-08-14 13:33:50 +02:00 |
Fedor Isakov
|
9e5eb91089
|
Minor refactoring of rules application logic: extract specific subclasses of NodeWalker for different kinds of walks.
|
2017-08-08 11:56:19 +02:00 |
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 |