Commit Graph

274 Commits

Author SHA1 Message Date
Fedor Isakov e87d47f6d2 Avoid duplication of template trace events 2024-09-30 12:59:43 +02:00
Fedor Isakov 11c78cad96 Fix processing of auxiliary templates 2024-09-30 10:27:10 +02:00
Fedor Isakov 7e00d55add Fix template trace view
- reimplement template trace model builder
 - drop dependency on recursive source tree walking
 - ensure cached template application are visualized
2024-09-30 10:27:10 +02:00
Fedor Isakov c21a3dfa82 Use resolveInfo instead of nodeId to avoid troubles with DynamicReference 2024-09-24 15:52:15 +02:00
Fedor Isakov fee317ed76 Append model hash to rule's unique tag
During generation multiple nodes with same nodeId may appear
coming from different transient models, resulting in
colliding rule tags.
2024-09-24 13:39:53 +02:00
Fedor Isakov 0e86456afd Keep required nodes directly instead of node-ptr
Transient models don't allow resolving of node-ptr
2024-09-24 12:25:22 +02:00
Fedor Isakov e32e7cdbe4 Refactoring and optimizing incremental typechecking
- left only "required" -- the only kind of dependency that is relevant
 - drop the old two-stage scheme of incremental processing
 - implement a heuristic to detect if an update has caused any change,
   and only propagate the update further the inverse requirements graph
   in case there were real changes
 - drop cached memo
 - various code simplifications and refactorings
2024-09-24 10:39:14 +02:00
Fedor Isakov 0f5389b689 Fix LogicalPredicate: wrong implementation mapping 2024-09-20 18:15:50 +02:00
Fedor Isakov a4f4081162 Fix broken trace functionality 2024-08-29 16:49:52 +02:00
Fedor Isakov 1cdc8a1586 Refactor and simplify feedback processing; drop obsolete code 2024-08-29 13:09:21 +02:00
Fedor Isakov 014b1f7914 Switch to updated API 2024-08-29 13:08:29 +02:00
Fedor Isakov 5fd41a99e1 Consolidate related classes; drop obsolete model 2024-08-29 13:08:28 +02:00
Fedor Isakov 6e343fe17d Enhance AbstractCoderulesManifest with priority() method 2024-08-29 13:08:28 +02:00
Fedor Isakov d8bc7fdfb5 Refactor Effect API and usages: drop any access to values; ensure cleaner contract
- interface Effect becomes a class AbstractEffect
 - hasValue dropped
 - getValue/allValueKeys have been made protected
 - withValue(s) defines clear contract for using the values in effects
2024-08-21 18:17:27 +02: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 c63f0479d1 Refactor code to simplify and cleanup; drop obsolete stuff 2024-08-05 17:35:38 +02:00
Fedor Isakov 0debee556c Switch to new conreactor API; minor code cleanup 2024-08-05 17:35:38 +02:00
Fedor Isakov 1146935e8d Simplify code: drop InvocationContext from LateExpression 2024-08-02 14:02:14 +02:00
Fedor Isakov 95a78a3474 Deprecate CopyItem and CopyUtil 2024-08-02 13:43:37 +02:00
Fedor Isakov b2c0474afc Simplify code: drop LogicalContext from SubstituteUtil 2024-08-02 13:36:06 +02:00
Fedor Isakov e33c846314 Ensure aspect lookup cache is update on imports change 2024-08-02 09:57:55 +02:00
Fedor Isakov 846f4db8fc Fix used languages cache in AspectLookup 2024-07-31 17:56:52 +02:00
Fedor Isakov 7c1a2a3873 More debug logging for aspect clique 2024-07-31 16:39:43 +02:00
Fedor Isakov 3147893795 Drop deprecated methods 2024-07-31 16:10:02 +02:00
Fedor Isakov 3ee2e24c50 Drop support for multiple aspect cliques from CliqueBuilder 2024-07-31 15:54:13 +02:00
Fedor Isakov 51e17ed549 Refactor AspectLookup to return a single clique 2024-07-31 15:06:15 +02:00
Fedor Isakov 097ca5aed5 Run all user predicates from a read action 2024-07-31 13:18:52 +02:00
Fedor Isakov c9e3374540 Implement support for "tellPattern" trace event 2024-07-22 14:14:16 +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 e64677041e Cleanup code and drop deprecated stuff 2024-07-18 11:01:24 +02:00
Fedor Isakov ae7c4ab56d Switch to using model system ident instead of SModelId for cache
See MPS-37545.
2024-07-15 13:32:52 +02:00
Fedor Isakov 1c170f8e05 Minor code cleanup 2024-07-11 15:09:35 +02:00
Fedor Isakov 0aad66b951 Automatic migrations 2024-07-04 18:17:56 +02:00
Fedor Isakov 4ce08f4b99 Refactor project structure and reduce the number of modules 2024-07-04 18:17:56 +02:00
Fedor Isakov 87bb67cee3 Drop usages of SessionToken 2024-06-21 22:44:23 +02:00
Fedor Isakov a19d02b8ae Switch initialization to use ModuleActivator; drop unused imports 2024-06-16 16:11:38 +02:00
Fedor Isakov b053cd7c3e Drop the rest of "incremental" stuff 2024-06-13 12:22:57 +02:00
Fedor Isakov 5fafd1b0dc Code review: mark things to be done 2023-10-13 18:13:08 +02:00
Fedor Isakov 87a1b413d1 Ensure ancestors of a changed node are in changeset
This fixes incremental update in some situations.
2023-10-13 18:13:08 +02:00
Fedor Isakov f3010743c1 Migration: FixExpandMacroTemplate 2023-10-13 18:13:08 +02:00
Fedor Isakov 3cf666e633 Apply migrations and make project 2023-07-31 12:57:24 +02:00
Fedor Isakov e5538bc39f A bunch of refactorings and cleanups in trace view
- cleanup the code, rename symbols for better readability
 - drop dead code
 - support for optionally showing empty template trace nodes
 - display node path for source nodes
2023-06-21 15:27:05 +02:00
Fedor Isakov 6a849f82f2 Apply migrations and rebuild project 2023-06-12 12:01:02 +02:00
Fedor Isakov 11a1037860 Minor refactoring and code cleanup 2023-06-12 12:01:02 +02:00
Fedor Isakov 08733317ef Null guard. MPSCR-126 2023-02-23 17:29:02 +01:00
Fedor Isakov ad3ea9d63d Apply all migrations from 2022.2 2022-11-21 11:25:13 +01:00
Fedor Isakov 8f42a025bc Rewrite topo sorting of macro tables 2022-09-08 14:07:06 +02:00
Fedor Isakov 6030332107 Introduce profiling into program produce/evaluation steps 2022-09-02 15:49:30 +02: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