Commit Graph

366 Commits

Author SHA1 Message Date
Fedor Isakov 2b146e886b Migrate to latest MPS 2026.1 EAP 2026-04-24 11:22:20 +02:00
Fedor Isakov 53ab46fba7 Apply migrations and rebuild 2025-11-03 12:33:34 +01:00
Fedor Isakov 1a1cb13621 Apply migrations from 251 2025-04-09 11:34:06 +02:00
Fedor Isakov 17dd2a6c01 Appply migrations from MPS 243 branch 2024-12-11 11:57:18 +01:00
Fedor Isakov 074dc8c840 Optimize typechecking of IInferredExpression 2024-09-30 12:59:06 +02:00
Fedor Isakov 05bff3c3c9 Restore aux flag on expect-typeOf templates 2024-09-27 13:21:08 +02:00
Fedor Isakov 47d6ae52fa Fix typing of enum
Apparently ctorDecl reference of o enum is optional.
2024-09-24 13:40:38 +02:00
Fedor Isakov 75fe179fd1 BL types: fix dependencies and classifier type comparable relation 2024-09-20 18:06:23 +02:00
Fedor Isakov 746dfdf24b Fix convertsTo rule for string type 2024-09-02 17:17:34 +02:00
Fedor Isakov 70ec8b4c13 NPE guards for instance method call etc. 2024-07-11 15:09:34 +02:00
Fedor Isakov 2d55c06c57 Fix types of inferrable expressions; internal lambda expression 2024-07-08 11:18:01 +02:00
Fedor Isakov 0aad66b951 Automatic migrations 2024-07-04 18:17:56 +02:00
Fedor Isakov 4ce08f4b99 Refactor project structure and reduce the number of modules 2024-07-04 18:17:56 +02:00
Fedor Isakov a27ba38978 Fix typechecking of hex long constants 2024-07-02 15:04:53 +02:00
Fedor Isakov c230bfa6e4 Drop "ideaplugin" module from module dependencies 2024-07-01 15:41:37 +02:00
Fedor Isakov 8554843e6a Apply automatic migrations 2024-07-01 15:31:42 +02:00
Fedor Isakov 71f0d56aa7 Support for HexLongLiteral type 2024-06-21 19:57:33 +02:00
Fedor Isakov 1301b4c226 Workaround for coerce with node<#> extracting reference 2024-06-21 19:57:33 +02:00
Fedor Isakov bf6ce46a26 Fix types of method reference expressions 2024-06-21 15:00:32 +02:00
Clement de La Bourdonnaye 0776351977 Ran CleanStubForeignMethodIds migration 2024-01-23 16:33:23 +01:00
Fedor Isakov fc8451e63d Run migration 2023-10-13 18:13:09 +02:00
Fedor Isakov 65dac57c7f Fix typechecking rules not migrated by some reason 2023-10-13 18:13:09 +02:00
Fedor Isakov f3010743c1 Migration: FixExpandMacroTemplate 2023-10-13 18:13:08 +02:00
Fedor Isakov 3cf666e633 Apply migrations and make project 2023-07-31 12:57:24 +02:00
Fedor Isakov 6a849f82f2 Apply migrations and rebuild project 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 8401363109 Fix recovery of raw types: clear parameter list 2023-05-03 10:31:55 +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 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 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 e5c56fbb40 Ensure nothing() is contained in any type 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 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 497691e9af Fix type inference of expressions in BL, plus few minor issues 2022-11-21 10:50:00 +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 4aaf66d4cb Support for LocalPropertyReference 2022-09-08 14:07:06 +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 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 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 ed58f59794 Ensure all memo usages have unique keys 2022-05-26 09:55:21 +02:00
Fedor Isakov 85b0156c00 Remove erroneously added debug message 2022-04-27 11:42:02 +02:00
Fedor Isakov 04048470c5 Fix processing of recursive types
Avoid failing to process composite types because
of visiting the same classifier.
2022-02-10 23:40:20 +01:00
Fedor Isakov 041090d634 Fix module imports (new for 2021.3) 2022-02-08 10:44:48 +01:00
Fedor Isakov 475944192b Fix processing recursive types (BL) 2022-02-08 10:09:40 +01:00
Fedor Isakov 509944c138 Fix typechecking of anonymous class with default ctor 2021-10-27 12:03:49 +02:00
Fedor Isakov fedd56dd55 Extract correct classifier from anonymous class 2021-10-26 17:46:40 +02:00
Fedor Isakov ec6e56c1c3 Fix expandMacro calls to explicitly pass 'subs' parameter recursively
The hack on which expandMacro parameters used to rely on, resulted in a side-
effect, namely that once passed expandMacro parameter is available
recursively, until overridden.
With new contract all parameters need to be passed on when an expandMacro
is called recursively.
2021-09-21 17:54:51 +02:00
Fedor Isakov 6b0526ba31 Introduce language j.m.l.types to contain aspect-related generator mappings 2021-08-17 09:29:21 +02:00