Fedor Isakov
1707b1ab85
Bump up the plugin version(s)
2024-06-16 16:25:18 +02:00
Fedor Isakov
a19d02b8ae
Switch initialization to use ModuleActivator; drop unused imports
2024-06-16 16:11:38 +02:00
Fedor Isakov
64ed2d41b8
Update models to reflect changes in reactor API
2024-06-14 13:45:54 +02:00
Fedor Isakov
27e3ec3951
Fix and re-enable CheckProjecModules test
2024-06-13 22:09:11 +02:00
Fedor Isakov
ba6f509909
Reimplement occursCheck with DataFormWalk
2024-06-13 20:11:19 +02:00
Fedor Isakov
658f9a48c0
Enable DataFormWalk to walk variables checking for cycles
2024-06-13 20:10:39 +02:00
Fedor Isakov
9aa9680ba1
Refactor DataForm.Visitor to use default methods; drop Stub
2024-06-13 17:40:23 +02:00
Fedor Isakov
d63d261044
Drop usages of "usages count" feature of MutableLogical
2024-06-13 15:49:51 +02:00
Fedor Isakov
adb38f1a2c
Drop optimization hack; Correctly handle non-term logicals
2024-06-13 15:46:13 +02:00
Fedor Isakov
b053cd7c3e
Drop the rest of "incremental" stuff
2024-06-13 12:22:57 +02:00
Fedor Isakov
9ca2fdd8d0
Refactor usages of LogicalImpl, drop dependencies
...
Drop dependencies to j.m.logic.r.core.internal.
2024-06-13 10:45:59 +02:00
Fedor Isakov
0d192feaae
Drop all TestInfo instances from the project
2024-06-07 10:32:44 +02:00
Fedor Isakov
5516f062f1
Fix code broken because of dropped API
2024-04-29 17:59:41 +02:00
Clement de La Bourdonnaye
fd9e2d2678
MPS-36807: new icons instead of DynamicIcon for widget
2024-01-24 10:08:14 +01:00
Clement de La Bourdonnaye
0776351977
Ran CleanStubForeignMethodIds migration
2024-01-23 16:33:23 +01:00
Clement de La Bourdonnaye
00732a95a5
Build script: make plugin packaging the first in layout
...
This fixes dependencies, as the build language uses the first layout for a given module defined in the build model
Having coderules-ideaplugin folder before the plugin changed the way dependencies generate their build script, while the artifacts stayed with the same structure
2024-01-11 14:39:09 +01:00
Clement de La Bourdonnaye
c96f65ec64
NewUI - restore old ui icons for usage when new UI disabled
2024-01-11 14:38:03 +01:00
Clement de La Bourdonnaye
b67efbfa27
NewUI - package svg typeModel instead of removed png
2023-12-15 12:00:10 +01:00
Vaclav
5114fd8f7c
NewUI - add new svg icons replacing the old png ones. Update the icon resources using these icons.
2023-12-14 16:10:32 +01:00
Fedor Isakov
6931d94adb
Drop obsolete code
2023-11-14 18:02:23 +01:00
Fedor Isakov
d92521b791
Run migrations
2023-11-08 16:46:16 +01:00
Fedor Isakov
6e95ec9959
Update change notes
2023-10-16 13:00:09 +02:00
Fedor Isakov
7273d88296
Provisinally disable reporting of cache state: cache always dirty
...
This is to ensure messages reported by typechecking are updated.
2023-10-16 11:55:32 +02:00
Fedor Isakov
04416a927b
Make all expand template params optional
...
As part of migration add NullLiteral as init field to all
expand macro parameters so that the generation runs smoothly.
The user is then expected to remove init fields for required params.
2023-10-16 11:55:32 +02:00
Fedor Isakov
fc8451e63d
Run migration
2023-10-13 18:13:09 +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
8d9b3d4730
Fix behaviour method signature
2023-10-13 18:13:09 +02:00
Fedor Isakov
fd0430a6eb
Better editors and substitute actions for macroses
...
Now all invocations of a macro start with "apply" keyword.
An "expand" macro has an additional parameter after "with" -- the input.
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
de9fd05c45
Intentions and methods to facilitate working with macros
2023-10-13 18:13:09 +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
4e77530d20
Drop usages of deprecated feature: ApplicableConcept
2023-10-13 18:13:08 +02:00
Fedor Isakov
f3010743c1
Migration: FixExpandMacroTemplate
2023-10-13 18:13:08 +02:00
Fedor Isakov
8f8fa9f4d4
Fix build script
2023-10-04 12:52: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
a85d570604
Enable entering DataNodeExpr within LateExpr
2023-09-28 12:10:39 +02:00
Fedor Isakov
f130938a16
NPE guard in project plugin initializer; MPSCR-140
2023-09-28 12:10:39 +02:00
Fedor Isakov
c6f632583f
Specify displayName for configurable page
2023-09-28 12:10:39 +02:00
Fedor Isakov
19eca73737
Bump up version and compatibility with MPS 232
2023-09-21 14:27:53 +02:00
Fedor Isakov
2fdae19190
Drop old hack
...
Coderules are enabled on the app level, so no need to pass the repo.
2023-09-21 14:27:53 +02:00
Fedor Isakov
e3c6c304fe
Optimizing AspectClique discovery; clean up the code
2023-09-21 14:27:53 +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
161ba961b1
Add an option to filter empty template nodes in trace view
2023-06-21 15:21:28 +02:00
Fedor Isakov
91964a4f53
Fix icons in trace view of Coderules tool
...
Used to refer to obsolete icons from legacy aspect.
2023-06-19 16:24:46 +02:00
Fedor Isakov
0e2c64e587
Fix resolve info
2023-06-12 12:20:35 +02:00
Fedor Isakov
6a849f82f2
Apply migrations and rebuild project
2023-06-12 12:01:02 +02:00
Fedor Isakov
682967c54c
Fix code to make compatible with latest 23.1 EAP
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
bd7f76a020
Optimize shared typechecking state usage
2023-06-12 12:01:02 +02:00
Fedor Isakov
6150702e92
Drop references to template dropped upstream
2023-05-03 10:50:10 +02:00
Fedor Isakov
90d9644057
Respect isStrong query property when caching results
2023-05-03 10:31:55 +02:00
Fedor Isakov
d262277d59
Update build script
2023-05-03 10:31:55 +02:00
Fedor Isakov
1c307e42c5
Fix UI action broken after options redesign
2023-05-03 10:31:55 +02:00
Fedor Isakov
985f6af842
Drop watching flag: always run typechecking in incremental mode
2023-05-03 10:31:55 +02:00
Fedor Isakov
4900f13609
Fix weird type hidden under SCPD
2023-05-03 10:31:55 +02:00
Fedor Isakov
8cb0ddc049
Simplifying TypecheckingOptions API
...
Enable using CR in bootstrap mode via Registry.
Drop unused code.
2023-05-03 10:31:55 +02:00
Fedor Isakov
b074647d12
Fix unresolved reference
2023-04-10 16:43:04 +02:00
Fedor Isakov
24944eef5a
Fix issues with ideaplugin module in source project
2023-03-29 13:00:09 +02:00
Fedor Isakov
425e125ba8
Migrate to JUnit5 and temporarily disable "check project modules" test
2023-03-03 17:10:05 +01:00
Fedor Isakov
6d267a33af
Fix an error in log
2023-03-03 17:07:05 +01:00
Fedor Isakov
08733317ef
Null guard. MPSCR-126
2023-02-23 17:29:02 +01:00
Fedor Isakov
ae586b665e
Use 'Messages' as tool window ID for baloon. MPSCR-127
2023-02-23 17:09:41 +01:00
Fedor Isakov
94ceb7614f
Fix config option provider
2023-02-23 16:43:50 +01:00
Fedor Isakov
5fbcb991f0
Fix trove library jar location in plugin
2023-02-23 16:28:05 +01:00
Fedor Isakov
6ebc8782b9
Avoid issues when opening root project
...
Only UI-specific code related to settings left in "idea" project solution,
everything else moved to MPS-managed plugins.
2023-02-23 11:48:19 +01:00
Fedor Isakov
d531c6a5ad
Run Migration Assistant
2023-02-22 13:52:02 +01:00
Fedor Isakov
430466c1c9
Fix code incompatible with latest platform
2023-02-17 11:41:32 +01:00
Fedor Isakov
ad3ea9d63d
Apply all migrations from 2022.2
2022-11-21 11:25:13 +01:00
Fedor Isakov
d9cda646de
Bump up plugin versions
2022-11-21 11:25:03 +01:00
Fedor Isakov
4086236afe
Introduce recursion guard for typechecking provider
2022-11-21 10:50:00 +01:00
Fedor Isakov
8f42a025bc
Rewrite topo sorting of macro tables
2022-09-08 14:07:06 +02:00
Fedor Isakov
14f4561b29
Ensure AspectClique contains all necessary languages
2022-09-08 14:07:06 +02:00
Fedor Isakov
0ae9743026
Fix tests
2022-09-02 18:01:46 +02:00
Fedor Isakov
f8b17e4de7
Fix compilation
2022-09-02 16:28:31 +02:00
Fedor Isakov
4070194d01
Bump up plugin versions
2022-09-02 16:11:00 +02:00
Fedor Isakov
6030332107
Introduce profiling into program produce/evaluation steps
2022-09-02 15:49:30 +02:00
Fedor Isakov
34bb26f0fc
Redesign coderules trace view to display profiling data
...
Coderuels trace now has three tabs that contain:
- activation trace
- template application trace
- profiling data
2022-09-02 15:49:30 +02:00
Fedor Isakov
04cfbe0c30
Add an option to enable/disable profiling
2022-09-02 15:49:30 +02:00
Fedor Isakov
83e273da73
Fix tests by caching Config instance
...
Tests are launched within a context that is unable
to perform normal MPS classloading, so we resort to
caching the (singleton) instance of Config coming from
an (IDEA) plugin to use it later.
2022-08-27 19:39:14 +02:00
Fedor Isakov
5affa9af14
Ensure directory is created before build process
2022-08-26 16:15:35 +02:00
Fedor Isakov
ec8ab9eb14
Fix generating with build script
2022-08-26 15:51:05 +02:00
Fedor Isakov
de5fa8e543
Fix server build by turning compilation in MPS off
...
This commit breaks the project but allows to build
and test on the server. Locally the module
j.m.c.ideaplugin can be marked as "compile in MPS",
which effectively allows classes to be loaded.
2022-08-26 15:29:18 +02:00
Fedor Isakov
78f847747b
Drop unstable hacks, simplify code
2022-08-26 13:58:22 +02:00
Fedor Isakov
0a9f4445d3
Drop obsolete artefact
2022-08-26 13:58:22 +02:00
Fedor Isakov
a40d74c600
Fix project build and loading scheme
...
Source files for ideaplugin are now compiled externally.
2022-08-26 10:39:20 +02:00
Fedor Isakov
299d9a4fd8
Update build scripts to fix tests launching
2022-08-25 12:59:36 +02:00
Fedor Isakov
d2ca45aa02
Extract bootstrap code to idea plugin; CR options to become app-level
...
CR typechecking options are now application-level.
The solution j.m.c.ideaplugin contains the code responsible
for accessing and setting the options. This solution is loaded
as IDEA plugin on deploy and as regular module in source project.
Also merge code from two modules into j.m.c.typechecking.
2022-08-25 12:59:36 +02:00
Fedor Isakov
bb47403b0c
Fix generating of synth recover terms table
2022-08-22 11:19:59 +02:00
Fedor Isakov
c4a157bf4d
Bump up plugin versions
2022-08-16 18:11:49 +02:00
Fedor Isakov
26a3bd12dd
Fix how output models are searched for checkpoints
2022-08-16 18:11:49 +02:00
Fedor Isakov
29a7479bce
Mark public methods of TC queries as synchronized
2022-08-16 18:11:49 +02:00
Fedor Isakov
e3870d1397
Switch to using built-in messages view for Coderules messages
2022-08-01 14:11:38 +02:00
Fedor Isakov
874cc5d135
Paranoid NPE checks, MPSCR-113
2022-08-01 14:11:36 +02:00
Fedor Isakov
ba7411abfa
Bump up plugin version and rebuild build scripts
2022-07-28 10:37:36 +02:00
Fedor Isakov
40dd4bb31a
Avoid dependency on a non-runtime solution
2022-07-28 10:30:38 +02:00
Fedor Isakov
83daafe180
Fix feature reference constraint
2022-07-28 10:30:38 +02:00
Fedor Isakov
f985db8206
Update and rebuild build scripts
2022-07-28 10:30:38 +02:00
Fedor Isakov
f9eb52a60f
Introduce checkpoint for typechecking "strut" templates
...
The templates that typechecking relies upon are generated
into the user model as synthetic constructs. These later
need to be discovered by the generator to establish
correct references.
2022-07-28 10:30:38 +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
Fedor Isakov
468cee3b54
Avoid NPE when displaying baloon
2022-07-28 10:30:38 +02:00
Fedor Isakov
0663921ecd
Refactoring in TypecheckingService; simplifying code
...
Request is no longer dependent on `TypecheckingService`.
Only single request can be processed at a time, which helps
prevent recursion.
All facade method in `TypecheckingService` now return instance
of `Response` instead.
2022-07-15 19:46:33 +02:00
Fedor Isakov
0422a4cbd4
Fix exception initialization
2022-07-15 19:46:32 +02:00
Fedor Isakov
4bd681f3ee
Fix support for require/requireAll statements in queries, MPSCR-108
2022-07-15 19:46:32 +02:00
Fedor Isakov
115135bbb5
Update plugin versions and manifests
2022-07-13 12:27:14 +02:00
Fedor Isakov
71d2014ef1
Update and rebuild build scripts
2022-07-07 12:56:30 +02:00
Fedor Isakov
f24169ba26
Refactor Config to be immutable; allow multi-project MPSCR-105
...
Drop hacks that try to figure out the active project.
Instead introduce new ones that cache the instance of `ProjectRepository`
(unfortunately, there is no way around that now).
Stop accessing and modifying the singleton `Config` instance,
instead make an instance of `Config` a parameter to `TypecheckingService`.
2022-07-07 12:56:30 +02:00
Fedor Isakov
e4d7a9ff9e
Notify UISettings after changing preferences, listen to UISettings
2022-07-07 12:56:29 +02:00
Fedor Isakov
99907ec111
Fix how CR widget looks (more professional look)
2022-07-07 12:56:28 +02:00
Fedor Isakov
a84675c0f2
Cache statusbar in intialization code to avoid NPE
2022-07-04 13:42:39 +02:00
Fedor Isakov
837f7303a8
Fix test language broken after refactoring
2022-06-18 15:56:54 +02:00
Fedor Isakov
ff1ceb7dda
Update build script
2022-06-18 14:53:09 +02:00
Fedor Isakov
186c7b6a28
Fix auto-recovery of types with expect/assign/recover pseudo-constraints
2022-06-18 12:53:14 +02:00
Fedor Isakov
dd0b9b2842
Intention to convert term table to types term table
2022-06-18 12:53:14 +02:00
Fedor Isakov
f6e75628c8
Rebuild build script
2022-06-13 11:20:31 +02:00
Fedor Isakov
7593fc7b14
Avoid NPE if preferences are not available
2022-06-13 11:20:31 +02:00
Fedor Isakov
8a46abcfb3
StatusBar widget to control Coderules ON/OFF
2022-06-13 11:11:57 +02:00
Fedor Isakov
77eb3f30c7
Implement a missing BH method
2022-06-13 11:11:57 +02:00
Fedor Isakov
b46373701f
WIP Reorganizing code
2022-06-08 10:23:43 +02:00
Fedor Isakov
d1f3066af2
Drop all caches from AspectLookup
...
Caches cause subtle errors and their utility is questionable.
2022-06-08 10:23:43 +02:00
Fedor Isakov
e1bab4a1c7
Respect LateExpression arg when building unique_tag, MPSCR-107
...
Rule's unique_tag is important for update procedure
implemented by RulesPlanHandler. Only when we can guarantee
that an argument to constraint/predicate has not changed
we can save on re-building a rule from template.
Ignoring LateExpression was a mistake.
2022-06-07 15:22:39 +02:00
Fedor Isakov
88aaf7898c
Ensure only relevant aspects selected for certain queries
...
While check/checkTypeOf queries are required to
process a whole root, other types of queries
can be sensitive to what aspects to include in
the processing.
Aspects are sorted in strongly-connected components,
among which the relevant one is selected.
2022-06-06 13:00:52 +02:00
Fedor Isakov
585f8f57f5
Switch to generating FQ names for constraint symbols
2022-05-26 12:52:25 +02:00
Fedor Isakov
56c7bdad7f
Make FQ symbol names displayed as short names in trace view
2022-05-26 12:52:25 +02:00
Fedor Isakov
f862406ca6
Switch to using single AspectClique
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
874a2a4b4e
Ensure rule tags have unique group name
2022-05-25 13:49:11 +02:00
Fedor Isakov
710c5ddc9b
Ensure failure during trace view update is gracefully handled
2022-05-25 13:37:55 +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
e7054ed124
Drop usages of invalidatedFeedbackKeys, minor fixes
2022-05-09 13:32:14 +02:00
Fedor Isakov
e2521c3478
Bump up version of coderules plugin
2022-05-03 10:26:43 +02:00
Fedor Isakov
702098d091
Cleanup and simplify typechecking strategy
2022-05-03 10:26:43 +02:00
Fedor Isakov
ddce418ba4
Ensure new list is initialized when recovering
2022-05-03 10:26:43 +02:00
Fedor Isakov
7f34ea78f6
Drop incrementality-related options and UI elements
2022-05-03 10:26:43 +02:00
Fedor Isakov
050c47c2eb
Update conreactor version to 0.9.16
2022-04-25 12:47:43 +02:00
Fedor Isakov
bd249c5d0c
Drop obsolete feature: incremental specification
2022-04-21 16:05:31 +02:00
Fedor Isakov
c192a529a6
Display undo activate/discard events in trace view. MPSCR-102
2022-03-15 15:48:56 +01:00
Fedor Isakov
51a4949cbd
Update reactor version
2022-03-15 14:27:43 +01:00
Fedor Isakov
c7c55605f5
Add dependency to c.i.modules.platform to pluigns
2022-02-23 13:09:34 +01:00
Fedor Isakov
b500bf5f8f
Fix broken plugin descriptor
2022-02-17 17:50:27 +01:00
Fedor Isakov
73f86ba626
Disable obsolete warning
2022-02-17 17:08:31 +01:00
Fedor Isakov
1d54b8ffeb
Fix NPE on first update of empty rules query
2022-02-17 17:05:41 +01:00
Fedor Isakov
9cb04439eb
Fix packaging of coderules and mpscore plugins
...
Fix the path mapping of lib files.
2022-02-17 16:44:14 +01:00
Fedor Isakov
c44e4b2080
Update coderules plugin desc, fix release number
2022-02-16 12:23:38 +01:00
Fedor Isakov
98fef4c95d
Fix NPE on newRules array being empty
2022-02-15 10:35:53 +01:00
Clement de La Bourdonnaye
2b23c56283
Added coderules modules in plugin content
2022-02-08 12:21:28 +01:00
Fedor Isakov
d7ffb963f7
Fix and rebuild build scripts
2022-02-08 10:44:48 +01:00
Fedor Isakov
d8a180bfe2
Test list feature recovery
2022-02-08 10:09:40 +01:00