Commit Graph

301 Commits

Author SHA1 Message Date
Fedor Isakov 450ac6589a Drop dependency on Kontlin stdlib -- provided by the platform. 2019-06-05 15:18:47 +02:00
Fedor Isakov 89491a1c79 Switch to using conreactor 0.9.10 2019-06-04 18:59:53 +02:00
Fedor Isakov 3b638b2d08 Drop usages of Rule.tag(), replace with Rule.uniqueTag().
Switch to using long as a rule's unique tag.
Rename all entities using "handler" to "rulesList".
2019-05-17 18:01:34 +02:00
Fedor Isakov b482de1ce5 Rename reactor classes: Handler -> RulesList, IdWrapper -> Id 2019-05-10 12:00:02 +02:00
Fedor Isakov aaec11de9b Adapt to the changes in reactor API. 2019-05-05 14:29:08 +02:00
Fedor Isakov 4389b349d7 Adapt to the changes in reactor API. 2019-05-02 14:59:57 +02:00
Fedor Isakov b1f7ba4ecf Drop usages of deprecated symbols in reactor API. 2019-05-02 14:46:57 +02:00
Fedor Isakov 478b43ce16 Drop usages of deprecated interfaces. 2019-04-26 00:22:02 +02:00
Fedor Isakov f7b1b96bcc Remove usages of deprecated log statements, migrate to message warn. 2019-04-24 21:21:03 +02:00
Fedor Isakov 99ea2a7b71 Switch to the latest revision of reactor lib (0.9.9). 2019-04-24 21:21:03 +02:00
Fedor Isakov 2480615b28 Fix instability of activation trace view's scroll position when changing filters. 2019-04-19 18:16:10 +02:00
Fedor Isakov ceb721e501 Fix reexport dependency in build script. 2019-04-19 12:08:57 +02:00
Fedor Isakov ccb5410ba6 Make ActivationTrace remember the position and column widths on changing filter state.
Save the first visible row before the change and restore the view after the
the change, so that the same row is displayed at the top of viewport.
2019-04-19 11:50:03 +02:00
Fedor Isakov 15dce5cf43 Activation trace: ensure the tree can be copied to clipboard, including identation. 2019-04-19 11:50:03 +02:00
Fedor Isakov 55940d2e16 Remove Kotlin libs from reactor module and from distrib. Rebuild project.
Kotlin runtime is available from the platform.
2019-04-11 11:10:00 +02:00
Fedor Isakov 396b1fdad3 Move all classes from j.m.typechecking to j.m.typechecking.service. This package name is reserved. 2019-03-22 11:40:32 +01:00
Fedor Isakov 36be0a8e6d Rename TypecheckingFacade to Typechecking to avoid name collisions. 2019-03-22 11:28:58 +01:00
Fedor Isakov adcfba5e9a Introduce two built-in predicates to be used instead of eval(false) etc.: fail and report message (debug/info/warning/error/fatal). 2019-02-18 11:49:11 +01:00
Fedor Isakov b102237bb8 Drop static collection of predicate symbols. Adapt to the latest reactor API. Drop DefaultSessionSolver 2019-02-17 11:39:56 +01:00
Fedor Isakov 9f8539bfd8 Drop unused and long deprecated feature. 2019-02-15 17:46:10 +01:00
Fedor Isakov 255b7061f7 Reorganize models/packages, restructure code components responsible for program building/evaluation. 2019-02-15 17:15:17 +01:00
Fedor Isakov 2f8ff698b3 Minor refactorings in program producing code. Consolidating everything related to program producing into a single package. 2019-02-15 17:15:16 +01:00
Fedor Isakov 83e5ce8c26 Switch to the latest conreactor version. 2019-02-15 17:15:16 +01:00
Fedor Isakov 49a381936d Enable to specify custom matching strategy when asserting that locally inferred types are the same. 2019-02-02 16:09:39 +01:00
Fedor Isakov 5b255f2a02 Fix references and introduce languages engaged on generation to keep compat. w/191 EAP. 2019-02-01 11:31:35 +01:00
Fedor Isakov 92faa816f8 Drop superfluous log statements. 2019-01-31 23:47:11 +01:00
Fedor Isakov 9243c00c65 Fix issues found by model checker (ex typesystem). 2019-01-31 11:30:02 +01:00
Fedor Isakov dc1965fdc9 Introduce a test for running model checker on all models in the project as a part of CI. 2019-01-31 11:30:02 +01:00
Fedor Isakov 551a015ada Fix unification predicate not doing occurrs check on tell. 2019-01-26 13:52:10 +01:00
Fedor Isakov 934f98b717 Fix UnificationPredicate to delegate logical union logic to the underlying implementation.
Test unification failure on cycle detected.
2019-01-25 15:02:03 +01:00
Fedor Isakov 27681ef80c Switch substitution to work using equals predicate instead of equals() java method. Testing substitution on tricky cases. 2019-01-15 20:09:16 +01:00
Fedor Isakov 0b9fc55817 Make equals predicate respect trivial bindings: [X -> Y] where X is unified with Y. Tests. 2019-01-15 19:04:07 +01:00
Fedor Isakov 161f00355d Fix equals predicate: make it conform to general contract of unification without additional bindings. Testing ask/tell eq. 2019-01-14 12:25:27 +01:00
Fedor Isakov 6aa965c96c Ignore commented out nodes while applying templates. Use node pointer to report locations of failed tests. 2019-01-13 15:14:14 +01:00
Fedor Isakov 50487cd41c Fix unification predicate implementation to properly process non-term arguments. Cleanup the code. 2019-01-13 14:26:35 +01:00
Fedor Isakov a46937b128 Change semantics of EqualsPredicate: ask returns true iff values are equal or the logicals are the same, tell throws exception if not 2019-01-13 14:26:35 +01:00
Fedor Isakov 16153a23d1 Correctly display value assigned to a logical. 2019-01-09 13:01:57 +01:00
Fedor Isakov cc4b335286 Introduce checking for instances of RuntimeErrorType during tests. Refactor test typechecking launcher. 2019-01-04 17:47:44 +01:00
Fedor Isakov 63da3a7a6c Minor optimization of terms representation in UI: hide uninitialized values 2019-01-03 17:16:47 +01:00
Fedor Isakov d5ed9d8fa0 Eliminate duplicate language aspect objects from lookup 2019-01-02 18:16:28 +01:00
Fedor Isakov c87ca87a49 Cleanup in tests 2018-12-30 16:41:28 +01:00
Fedor Isakov b4693aac3c Switch to the new conreactor version. 2018-12-28 11:57:27 +01:00
Fedor Isakov d74ec1d2f8 Introduce support for unification variables of arbitrary type, not just terms. Minor refactoring and cleanup. 2018-12-28 11:56:27 +01:00
Fedor Isakov 82b409cb86 Fix SubstituteUtil to match pattern using equals() instead of unification. Tests for SubstituteUtil. 2018-12-14 13:35:36 +01:00
Fedor Isakov c22520fcc8 Fix EQ solver returning wrong value for two distinct free logicals. Testing EQ and UNI solvers on free logicals. 2018-12-13 18:24:53 +01:00
Fedor Isakov 3e38d4aedd Record a warning on local type inference yielding mismatched type in case ensureLocal flag is set to false. 2018-11-29 12:47:34 +01:00
Fedor Isakov f0bb068750 Fix instances of removed concepts and broken API calls after migration to 2018.3. Rebuild project. 2018-11-28 16:48:59 +01:00
Fedor Isakov 19ce84f7ef Switch to 2018.3 RC. Apply all migrations. 2018-11-28 16:48:59 +01:00
Fedor Isakov 8bc26f6cdd Shorten the presentation of user terms in actiovation trace view. Filter out wildcards and empty lists. 2018-11-27 15:10:48 +01:00
Fedor Isakov 939262b4a5 Fix memleak by unregistering mouse listeners on treetable component dispose. 2018-11-27 15:10:14 +01:00
Fedor Isakov bfcf89e3df Use stack to implement storage of template application session objects 2018-11-20 22:39:30 +01:00
Fedor Isakov 6778fab625 Use index to filter nodes on which FailureHandler should report error and clear failed state. 2018-11-20 22:39:30 +01:00
Fedor Isakov fc7b9d6caf Always report a failure during evaluation as a warning 2018-11-20 22:39:29 +01:00
Fedor Isakov 33c3f2ba03 Wrap text constructing code into a try-catch when called from UI 2018-11-20 22:39:29 +01:00
Fedor Isakov 992fa68bff Ensure that if all the advised errors have been triggered during typechecking. 2018-11-20 22:39:29 +01:00
Fedor Isakov c8a56558ae Always use trampoline as blocking scheduler. Avoids deadlocks when two threads wait on read lock, and EDT requests write. 2018-11-06 14:39:01 +01:00
Fedor Isakov 3aeb5a8863 Fix unnecessary dependencies of coderules generator module.
Add missing annotation language to plugin bundle.
2018-11-05 14:49:59 +01:00
Fedor Isakov 06f95c5870 Update build solution to reflect latest changes. 2018-11-04 13:10:40 +01:00
Fedor Isakov 18fbdbd50b Use error annotation in tests instead of simply relying on typechecking failure. 2018-11-04 13:10:40 +01:00
Fedor Isakov 6788bcf7a1 Switch to latest reactor, update the API calls. Support EvaluationFailure and FailureHandler. 2018-11-04 13:10:40 +01:00
Fedor Isakov 0282f28a5c Bring reporting in line with MPS core reporting facilities. Cleanup the API. 2018-11-04 12:54:32 +01:00
Fedor Isakov f7d2129d37 Drop unused class 2018-09-11 18:40:15 +02:00
Fedor Isakov 7bc1ea7262 Auto-updated descriptors 2018-09-11 17:05:50 +02:00
Fedor Isakov 075b34e24d Replacing usages of deprecated concepts. Minor fixes. 2018-09-11 17:01:45 +02:00
Fedor Isakov 4ec1656b1b Introduce repository expression to provide context repository in rules. 2018-09-11 15:36:12 +02:00
Fedor Isakov f44de16c3f Introduce a method to access the context repository into Reporting interface. 2018-09-11 12:22:47 +02:00
Fedor Isakov 6287a1147e Fix missing imports 2018-09-11 12:20:50 +02:00
Fedor Isakov ec38be682e Delete obsolete artefacts 2018-08-19 17:32:59 +02:00
Fedor Isakov c8e0464739 Keep test_gen directory to avoid failed builds 2018-08-03 11:48:36 +02:00
Fedor Isakov 78764af3dc Ensure all rule builders within a single rule template have unique tags 2018-08-03 11:48:36 +02:00
Fedor Isakov d26805db7d Switch to the latest version of reactor lib 0.9.1 2018-08-03 11:48:36 +02:00
Fedor Isakov a710832dbf Avoid passing null value to a method not expecting it. 2018-07-22 19:13:14 +02:00
Fedor Isakov e2a68b4012 Fixes necessary for compatibility with MPS 2018.2 2018-07-22 16:51:10 +02:00
Fedor Isakov 0bacffb611 Move type setting operation to typechecking lang. 2018-07-22 11:09:49 +02:00
Fedor Isakov c7cc97fffb Rename reporting runtim solution. 2018-07-21 13:29:40 +02:00
Fedor Isakov ea9919f38a Bring the hierarchy of DataForm concepts in line with the runtime.
Merge DataForm constructors into logic language.
Repackaging logic runtime.
Drop obsolete code.
2018-07-21 13:29:22 +02:00
Fedor Isakov 3791a3b216 Auto-updated descriptors. 2018-07-20 10:51:53 +02:00
Fedor Isakov 1c33ddca9a Configure the dependency on conreactor to be resolved through local maven repo. Make travis install reactor libs locally. 2018-07-19 10:52:03 +02:00
Fedor Isakov e29a0576e2 Rename the root project and artifacts to "coderules". 2018-07-18 15:54:52 +02:00
Fedor Isakov 77b578d30c Add a dependency on workflow.preset to in order to fix command-line build. Rename ant targets when importing to clearly separate tasks.
https://youtrack.jetbrains.com/issue/MPS-25921
2018-07-17 15:09:47 +02:00
Fedor Isakov c12bf0d96a Ensure extracted baseLanguageExt stuff can be built from command line. 2018-07-17 15:09:47 +02:00
Fedor Isakov 8528876d2a Include build module into deployed set. 2018-07-16 19:05:17 +02:00
Fedor Isakov 473644e389 Extract baseLanguageExt and its related tests to a separate project. 2018-07-16 18:56:36 +02:00
Fedor Isakov 4f063cd261 Update test language for typechecking. Re-implement all typechecking tests using test language. Drop dependency on baseLanguageExt and samples. 2018-07-16 16:39:13 +02:00
Fedor Isakov 8b758be83e Ensure node's own language gets included into the rules scope for application. 2018-07-16 13:45:00 +02:00
Fedor Isakov d4477c519b Auto-updated descriptors. 2018-07-16 13:44:02 +02:00
Fedor Isakov d2de6eea33 Return baseLanguagExt as dependency of test modules in order to fix tests. 2018-07-14 17:22:32 +02:00
Fedor Isakov 79c02d2b00 Cleaning up dependencies in an attempt to produce a workable build.xml that doesn't break gradle. 2018-07-14 17:22:14 +02:00
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 a18e86bbc5 Fix presentation of non-DataForm values. 2018-07-10 14:14:08 +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 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 2cc6d44705 Extract reusable stuff from typechecking UI plugin into coderules UI. 2018-06-16 13:08:24 +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 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 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