Commit Graph

1858 Commits

Author SHA1 Message Date
Grigorii Kirgizov 22e86bbb89 upd .gitignore 2019-09-11 13:24:01 +03:00
Grigorii Kirgizov 924d07c8ed Return 'tagDetail' logic in RuleBuilder to handle duplicate tags of rules generated in loops 2019-09-11 13:24:01 +03:00
Grigorii Kirgizov ff9d109ea6 Add BL typechecking of arrays and boolean consts. Fails now due to rule tag collisions 2019-09-11 13:24:01 +03:00
Grigorii Kirgizov 4ea72e6d4f Allow checking for "no type" TypecheckingReportItems in typechecking tests 2019-09-11 13:24:01 +03:00
Fedor Isakov adc115b164 Avoid failure on exception thrown from a template.
Produce a program even in case some of applied rules failed.
Allow to recover from failure in apply templates.
2019-09-10 18:37:12 +02:00
Fedor Isakov b842fb6b9d Avoid unnecessarily throwing exception on failure.
EvaluationFailureException is meant to be only thrown from predicate solvers.
It is specially processed in the reactor engine.
2019-09-10 18:37:12 +02:00
Fedor Isakov c016ffc01b Fix a race condition.
Instead of an ad-hoc synchronization in implementation use a more broad synchronization in a public method.
2019-09-10 18:37:12 +02:00
Fedor Isakov 51860132b7 Remove overlooked debug output. 2019-09-10 18:37:12 +02:00
Fedor Isakov 5b5798dcad Switch to reactor lib 0.9.13. 2019-09-10 18:37:11 +02:00
Fedor Isakov f583c62d93 Drop overrides of removed methods. 2019-09-10 18:37:11 +02:00
Fedor Isakov 1c61352068 Bump up reactor lib's version to 0.9.13. 2019-09-10 13:21:07 +02:00
Fedor Isakov 5cb4e0b289 Deprecate getting "current" EvaluationSession. 2019-09-10 13:19:59 +02:00
Fedor Isakov 487df639e5 Drop unused methods from EvaluationSession.
Having unused methods is confusing.
2019-09-10 13:17:34 +02:00
Fedor Isakov af212ca92e Refactoring EvaluationSession(Ex): drop controller accessor.
The inverse reference to controller from Evaluation session considered harmful.
Drop controller from EvaluationSession, drop ask/tell from EvaluationSession, extend InvocationContext with controller and supervisor accessors.
2019-09-10 13:08:53 +02:00
Fedor Isakov 5478b2e070 Rebuild project. 2019-09-06 11:16:07 +02:00
Fedor Isakov d3a555c3a4 Ensure correct nodeRef is passed as a feedback template
.
2019-09-05 22:56:11 +02:00
Fedor Isakov cdac933b0c Refactor TraceObject to contain all traces from all evaluation sesssion.
If multiple aspect cliques are used in a model, multiple sessions are launched,
which results in multiple traces.
2019-09-05 22:56:11 +02:00
Fedor Isakov 67284c802e Drop baseLanguage from imports in a sandbox model. 2019-09-05 22:56:11 +02:00
Fedor Isakov fc3b69f06e Make sure the "annotation" lang has a types aspect. 2019-09-05 18:53:52 +02:00
Fedor Isakov 43e34bd14e Redesing the way aspect cliques are processed.
An empty clique singifies that either none of the languages in the clique have the necessary aspects,
or that the "leaf" languages don't.
2019-09-05 18:53:27 +02:00
Fedor Isakov 1636f18f73 Support navigating to rule from editor. Drop implementations of Reporting.report. 2019-09-04 16:53:03 +02:00
Fedor Isakov e628ea350b Collect and index all feedback nodes. Support navigating to next/prev feedback. 2019-09-03 16:19:16 +02:00
Fedor Isakov 279678b219 Ensure all feedback gets reported to trace. 2019-09-03 14:53:11 +02:00
Fedor Isakov 1ae5208424 Switch to MPS 2019.2 release. 2019-09-02 17:55:47 +02:00
Fedor Isakov edc49464e1 Fix the failing test: the error is no longer reported on return statement. 2019-09-02 17:55:46 +02:00
Fedor Isakov 486fbf10af Rewrite error reporting using target spec or by specifying the target. 2019-09-02 17:55:46 +02:00
Fedor Isakov ab8ec75878 Rewrite feedback handling without Reporting interface.
Instead of using the (deprecated) Reporting interface when handling
feedback, use the more straightforward abstract method.
2019-09-02 17:55:46 +02:00
Fedor Isakov 77be3869a4 Introduce target specification to provide feedback constraint.
One should be able to report issues with a target.
The target is normally inferred from the rule's origin, but sometimes it is
necessary to specify the issue's target explicitly.
2019-09-02 17:55:46 +02:00
Fedor Isakov 8b82d7ba4d Introduce origin block for specifying the constraint rule origin. 2019-09-02 17:55:46 +02:00
Fedor Isakov 5eed118be0 Replace usages of deprecated reporting with error constraint.
Having to specify the target for reported messages is a redundancy.
It's better to rely on the built-in feedback mechanism and handle the
messages at the supervisor level.
2019-09-02 17:55:46 +02:00
Fedor Isakov d279cc64ba Deprecate report operation and API. 2019-09-02 17:55:46 +02:00
Fedor Isakov 41c4c7e0a3 Fix provide feedback predicate to use the updated API. 2019-09-02 17:55:46 +02:00
Fedor Isakov 0db213725e fixup! Swith to using reactor lib 0.9.12. 2019-09-02 17:55:46 +02:00
Fedor Isakov 130c273980 Swith to using reactor lib 0.9.12. 2019-09-02 17:37:55 +02:00
Fedor Isakov a6aed2c22c Bump up the reactor lib version to 0.9.12. 2019-09-02 17:27:47 +02:00
Fedor Isakov 4080ab519a Extend EvaluationFeedback with specific methods for creating details feedback; introduce details parameter. 2019-09-02 17:18:02 +02:00
Fedor Isakov 84d07ef5f4 Another strategy to deal with deadlocks: drop requirement to use EDT.
Typechecking needs a synch point to update its "types model".
Using either EDT or the sequential scheduler is unfeasible beacause
of possible deadlocks.
2019-08-29 13:19:22 +02:00
Fedor Isakov 46406f8917 Straighten up error processing when launching coderules. 2019-08-29 11:36:54 +02:00
Fedor Isakov 355a503f5e Various refactorings in trace and reporting.
Replace ReportSink with Consumer.
Rename TraceEventsCollector -> TraceEvents.
Collect report items in TraceObject.
Ensure messages view tabs stay pinned.
Enable navigation from messages view to source nodes.
Respect report item's severity.
2019-08-28 21:27:09 +02:00
Fedor Isakov 13526ded21 Prevent ephemeral messages caused by failed ask to propagate.
A failed ask predicate constitutes normal evaluation flow, no need to report
this to the user.
2019-08-28 17:46:34 +02:00
Fedor Isakov 7956b8c89c Ensure type index update is run in EDT, avoid race condition. 2019-08-28 17:46:34 +02:00
Fedor Isakov 91f317b307 Ensure message view tab is disposed, avoid memory leak. 2019-08-27 11:55:35 +02:00
Fedor Isakov 5c239fb4b9 Fix Memoizer race condition. 2019-08-27 11:22:39 +02:00
Fedor Isakov 8d289021d1 Remove toxic imports. 2019-08-26 19:01:26 +02:00
Fedor Isakov 899d6b5208 Avoid producing NPE on missing template. 2019-08-26 17:14:39 +02:00
Fedor Isakov 17cb4654cf Introduce message handler parameter to rule application session.
In some situations it is unreasonable to fail on missing templates,
it's better to produce a working but perhaps incomplete program
than not to produce anything.
2019-08-26 16:53:04 +02:00
Fedor Isakov b79d174753 More fine-grained reporting of errors during coderules evaluation. 2019-08-26 15:27:04 +02:00
Fedor Isakov 388ea7e268 Minor refactorings in typechecking service. Display number of reported items with query. 2019-08-26 13:06:58 +02:00
Fedor Isakov c7ed81bd51 Switch to using MessageLog instead of the default message log. Minor fixes.
Collect coderules messages in "Messages" tab by default.
2019-08-26 13:06:58 +02:00
Fedor Isakov e60a2151c0 Avoid using executeCommand to schedule a message view update. 2019-08-23 12:48:43 +02:00