Commit Graph

3302 Commits

Author SHA1 Message Date
Fedor Isakov 73ab26eddc Switch to release MPS version for local build 2022-11-21 10:50:00 +01:00
Fedor Isakov 071efca420 Update build script 2022-11-21 10:50:00 +01:00
Fedor Isakov 847aa0d925 Update tests to ignore certain errors, avoid failure on correct code 2022-11-21 10:50:00 +01:00
Fedor Isakov fecabe840d Fix closure's parameter type inference, drop hacks
Replace the ad-hoc solution with typeScheme/2 cint to be used
on par with type/2. Type inference sites to be extended
with rules to process typeScheme.
2022-11-21 10:50:00 +01:00
Fedor Isakov b5de53e27f Fix type inference for untyped parameters; minor refactorings
Ensure nothing() type can be converted to any type.
Use the value "site" in capture() term to ensure capture types
don't get matched with `==`.
Also, avoid eagerly dropping resolveVar cint.
2022-11-21 10:50:00 +01:00
Fedor Isakov 876cf75302 Types for j.m.l.kotlinRefs languange 2022-11-21 10:50:00 +01:00
Fedor Isakov 83976afa9d Update and generate build script 2022-11-21 10:50:00 +01:00
Fedor Isakov d33e3148d9 Update virtual folders 2022-11-21 10:50:00 +01:00
Fedor Isakov 4086236afe Introduce recursion guard for typechecking provider 2022-11-21 10:50:00 +01:00
Fedor Isakov 2a6d60133b Fix closure's parameter type inference; properly lift function type 2022-11-21 10:50:00 +01:00
Fedor Isakov 497691e9af Fix type inference of expressions in BL, plus few minor issues 2022-11-21 10:50:00 +01:00
Fedor Isakov f1efac2c11 Fix typechecking of function type: varargs and type inference 2022-11-21 10:50:00 +01:00
Fedor Isakov 22fb818142 Simplify typechecking of SNodeTypeCastExpression, drop deprecated stuff 2022-11-21 10:50:00 +01:00
Fedor Isakov 5abf1dbce7 Ensure types extend BL's Type term 2022-11-21 10:50:00 +01:00
Fedor Isakov 9b341c2e2d Ensure types extend BL's Type term 2022-11-21 10:50:00 +01:00
Fedor Isakov 3f722f6fbd Drop creating abstract concept for open type 2022-11-21 10:50:00 +01:00
Fedor Isakov 8c0771769a Update modules.xml for all recently added modules 2022-11-21 10:49:59 +01:00
Fedor Isakov 816dcc5f00 Types for j.m.l.methodReferences languange 2022-11-21 10:49:59 +01:00
Fedor Isakov 0e6a1103c7 Types for j.m.l.extension languange 2022-11-21 10:49:59 +01:00
Fedor Isakov ec0167feba Types for j.m.l.sharedConcepts languange 2022-11-21 10:49:59 +01:00
Fedor Isakov ff1d53a7ab Fix sequence type construction (passing correct unifier) 2022-11-21 10:49:59 +01:00
Fedor Isakov cb4d0f974a
Fix link to the EAP version in readme 2022-09-27 09:15:47 +02:00
Fedor Isakov 0cdad6687c Introduce nothing() term, ensure it is assigned by default instead of type() 2022-09-08 14:07:06 +02:00
Fedor Isakov 8c9f3c8afa Fix closure type inference 2022-09-08 14:07:06 +02: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 4aaf66d4cb Support for LocalPropertyReference 2022-09-08 14:07:06 +02:00
Fedor Isakov 35288dc3e5 Fix conversion in smodel lang 2022-09-08 14:07:06 +02:00
Fedor Isakov 7c3c6968b0 Fix type recovery in logic lang 2022-09-08 14:07:06 +02:00
Fedor Isakov 0ae9743026 Fix tests 2022-09-02 18:01:46 +02:00
Fedor Isakov ce71b0f987 Rebuild build scripts 2022-09-02 16:42:08 +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 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