Fedor Isakov
1f68b62c6e
Switch to gradle 7.3
2022-08-16 18:11:49 +02:00
Fedor Isakov
29c9a50fa9
Use built-in BL's intersection type instead of meet type
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
ab2a1b6499
BL Types: Disable overriding methods check, MPSCR-115
...
This check doesn't belong to the type system, is
currently implemented on top of it as a "check" rule.
2022-08-01 14:11:38 +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
451529aa08
Cleanup imports
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
7fe773dcc2
Switch all type aspects in mpscore sample to typechecking terms
...
This includes dropping of Recover rule table and relying on
the automatic types recovery.
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
e03f8d134b
Switch lambdac sample to typechecking queries
2022-07-28 10:30:37 +02:00
Fedor Isakov
8388edb4a5
Switch fitch sample to typechecking terms/queries
2022-07-28 10:30:37 +02:00
Fedor Isakov
f5536a472a
Enforce non-null contract on failureCause and message
2022-07-28 10:30:37 +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
be1e4bac18
Bump up version of Kotlin and JUnit
2022-07-12 11:18:42 +02:00
Fedor Isakov
23502bafe7
Fix dangling import
2022-07-12 11:18:42 +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
735bd29d61
Update references and rebuild build scripts
2022-07-07 12:56:28 +02:00
Fedor Isakov
5c12da69be
Switch to latest MPS 221 EAP for local build
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
7ce95d403e
Update README with installation instructions
2022-06-20 11:25:03 +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
ea3e7c4719
Rebuild build scripts
2022-05-26 12:52:25 +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