Fedor Isakov
17dd2a6c01
Appply migrations from MPS 243 branch
2024-12-11 11:57:18 +01:00
Fedor Isakov
99c3fdf9d0
Tentatively introduce TracePredicate to trace call/expand macros; MPSCR-137
2024-08-13 16:43:17 +02:00
Fedor Isakov
300c569dff
Consistently use "origin" instead of "target"
2024-08-05 17:35:39 +02:00
Fedor Isakov
1146935e8d
Simplify code: drop InvocationContext from LateExpression
2024-08-02 14:02:14 +02:00
Fedor Isakov
b2c0474afc
Simplify code: drop LogicalContext from SubstituteUtil
2024-08-02 13:36:06 +02:00
Fedor Isakov
c6e8de1680
Specify the default value for macro param; MPSCR-135
2024-07-22 18:06:11 +02:00
Fedor Isakov
c746956fc6
Drop = null initializer of call macro parameter field; MPSCR-135
2024-07-22 16:46:43 +02:00
Fedor Isakov
0830a34c1b
Support navigating to constraint and predicate declarations from trace view
2024-07-19 16:39:57 +02:00
Fedor Isakov
4ce08f4b99
Refactor project structure and reduce the number of modules
2024-07-04 18:17:56 +02:00
Fedor Isakov
b053cd7c3e
Drop the rest of "incremental" stuff
2024-06-13 12:22:57 +02:00
Fedor Isakov
20a0bedd81
Refactor call macro cstr: keep arguments in binding list
...
The idea is to have default parameters in (regular) macro definition.
Refactoring and corresponding migration.
2023-10-13 18:13:09 +02:00
Fedor Isakov
607e54a290
Macro fails to generate if logical or parameters are inconsistent
...
In addition to a typechecking rule make generator report an error.
2023-10-13 18:13:09 +02:00
Fedor Isakov
530ace6399
Rework editor for expand macro template and prototype
...
Expand macro prototype: "virtual macro".
Expand macro template: "override".
Override macro displays parameters declared in the prototype as R/O.
Introduce "usages" of prototype parameters to serve as local anchors;
this avoids problems with generation.
The existing code is going to work as before, but marked as erroneous
until migrated.
2023-10-04 12:52:09 +02:00
Fedor Isakov
504ae89af3
Consider only LogicalVars when looking for arguments to LateExpr
2023-09-28 12:10:39 +02:00
Fedor Isakov
3cf666e633
Apply migrations and make project
2023-07-31 12:57:24 +02:00
Fedor Isakov
6a849f82f2
Apply migrations and rebuild project
2023-06-12 12:01:02 +02:00
Fedor Isakov
ad3ea9d63d
Apply all migrations from 2022.2
2022-11-21 11:25:13 +01:00
Fedor Isakov
33b472f560
Switch to using plain FQN strings to identify templates
...
SNodeReference are too unreliable to be used.
2022-07-28 10:30:38 +02:00
Fedor Isakov
585f8f57f5
Switch to generating FQ names for constraint symbols
2022-05-26 12:52:25 +02:00
Fedor Isakov
c112a59116
Switch to collection of QueryTemplate instead of single instance
...
The deisgn decision to have only one instance of QueryTemplate
leads to the necessity to keep AspectClique separated for
every "typesystem". Whereas QueryTemplate are really perfectly
composable, and thus only one AspectClique is neeeded.
Also drop a rudimentary unused feature.
2022-05-26 09:58:31 +02:00
Fedor Isakov
b6c190c35c
Introduce ruleInput parameter to call macro
...
Accessing the rule input allows to track dependencies
necessary for correctly updating the feedback.
2022-05-09 17:02:12 +02:00
Fedor Isakov
bd249c5d0c
Drop obsolete feature: incremental specification
2022-04-21 16:05:31 +02:00
Fedor Isakov
2f34591b0b
Support list feature in recovery
2022-02-08 10:09:40 +01:00
Fedor Isakov
257bc196c3
Re-save all models
2021-10-26 17:46:40 +02:00
Fedor Isakov
8dbf94c7da
Fix broken withParam() invocation of query template
2021-10-14 18:28:43 +02:00
Fedor Isakov
2d52921561
Fix and optimize dependencies
2021-09-22 17:08:25 +02:00
Fedor Isakov
177e55820e
Move label definition to the language that uses it
2021-09-22 17:08:25 +02:00
Fedor Isakov
3f606ba63c
Refactor the way parameters are passed to expand macro
...
Instead of the hack that that uses session parameters to pass
parameters to expandMacro, use directly `withParams` method
on macro token. All parameters are mapped to corresponding fields.
Introduce CustomSessionParameter to access parameters in
TemplateApplicationSession.
2021-09-21 17:54:51 +02:00
Fedor Isakov
21cbd6e926
Simplify a generator template query
2021-09-21 17:54:51 +02:00
Fedor Isakov
f96211273c
Drop hack for finding refs in LateParameter, switch to internal var ref
2021-08-17 09:30:49 +02:00
Fedor Isakov
c6453b7293
Introduce hack for finding refs in LateParameter
2021-08-17 09:29:57 +02:00
Fedor Isakov
4b64377ac6
Introduce dsl constructs for typechecking queries
...
A root TypecheckingQueries is to replace the generic Queries
from j.m.lang.coderules.
2021-07-29 12:46:57 +02:00
Fedor Isakov
4f22a7959d
Fix LateExpression generator: avoid interfering with other gen templates
2021-07-29 12:46:57 +02:00
Fedor Isakov
4d06adf85b
Rename isAssigned to isNonfree for consistency
2021-07-22 15:46:21 +02:00
Fedor Isakov
4ea1d0cadd
Feature: isGround and isNonground predicates, MPSCR-94
2021-07-22 13:59:19 +02:00
Fedor Isakov
4e02433491
Make rule input and session variables available in rule methods
2021-07-06 13:42:41 +02:00
Fedor Isakov
2425fe933a
Ensure dependency is tracked for nested expand macro applications
...
Expand macro passes the rule's input to nested macro calls.
This adds the macro input as the dependency of the rule's input.
As a result, incremental processing starts working in some cases.
2021-06-30 18:25:46 +02:00
Fedor Isakov
4ee3869b45
Introduce a means to use direct reference to INamedConcept in rules
2021-05-13 15:54:42 +02:00
Fedor Isakov
a9fc3db841
Migrate to TermFeatureOverrid to LogicalItem
...
Deprecate TFO.getter
Disable entering LogicalItemExpression
2021-05-04 18:24:29 +02:00
Fedor Isakov
ff6b5ec6ae
Apply migrations and rebuild project
2021-04-14 13:19:50 +02:00
Fedor Isakov
99e248c5b3
Fix incremental update of reported feedback
...
Correctly detect cache up-to-date.
Refactor feedback reporting, provide origin node as the key.
Drop invalidated feedback correctly.
Code cleanup.
2021-03-23 12:48:06 +01:00
Fedor Isakov
2977b4dd19
Extend expand macro operation with rule input parameter, fix tracking dependencies
...
Enable recording the dependencies while expanding macro.
Rename/refactor operations in UpdatesRecorder to reflect the intent
of adding the dependencies.
2021-03-23 12:48:06 +01:00
Fedor Isakov
c62b7ee3c1
Fix model check errors in generator model
2021-02-04 18:04:06 +01:00
Fedor Isakov
c450462fa5
Drop "final" flag on term feature: unused
2021-01-23 16:59:45 +01:00
Fedor Isakov
2ab8d41b0c
Minor refactoring: move term specication to the end of feature list
...
It's only natural to have the specification to come after
all upper-level features have been specified in a term.
2021-01-23 16:59:45 +01:00
Fedor Isakov
b3c57465fc
Minor refactoring: extract constants for building terms
2021-01-23 16:59:45 +01:00
Fedor Isakov
62e8e7d013
Switch to MPS 2020.3 release.
2021-01-08 11:00:02 +01:00
Fedor Isakov
c67c62d394
Fix generator for terms, switch to local call instead of this expression
2020-12-27 19:47:35 +01:00
Grigorii Kirgizov
27ed01c447
refactoring: Adjust uniqueTag usages for Rule.Tag refactoring
...
Fix rule basetag generation to coincide with templateName
Needed for PrincipalStore (occurrence cache) which uses
info about occurrence source rule template name.
2020-12-15 17:59:09 +03:00
Fedor Isakov
ffe1a241bf
Implement require(All) statement to call overloaded require methods.
...
The statement require(All) now invokes the overloaded require
method with the first parameter the input node.
2020-12-08 22:57:35 +01:00