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
|
4c8952a09a
|
Typechecking templates: protect from NPE; guard aganst infinite recursion while constructing terms for recursive type; more primitive subtyping cases.
|
2017-09-13 16:41:47 +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
|
1c2bfc7346
|
Typechecking templates: add missing support for primitive types; protect rule applications from running into a cycle on recursive types; git rid of cycles in the typechecking.
|
2017-08-23 14:33:30 +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
|
59798eba71
|
Typechecking templates: switch to map instead of "logical substitution" type.
|
2017-08-22 11:47:35 +02:00 |
Fedor Isakov
|
cf3832ef5a
|
Typechecking templates: extract substitution context parameter. Provisional collecting of dependencies for "local typechecking".
|
2017-08-22 11:47:35 +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
|
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 |