Grigorii Kirgizov
e2e531f13c
Add few utilities and extend logic of subtypePaths for LUB impl
...
subtypePaths constraint now has an extended version subtypePathsRaw that returns
extended 'classifierType' dataforms with type parameters (no only classifiers).
2019-09-11 13:24:01 +03:00
Grigorii Kirgizov
9480bc98fe
Fix var ref in closure
2019-09-11 13:24:01 +03:00
Grigorii Kirgizov
a0b73f9f1b
Silence BL analysis check for a while
...
The test can fail in temporary states of BL typesystem while it is being extended
2019-09-11 13:24:01 +03:00
Grigorii Kirgizov
aa96197085
Use Effect for passing SessionToken from EvaluateRulesStep. Use Step.Options for "is with incrementality" option.
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
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
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
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
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
130c273980
Swith to using reactor lib 0.9.12.
2019-09-02 17:37:55 +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
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
Grigorii Kirgizov
a3451cb714
Use Effect for passing SessionToken from EvaluateRulesStep. Use Step.Options for "is with incrementality" option.
2019-08-22 23:04:05 +03:00
Fedor Isakov
279a048acd
Fix reference to an API class.
2019-08-22 16:55:29 +02:00
Grigorii Kirgizov
224900fc88
Add option to Queries for enabling incrementality
2019-08-22 17:29:54 +03:00
Grigorii Kirgizov
e7c0c0e3a0
Enable incrementality in TypecheckingStep
2019-08-22 17:15:15 +03:00
Grigorii Kirgizov
dc32a149da
Add preference for enabling incrementality
2019-08-22 17:14:44 +03:00
Grigorii Kirgizov
654e8b60cc
Resolve rebase conflicts concenred with enabling incrementality in CoderulesTypecheckingProvider
2019-08-22 17:14:12 +03:00
Fedor Isakov
f698d7dbdd
Fix incremental evaluate step -- adapt to the changed API.
2019-08-22 15:30:55 +02:00
Grigorii Kirgizov
cc20e9735b
Extend TypesIndexCache & EvaluateRulesStep with storing and retrieving SessionToken
2019-08-22 15:19:58 +02:00
Grigorii Kirgizov
af2faeb077
Remove dependencies on samples.baseLanguageExt and samples.lambdacalc from tests, fix build. Rebase onto master.
2019-08-22 15:16:18 +02:00
Grigorii Kirgizov
2b1ec4a4a6
Remove interprocedural version of analysis
2019-08-22 15:16:18 +02:00
Grigorii Kirgizov
944a181685
Switch basic principals analysis to fully gen-time impl
2019-08-22 15:16:18 +02:00
Grigorii Kirgizov
9843669f79
Remove old runtime coderules analyses
2019-08-22 15:16:18 +02:00