Fedor Isakov
3092fa3635
Fix all templates with broken scopes for logical variables.
2019-10-25 22:45:55 +02:00
Fedor Isakov
4160c186e1
Introduce dependency to Config in typechecking options and service. Avoid relying on static getInstance() method to access Config.
...
Config is an application-level "component" initialized from an application plugin.
All usages on application/project-level should declare explicit dependency on it.
Tests can either create a new instance or access the shared one.
2019-10-23 15:39:17 +02:00
Fedor Isakov
1534864ffb
Separately register USER-level typechecking options, drop synch barrier. Keep it simple and stupid.
...
Options providers are registed in application plugin and project plugin.
Application plugin registers the USER level options, project plugin
is responsible for UI level.
Option providers are cleard on closing project/closing app.
2019-10-22 21:20:15 +02:00
Fedor Isakov
b2139c4648
Fix typechecking in incremental mode. Cache type collector and smartly cache session token.
...
Keep cached session token with regard to aspect clique.
Keep type collector object in the typechecking cache.
The rationale: in incremental mode the parameters passed to query template are ignored, and essentially the parameters passed to the original query are re-used.
2019-10-19 22:19:53 +02:00
Fedor Isakov
6af78d1b94
Make CoderulesHelper reference the relevant aspect clique.
...
It's important to keep reference to the aspect clique that used to instantiate
a particular helper. Later it can be used to identify the correct session token.
2019-10-19 22:15:52 +02:00
Fedor Isakov
6eb1e06013
Add a unique key to identify an aspect clique.
2019-10-19 22:12:34 +02:00
Fedor Isakov
4e892ea5aa
Drop additional "enabled" flag, superceded by Config.
2019-10-19 11:04:14 +02:00
Fedor Isakov
3fb8df4af4
Fix CheckProjectModules test. Drop usages of deprecated API.
2019-10-19 11:03:30 +02:00
Fedor Isakov
fc4ff2875c
Implement more fine-grained Config reset: drop all levels >= given.
2019-10-19 10:22:17 +02:00
Fedor Isakov
44d9d9e6b2
Avoid processing empty aspect clique.
2019-10-19 09:54:15 +02:00
Fedor Isakov
7705e911c5
Avoid failure on missing effect value.
2019-10-18 21:18:00 +02:00
Fedor Isakov
d8243a5bf4
Fix the typechecking cache: avoid clearing all type assignments, ensure incremental update.
2019-10-18 18:22:07 +02:00
Fedor Isakov
51cc3a7afc
Simplify working with SessionToken, drop a supefluous step.
2019-10-18 18:22:07 +02:00
Fedor Isakov
1e5c83dd93
Avoid failing with NPE if a project pref component is not available.
2019-10-18 17:03:56 +02:00
Fedor Isakov
2c514f08fd
Fix Config initialization from tests. Replace init/deinit with single reset method.
2019-10-18 17:03:18 +02:00
Fedor Isakov
6c63cb409f
Introduce Config component. Make typechecker pref page nicer. Consolidate all typechecking options.
...
A reusable Config app component to be responsible for all level of configurations: default/system/user/ui.
Swith to Config interface instead of map<string,Object> for options.
Add an UI option to control whether trace is enabled.
2019-10-18 11:58:51 +02:00
Grigorii Kirgizov
439599d726
Fix Analyses test (fix recover constraint signature)
2019-10-15 21:30:00 +03:00
Grigorii Kirgizov
28a82fd443
Revert "Temporarily disable failing tests in BLIncrTypecheck test case."
...
This reverts commit 1c1ddd6e
2019-10-15 18:01:21 +03:00
Fedor Isakov
6372f5a4a4
Experimental: cache the results of convertsTo/coerceTo queries.
...
The cache is repository-local and is invalidated on every command in that repository.
2019-10-12 09:35:09 +02:00
Fedor Isakov
0b037d9702
Code cleanup: remove unused effect values, ensure Reporting.assignType() throws an UOE.
...
Reporting interface is to be phased out.
2019-10-12 09:35:09 +02:00
Fedor Isakov
54c9ff4698
Switch "show type" action's implementation to use TypecheckingService.
...
Tried also to register TypesModule with the repository, in vain.
2019-10-12 09:35:09 +02:00
Fedor Isakov
1c1ddd6e5d
Temporarily disable failing tests in BLIncrTypecheck test case.
...
Tests started to fail after an argument was introduced to a constraint that is being
activated from a query -- recoverAll/1 now has a parameter.
2019-10-12 09:35:09 +02:00
Fedor Isakov
5258a9343f
Switch to collecting types during typechecking using the explicit type collector.
...
Use the parameter to typechecking query TYPECHECK to collect types.
Stop highlighting every expression with its type.
2019-10-10 17:30:11 +02:00
Fedor Isakov
8e4daab3c7
Stop using IMakeService.INSTANCE.
2019-10-07 11:27:32 +02:00
Fedor Isakov
50c0130138
Fix memory leak: leaked through toolbar actions.
2019-09-30 16:44:36 +02:00
Fedor Isakov
a0405839b3
Necessary plumbing for rules segmentation. Off for now.
...
Turns out this feature actuall worsens the performance.
2019-09-30 16:44:36 +02:00
Fedor Isakov
49518e0704
Switch to reactor version 0.9.14.
2019-09-30 16:44:36 +02:00
Fedor Isakov
30e3400859
Implement isUpToDate check for types index cache.
2019-09-16 11:02:59 +02:00
Fedor Isakov
b46c394aba
Minor refactoring: consolidate trace events and report items together.
2019-09-15 14:12:47 +02:00
Fedor Isakov
9f7b14ef8b
Refactorings in coderules helper to better handle effects.
...
Introduce failure as effect value.
Avoid throwing exceptions on normal evaluation completion.
Drop ResumeNextStepException.
2019-09-15 10:14:04 +02:00
Fedor Isakov
0b917fea92
Fix memory leak in Action Trace. Closing the tool itself closes all tabs.
...
The default functionality of "Close" action provided for tools is not enough to implement
a close action: the contents are still registered in the Disposer and the memory is leaked
as a result.
2019-09-13 15:56:11 +02:00
Fedor Isakov
1cbd5defff
Drop PrintDelegate stack, avoid memory leaks.
2019-09-13 13:44:23 +02:00
Fedor Isakov
ad6864cfda
Various refactorings in Step/Effect apis: simplifying the code.
...
Refactor Effect: drop type parameter, simplify usage.
Redesign the way values are provided by an Effect.
Simplify schedule method signature.
Drop scheduleWithTrace from Step interface.
Introduce ConfigureEvalStep.
Drop Step.Options.
Drop LocalEffect's.
2019-09-12 17:12:34 +02:00
Fedor Isakov
8b73b66e34
Introduce RepositoryProvider interface to provide access to context repository.
...
TemplateApplicationSession to provide repository to templates.
Supervisor subclasses to provide repository to predicates.
2019-09-12 17:08:02 +02:00
Grigorii Kirgizov
cdfe1f2c0c
Update language version after migrations from mps.logic lang
2019-09-11 13:24:02 +03:00
Grigorii Kirgizov
135724a481
Fix use case of list matching with any list
2019-09-11 13:24:02 +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
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
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