Commit Graph

937 Commits

Author SHA1 Message Date
Fedor Isakov 215a37221f Manually fix generated build script (see MPS-35771) 2023-06-22 11:03:43 +02:00
Fedor Isakov ec83615a5c Rebuild build scripts 2023-06-21 15:21:04 +02:00
Fedor Isakov a3b7b3e5f4 Ensure test classes are packaged in test solutions
Surprisingly, jars created for test solutions are now coming out
empty, so this change ensures the option "with tests and sources"
is selected for all test modules.
2023-06-14 13:34:53 +02:00
Fedor Isakov 9e29f86b83 Provisional fix of mspcore build script (manually fixed path) 2023-06-13 14:43:26 +02:00
Fedor Isakov 6a849f82f2 Apply migrations and rebuild project 2023-06-12 12:01:02 +02:00
Fedor Isakov a16fd43d74 Rebuild project 2023-06-12 12:01:02 +02:00
Fedor Isakov ba142094b7 Drop rules acting on removed obsolete concepts 2023-06-12 12:01:02 +02:00
Fedor Isakov 2cf2718484 Make rules auxiliary to reduce rules application scope 2023-06-12 12:01:02 +02:00
Fedor Isakov 0fcb804c42 Avoid boxing prim types when converting 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 8401363109 Fix recovery of raw types: clear parameter list 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 2d9027d431 Rebuild project 2023-03-27 17:22:51 +02: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 40f8d69896 Rebuild project with latest MPS 2023.1 EAP 2023-03-02 17:03:01 +01:00
Fedor Isakov 03161ea3eb Fix recursive call when gathering classifiers hierrarchy 2023-02-23 16:32:23 +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 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 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 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 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