Grigorii Kirgizov
894c727e70
Fix minor bug concerned with CopyUtil
...
CopyUtil didn't correctly map logicals nested inside DataForms which are bound to Logicals.
That's because CopyUtil relies on DataForm:variablesCount() and
LogicalDataForm:variablesCount didn't consider the case when bound value is itself DataForm.
2019-12-18 21:47:06 +03:00
Fedor Isakov
603dab6797
Refactor RuleBuilder: extract RuleImpl as standalone class.
2019-12-11 11:42:31 +01:00
Fedor Isakov
f83ac4b692
Clearer contract for building rule's uniqueTag. Drop ArgumentsCollector.
...
ArgumentsCollector used in tests only, move it there.
2019-12-10 17:21:33 +01:00
Fedor Isakov
e926b86bcd
Minor refactoring in program producing code.
...
Reorganize and cleanup code.
2019-12-10 11:58:26 +01:00
Fedor Isakov
0af0d0152d
Ensure typechecking cache is cleared on closing session. Closes MPSCR-23
2019-12-09 14:15:16 +01:00
Fedor Isakov
1f621bfda8
Refactor query-running code in typechecking provider. Show time spent in query.
...
Only show messages for queries that took more than 10 ms. to complete.
2019-12-02 11:33:49 +01:00
Fedor Isakov
85674ef077
Add explicit "test" facets to test solutions.
2019-11-24 17:58:15 +01:00
Fedor Isakov
bfbf4840fa
Fix language imports.
2019-11-11 14:49:07 +01:00
Fedor Isakov
5bce04eb71
Fix language imports.
2019-11-11 14:49:01 +01:00
Fedor Isakov
69bc34e8f9
Drop language j.m.l.smodel.types containing SNodeTypeOp that is no longer used.
2019-11-11 14:37:41 +01:00
Fedor Isakov
de84b88b2c
Replace instances of SNodeTypeOp with regular method invocation.
2019-11-11 14:27:57 +01:00
Fedor Isakov
ecd2594fed
Drop deprecated Reporting interface and all its usages.
...
Remove runtime solution that contained only Reporting.
2019-11-11 13:53:41 +01:00
Fedor Isakov
f92148094a
Drop long deprecated concepts with zero instances.
2019-11-11 13:53:41 +01:00
Fedor Isakov
fb8e995c88
Fix NPE in event processing, closes MPSCR-12.
2019-11-11 11:11:55 +01:00
Fedor Isakov
036f8393b5
Avoid null-ifying Config fields on dispose. Fix stupid bug in TypecheckingOptions. Fixes MPSCR-8.
2019-11-11 10:58:49 +01:00
Grigorii Kirgizov
53ddcb8492
Small cleanup of TraceTool for incremental processing
2019-11-07 17:15:56 +03:00
Grigorii Kirgizov
ea309d05e7
MPSCR-14: Remove unnecessary & failing call to tracer.restored() for incrementally preserved occurrences
2019-11-07 15:43:02 +03:00
Grigorii Kirgizov
7b33e0e31f
Minor cleanup: remove usages of DependentRulesSpec
2019-11-06 19:10:29 +03:00
Grigorii Kirgizov
cd25087ef9
Rename 'handlers' in CodeRulesProgram to 'rulesLists'
2019-11-06 19:10:29 +03:00
Grigorii Kirgizov
e4017b0b16
Preserve still valid Rules from previous incremental sessions with a help of RulesDiff
2019-11-06 19:10:29 +03:00
Grigorii Kirgizov
f343ba0d3b
Adjust to changes in SessionToken & RulesDiff interfaces
2019-11-06 19:10:29 +03:00
Grigorii Kirgizov
9b61c6a2d3
Move RulesListIImpl out of RulesListBuilder
...
For later Program modification by RulesDiff and preserved rules from prev Program
2019-11-06 19:10:29 +03:00
Fedor Isakov
3f1b65ada2
Fix the structural errors introduced by a badly run migration.
2019-11-06 12:05:18 +01:00
Fedor Isakov
ad90a4cb77
Apply migration that replaces all instances of NodeAnchor with .pointer op.
2019-11-06 11:21:57 +01:00
Fedor Isakov
daa1bdceb6
Update default jvm options for running tests to "-Xmx2048m".
2019-11-05 20:53:01 +01:00
Fedor Isakov
bb8fffc7ea
Enable to use origin{} block to specify no origin.
...
Rules that are used only as auxiliary resolvers don't have an associated
origin node, even though they are produced from a specific location.
To enable tracking of correct origin to report errors to one can use
origin(no origin){} to override the default behaviour.
2019-11-05 18:46:02 +01:00
Fedor Isakov
76739d20d9
Minor refactoring and renaming in coderules runtime. Documentation.
...
Rename classes and methods to better reflect the intent.
Move test-related stuff to test util model.
2019-11-05 18:46:02 +01:00
Fedor Isakov
e32ff36d1b
Allow node-ptr<> to be specified in require statement.
2019-11-04 17:10:34 +01:00
Fedor Isakov
48375c4d14
Extend RuleBuilder with template app session: automatically require node ponters passed as args to constraints.
...
Every node pointer (SNodeReference) specified as an arg to a constraint causes the (resolved) target to be included
into template application session (required).
Reduce NodeAnchor to .pointer call.
Deprecate Reporting interface and context repository in rule definitions.
2019-11-04 16:20:57 +01:00
Fedor Isakov
cc8cf72819
Minor code cleanup: get rid of MacroTemplate.ID, simplify templates. Systemize RuleBuilder usages.
2019-11-04 16:20:57 +01:00
Fedor Isakov
84162b9097
Deprecate NodeAnchor, provide migration to .pointer operation.
...
A usage of .pointer op as an argument to a constraint invokes require() on template application session.
2019-11-04 16:20:38 +01:00
Fedor Isakov
a0b2af95c9
Revert "MPSCR-4: Upd refs to new RuleIndex on Dispatcher construction in incremental case."
...
This reverts commit 0dd7f8c70f .
2019-11-04 15:58:54 +01:00
Grigorii Kirgizov
0dd7f8c70f
MPSCR-4: Upd refs to new RuleIndex on Dispatcher construction in incremental case.
...
Slightly extend RuleMatcher interface.
Store RuleMatcher instances instead of RuleMatcherProbe in SessionToken.
2019-10-31 22:20:19 +03:00
Grigorii Kirgizov
1a720dd76e
Fix RuleBuilder.uniqueTag computation: consider SNodeReference not only inside DataNode but also raw
2019-10-31 18:07:31 +03:00
Grigorii Kirgizov
0e33bffa96
Handle additional case of constructing ListNodeCons
2019-10-26 16:17:37 +03:00
Fedor Isakov
3092fa3635
Fix all templates with broken scopes for logical variables.
2019-10-25 22:45:55 +02:00
Fedor Isakov
c797b5d2ad
Breaking change: logical vars must be declared by constraint rule that uses them.
...
Stronger rules for logical variables scope: constraint rule can't reference logical variable defined in another constraint rule. Logical variable definitions are localized to ConstraintRule template.
Simplify/cleanup the logic of searching for available 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