Commit Graph

3337 Commits

Author SHA1 Message Date
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 6ea8c0e69d Fix smodel types 2023-04-14 15:12:06 +02:00
Fedor Isakov 39dedccd02 KotlinRefs types: fix kt constructor type 2023-04-10 17:51:34 +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 2d9027d431 Rebuild project 2023-03-27 17:22:51 +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 75287824ec BL Types: construct raw type for erasedType's bound; avoid recursion. MPSCR-129 2023-03-03 17:08:59 +01:00
Fedor Isakov 7daccbe1ad Fix dangling reference 2023-03-03 17:07:24 +01:00
Fedor Isakov 6d267a33af Fix an error in log 2023-03-03 17:07:05 +01:00
Fedor Isakov 3b72aef45b Use the new MPS 2023.1 EAP artifacts for local build 2023-03-03 17:06:08 +01:00
Fedor Isakov 40f8d69896 Rebuild project with latest MPS 2023.1 EAP 2023-03-02 17:03:01 +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 03161ea3eb Fix recursive call when gathering classifiers hierrarchy 2023-02-23 16:32:23 +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 3b9dc266a1 Use the new MPS EAP artifacts for local build 2023-02-22 14:09:17 +01:00
Fedor Isakov d531c6a5ad Run Migration Assistant 2023-02-22 13:52:02 +01:00
Fedor Isakov 4db818637f Rebuild project 2023-02-22 13:51:02 +01:00
Fedor Isakov 895be0c925 Update INSTALL.txt with info on dependencies 2023-02-22 13:40:53 +01:00
Fedor Isakov c5b7db1499 Enable git integration in IDE 2023-02-22 13:40:34 +01:00
Fedor Isakov 430466c1c9 Fix code incompatible with latest platform 2023-02-17 11:41:32 +01:00
Fedor Isakov 4c847f4d3b Temporarily disable a test that produces too much noise 2022-11-23 14:03:19 +01:00
Fedor Isakov 13da45a973 Fix subtle issues with type inference, introduce more
As type variables are made to be resolved later, some errors may "escape"
their respective scope, such as classifier type definition. This needs to be
addressed separately.
2022-11-23 14:03:19 +01:00
Fedor Isakov 34452407f4 Ignore runtime error type in a test 2022-11-23 14:03:19 +01:00
Fedor Isakov 5d5cea10e6 Update error in test data model to reflect actually reported error 2022-11-23 14:03:19 +01:00
Fedor Isakov 25b82ebfb1 Redo fix of closure param type inference, drop typeScheme/2
The solution for inferring the type of a closure parameter using
auxiliary typeScheme/2 constraint and processing all "inference sites"
doesn't work for some situations, such as closure returning a closure with
untyped (var) parameter.

The new solution uses regular typeOf/2 constraint and calculates the
closure type assuming a variable as the return type. This must not be inferred from the context.

Avoid assigning a type to the closure the 2nd time, which
causes a cascade of typeOf/2 activations.
2022-11-23 14:03:19 +01:00
Fedor Isakov e5c56fbb40 Ensure nothing() is contained in any type 2022-11-23 14:03:18 +01:00
Fedor Isakov d2a68e8fc7 Apply migrations to mpscore sub-project 2022-11-23 14:03:18 +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 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