Commit Graph

238 Commits

Author SHA1 Message Date
Fedor Isakov 51baea8b26 Typechecking plugin: drop read action from evaluation step. 2017-10-31 12:33:09 +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 7f1e07ebe7 Typesystem2 lang: Switch to using LateExpression for handling Java code in logical clauses; Introduce ExpressionItem, create a migration that replaces LogicalValue with ExpressionItem; Migration to replace LogicalValue; Drop generation of ExpressionSolver. 2017-10-27 16:30:28 +02:00
Fedor Isakov 0ead14f24b Applied migration in Logic lang. 2017-10-25 16:33:09 +02:00
Fedor Isakov b3b62d2cca UI: Fix presentation of terms, values and lists. 2017-10-24 16:05:05 +02:00
Fedor Isakov bc3ff79a9c Migration applied: extract ListRole. 2017-10-23 12:08:50 +02:00
Fedor Isakov f4a3f1fae5 Logic language runtime: refactor the TreeForm API for cleaner and more readable design, code cleanup, drop obsolete code. 2017-10-23 10:54:30 +02:00
Fedor Isakov e9a35f4fae Fix module dependencies 2017-10-23 10:23:12 +02:00
Fedor Isakov 7c28db8854 UI: Drop string hacks, drop hardcoded term feature names. Code cleanup. 2017-10-19 17:55:09 +02:00
Fedor Isakov 7aef68dfc3 Typesystem2 language refactoring: Delete obsolete unused code. Rename the runtime model (type->macro). 2017-10-18 12:41:49 +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 19af096768 Typesystem2 language: new nomenclature, "Macro Table" instead of "Type Table", call/expand operations instead of newType/asType, specify applicable concept as MacroInputDeclaration's type, replace TypeNodeExpression with MacroInputParameter, migration. 2017-10-16 13:55:32 +02:00
Fedor Isakov c2b445b8e0 Update samples: raw type. 2017-10-13 11:51:11 +02:00
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