Commit Graph

180 Commits

Author SHA1 Message Date
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 55eae7dda5 Typechecking templates: replace all obsolete code blocks with logical clauses. Extract logicals into the rule part declaration where possible. 2017-03-01 12:51:21 +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 c254e94a2e Typechecking templates: Switch to using new way of recovering type nodes. Drop the recovery blocks. 2017-02-17 11:58:12 +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
Fedor Isakov f4b965efce Repackage utility classes inside the types aspect model. Delete obsolete module. 2017-02-09 14:24:00 +01:00
Fedor Isakov dd41e08381 New feature: specify stage for a handler, produce multiple programs from the typechecking model. Stages are specified as strings. 2017-02-09 14:23:57 +01:00
Fedor Isakov 61fd80014d Typechecking templates: adapting to the latest refactoring. 2017-02-03 11:28:10 +01:00
Fedor Isakov 44019dca79 Typechecking templates: remove usages of the "typeConcept" 2017-02-03 11:15:23 +01:00
Fedor Isakov 4430488f26 New recover types handler (unfinished) 2017-02-03 11:15:01 +01:00
Fedor Isakov 5b6590df9d Refactoring: switch to the updated interface methods of SessionSolver. Extract invocation arguments calculation from the predicate/constraint. 2017-02-03 11:15:00 +01:00
Fedor Isakov b789d6d240 Refactoring: getting rid of the dependencies on SessionSolver soon to be updated. 2017-01-04 10:44:08 +01:00
Fedor Isakov 31e15fcaa9 Typechecking templates: annotate the handlers with the primary constraints. Moderate pocessing speedup. 2016-12-28 12:48:47 +01:00
Fedor Isakov f5ed430cd9 Build CLP program with handlers instead of rules. Minor rename refactoring. 2016-12-23 17:42:20 +01:00
Fedor Isakov 5bb2d9c7fa Drop the deprecated postProcess and other obsolete features. 2016-12-23 17:40:04 +01:00
Fedor Isakov 1c7e72db40 Typechecking templates: sort the rules so that abstract come after the concrete for post-processing, and before otherwise. 2016-12-23 17:40:02 +01:00
Fedor Isakov 8c3728aa74 Refactor typesystem2 runtime and generator to support handler templates referred to by rule templates. Enable to drop "postProcess" flag on the rules. 2016-12-23 17:26:25 +01:00
Fedor Isakov 641ac6616c Support non-treeform logical values. 2016-12-15 14:11:22 +01:00
Fedor Isakov c08cfbc173 Typechecking templates: optimizing processing of constraints by using more optimal rules order. 2016-12-14 17:08:32 +01:00
Fedor Isakov fe5d24ea35 Update all external jars. 2016-12-14 17:08:31 +01:00
Fedor Isakov c796e43d35 Typesystem2 runtime: refactoring the pattern support in type template. 2016-12-12 16:02:13 +01:00
Fedor Isakov 2c5321f635 Avoid running the evaluation with profiling when not tracing. 2016-12-12 16:02:13 +01:00
Fedor Isakov a5a05531b4 Typechecking templates: Refactoring and straightening up the typesystem, cleaning up and dropping unused rules and constraints.
Refactoring bounds, containment.
Using new type construct for non-patterns.
Using new type construct for non-patterns.
New features: support for boxing, array conversion, capture classifier type parameters.
2016-12-12 16:02:12 +01:00
Fedor Isakov 9548ef0e1f Catch VirtualMachineError while evaluating the program to avoid IDE errors on stack overflow. Avoid failiure on type recovery. Report problems arised while applying templates. Timeout for program evaluation. Report profiling even if the evaluation fails. 2016-12-12 16:02:12 +01:00
Fedor Isakov d2aa5bad29 Refactor NodePrinter to not be dependent on the BL types. Better representation of logicals and values in the activation trace. Use the logical snapshot's value. Get rid of type formatter. 2016-11-26 13:10:18 +01:00
Fedor Isakov cd6b30deed Recovery creates detached nodes by default. 2016-11-16 16:58:57 +01:00
Fedor Isakov 5f802cf6cf Typechecking templates: simplify the code. 2016-11-16 15:44:35 +01:00
Fedor Isakov 98b4a731e6 Fix the build scripts. 2016-11-11 14:22:44 +01:00
Fedor Isakov aa9826e2e3 Typechecking facade. Tests. 2016-11-10 16:35:03 +01:00
Fedor Isakov 57bfd6433e Refactoring out the typechecking code from the sample plugin. 2016-11-07 15:07:16 +01:00
Fedor Isakov abce7d2cb7 Use the SRepository interface instead of Project in typechecking aspect 2016-11-02 12:21:10 +01:00
Fedor Isakov c21df9b8a2 Migrated to the latest MPS build. 2016-10-31 10:03:31 +01:00
Fedor Isakov 5692b4ad86 Displaying the rendered type node in the tooltip 2016-10-31 10:03:13 +01:00
Fedor Isakov 40efd1accf Add a test for a big java root. 2016-10-20 13:01:05 +02:00
Fedor Isakov 9b7323b40c Typechecking templates: basic support for primitive types. 2016-10-20 12:55:48 +02:00
Fedor Isakov 6e4284e61c Fix NodePrinter in order to avoid failures while typechecking. 2016-10-20 12:55:03 +02:00
Fedor Isakov 47f3d61b28 Typechecking templates: adding new types, a workaround for raw classifier types. 2016-10-19 16:09:41 +02:00
Fedor Isakov 6abca3f4e9 Attempting to make tests run from the generated build script. 2016-10-19 11:22:59 +02:00
Fedor Isakov 7621d73208 Fix running tests out-of-process (bad dependencies causing the classloader to fail) 2016-10-13 16:01:33 +02:00
Fedor Isakov 99a564dac4 Typechecking templates: fix the subtyping/substitution logic, bounds check, LUB 2016-10-13 13:37:58 +02:00
Fedor Isakov 16a8541b3e Refactor error reporting while applygin typechecking templates. Trigger headless rules with the "main" constraint instead of merging everything into one huge conjunction. 2016-10-06 11:48:06 +02:00
Fedor Isakov cb86d9b120 Find applicable templates feature. 2016-10-04 15:59:18 +02:00
Fedor Isakov 67a84b08f6 Refactor the templates application code. Simplifying TypecheckingHelper. 2016-10-04 15:58:11 +02:00