Commit Graph

3347 Commits

Author SHA1 Message Date
Fedor Isakov 2cf2718484 Make rules auxiliary to reduce rules application scope 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 0fcb804c42 Avoid boxing prim types when converting 2023-05-03 10:31:55 +02:00
Fedor Isakov d262277d59 Update build script 2023-05-03 10:31:55 +02:00
Fedor Isakov 4fd280f06e Fix closure type inference: infer result type
Proceed with the closure result type as with other inferrable types:
declare as inference var and resolve at the end of processing.
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 6d4001e175 Auto-updated files in IDEA project 2023-05-03 10:31:55 +02:00
Fedor Isakov 0e417646c2 Fix Logical union not merging value observers correctly
A recursive call to union() would interfere and prevent value observers
to be propagated to the new root. This causes, among other things, a failure
to reactivate certain constraints.
2023-05-03 10:31:55 +02:00
Fedor Isakov 8401363109 Fix recovery of raw types: clear parameter list 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 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