Commit Graph

3269 Commits

Author SHA1 Message Date
Fedor Isakov e881bccfca Switch to Kotlin 1.7.0 2022-09-02 16:11:00 +02:00
Fedor Isakov 2730c02f4c Update JDK in conreactor 2022-09-02 15:50: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 1b550cbd32 Change how profiler data is transferred from constraints reactor 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 71983ca9a3 Optimize .gitignore 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 5e344cd544 Bump up the version in gradle build script 2022-08-25 13:06:47 +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 71b19aecad Switch to gradle 7.5.1 2022-08-25 12:59:34 +02:00
Fedor Isakov 245c7c9954 Use the latest MPS EAP for standalone build 2022-08-25 12:59:34 +02:00
Fedor Isakov bb47403b0c Fix generating of synth recover terms table 2022-08-22 11:19:59 +02:00
Fedor Isakov fe3a38d90f Rebuild project 2022-08-17 11:40:58 +02:00
Fedor Isakov c4a157bf4d Bump up plugin versions 2022-08-16 18:11:49 +02:00
Fedor Isakov f96612258d Use latest MPS EAP for local build 2022-08-16 18:11:49 +02:00
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