Commit Graph

997 Commits

Author SHA1 Message Date
Fedor Isakov 2b2fa47b57 Extract baselanguageExt sample into separate project. 2018-07-14 17:22:07 +02:00
Fedor Isakov 92c6ba3e12 Restructuring the project: consolidate code, moving samples away. 2018-07-14 17:22:07 +02:00
Fedor Isakov 9f372d1ad6 Fix a build dependency issue. 2018-07-10 14:33:12 +02:00
Fedor Isakov 71947db946 Sample updated for codeflow analysis. 2018-07-10 14:15:52 +02:00
Fedor Isakov 36cc3753e2 Codeflow analysis for local var live/used status. (alternative implementation, faster). 2018-07-10 14:15:28 +02:00
Fedor Isakov 362912dc9e Controlflow read/write analysis. 2018-07-10 14:14:58 +02:00
Fedor Isakov fb27f1ddf2 Ensure eval() supports void and non-boolean expressions. Allow eval in guard. Fix generation of operations from collections lang. 2018-07-10 14:14:08 +02:00
Fedor Isakov a18e86bbc5 Fix presentation of non-DataForm values. 2018-07-10 14:14:08 +02:00
Fedor Isakov aa7b4d2783 Controlflow analysis: reachability (unfinished). 2018-07-10 14:13:15 +02:00
Fedor Isakov 34db122334 Controlfow rules redesign. Optimize read-write checks for multi-path programs. 2018-07-02 11:30:06 +02:00
Fedor Isakov 4dfb676349 Ensure the order of handlers corresponds with the "extends" relation. The handler being extended has lower priority. 2018-07-02 11:27:55 +02:00
Fedor Isakov 0ddd0fcaa1 Introduce "principal" flag for rule templates. A principal template is excluded from processing as "required". 2018-07-02 11:27:55 +02:00
Fedor Isakov 387e8aab31 Updated solution dependency. 2018-06-24 23:02:34 +02:00
Fedor Isakov 698ea102b2 Switch to the latest reactor release. 2018-06-24 23:02:34 +02:00
Fedor Isakov ab5e641c6b Beautifying coderules editor. 2018-06-21 13:45:20 +02:00
Fedor Isakov b048701093 Fix build dependencies. 2018-06-21 11:52:35 +02:00
Fedor Isakov 6080b5dc5e Sample controlflow analysis using code rules. 2018-06-21 11:41:29 +02:00
Fedor Isakov 784b4ca810 Support launching control flow query with trace. Fix navigating to source location from trace view. Add shortcuts to controlflow actions. 2018-06-21 11:41:11 +02:00
Fedor Isakov a940e7260a Switch to the latest reactor release. 2018-06-21 11:41:11 +02:00
Fedor Isakov 57cb04b3f8 Highlight results of control flow analysis. Drop dead code. 2018-06-16 13:22:27 +02:00
Fedor Isakov 2cc6d44705 Extract reusable stuff from typechecking UI plugin into coderules UI. 2018-06-16 13:08:24 +02:00
Fedor Isakov 74a5d9d441 Auto-updated descriptors. 2018-06-16 12:53:46 +02:00
Fedor Isakov 67b9e5a372 Fix build broken after moving baselanguageExt. 2018-06-16 12:45:54 +02:00
Fedor Isakov 0d9190d739 Simplifying rules launching: get rid of CollectTypesRule. 2018-06-16 12:35:57 +02:00
Fedor Isakov 4dcb1b7ee7 Minor refactoring: rename MarkPlugin to HighlightingPlugin, make the API more convenient with a task parameter object. 2018-06-15 17:08:14 +02:00
Fedor Isakov 1c1f5b1d1f Introduce sample codeflow into baseLanguageExt. 2018-06-15 14:56:17 +02:00
Fedor Isakov b4d0ab73bb Initial boilerplate support for launching controlflow queries. Some refactorings to further uncouple coderules-related stuff. 2018-06-15 14:55:44 +02:00
Fedor Isakov db04f57c41 Move baselanguage-related stuff to another location within the project. 2018-06-15 11:09:01 +02:00
Fedor Isakov a74f00f688 Introduce controlflow language and corresponding solutions as another example of applying code rules in practice. 2018-06-14 16:19:06 +02:00
Fedor Isakov 20c107e428 Introduce j.m.lang.typechecking lang to provide typechecking aspect-related services. Abstract away aspect generation/discovery logic to make it reusable. 2018-06-14 15:02:22 +02:00
Fedor Isakov fda586c45c Extract generic support for launching code rules into a separate plugin solution. 2018-06-13 14:34:41 +02:00
Fedor Isakov c6a3b94f9a Bump up plugin version to 0.5. 2018-06-12 18:12:05 +02:00
Fedor Isakov a8e6c565b5 Rename the language and runtime solution: typesystem2 -> coderules. Move typechecking-related stuff to typechecking solution. Reorganize modules, delete obsolete stuck files. 2018-06-12 18:00:30 +02:00
Fedor Isakov ecdaa8a486 Drop deprecated and obsolete runtime classes. 2018-06-12 13:39:39 +02:00
Fedor Isakov 760ec4e736 Fix a dependency problem. 2018-06-12 13:06:30 +02:00
Fedor Isakov 3f67662683 Dropped deprecated constructs in typesystem2 lang. 2018-06-12 13:01:44 +02:00
Fedor Isakov a58caa24ef Drop support for HandlingStage. Stages no longer necessary in presence of queries. 2018-06-11 19:15:46 +02:00
Fedor Isakov 4a8e0bd846 Deprecate "stage" feature of handlers and query templates. 2018-06-11 15:06:23 +02:00
Fedor Isakov 76c17095ea Minor refactorings in typesystem2 runtime/templates. 2018-06-11 15:02:04 +02:00
Fedor Isakov 494fecff51 More deprecated constructs in typesystem2 language and runtime. 2018-06-11 13:48:07 +02:00
Fedor Isakov c43c921926 Fix editing of RuleTemplate's "exactly" property. 2018-06-08 12:30:56 +02:00
Fedor Isakov 4e64aa7d55 Deprecated obsolete constructs to be migrated to new ones. 2018-06-07 16:37:56 +02:00
Fedor Isakov 3698fdd1a5 Typechecking templates: manually migrated hard rules to rule templates. 2018-06-07 16:31:02 +02:00
Fedor Isakov 3310b6cd12 Sample lang: automatically migrated simple rules to rule templates. 2018-06-07 15:48:32 +02:00
Fedor Isakov 6707f67fca Typechecking templates: automatically migrated simple rules to rule templates. 2018-06-07 15:48:19 +02:00
Fedor Isakov 2e13e86112 Migration to replace simple rules with rule templates. RequireAll statement. Minor generator fixes. 2018-06-07 15:46:17 +02:00
Fedor Isakov dfa819c7d6 Fix show type action, drop obsolete code. 2018-06-06 12:44:33 +02:00
Fedor Isakov 655f39987b Fix not reloadable templates by listening to SRepository (moduleRemoved). 2018-06-06 12:31:31 +02:00
Fedor Isakov c84e86bbb2 Use correct query kind in testlang. 2018-06-06 12:30:56 +02:00
Fedor Isakov eb75184949 Typechecking templates: switch to single stage. Use query's conjunction to order check and recover. 2018-06-06 11:34:45 +02:00