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
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
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
23502bafe7
Fix dangling import
2022-07-12 11:18:42 +02:00
Fedor Isakov
735bd29d61
Update references and rebuild build scripts
2022-07-07 12:56:28 +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
6a834600c1
Add null guard NodeBuilder rule
2021-11-15 13:00:03 +01:00
Fedor Isakov
8e672897c5
Drop support for TypeHintExpression
2021-11-10 16:36:49 +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
210f30be1b
Prefer node builder to quotation
2021-09-21 17:54:50 +02:00
Fedor Isakov
d941435963
Restore language module smodel.queryExt in the project
2021-08-17 09:30:48 +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
Fedor Isakov
74ceb5cbfb
Types aspect for j.m.lang.typechecking (in Ext language)
2021-08-04 13:24:59 +02:00
Fedor Isakov
78c9b16f13
Auto-fix: change reference to default constructor
2021-07-22 15:46:21 +02:00
Fedor Isakov
73d50ef39c
Add typing rules for string operations in BL
2021-07-22 13:59:19 +02:00
Fedor Isakov
17e1bc4589
Applied migration
2021-06-29 14:51:10 +02:00
Fedor Isakov
9826290f78
Fix building and packaging the plugins
2021-06-21 17:50:00 +02:00
Fedor Isakov
9527a097b8
Migrate to the latest MPS release, apply migrations
2021-06-18 18:41:01 +02:00
Fedor Isakov
1e3c67949d
Fix BL types: conditional op, raw types, capture conversion
2021-05-18 13:07:03 +02:00
Fedor Isakov
0cea4073cc
Fix BL types: ensure proper type inference and incremental typechecking
2021-05-18 12:32:03 +02:00
Fedor Isakov
0691ca6a1b
Drop last usage of "kind" feature
2021-05-13 15:54:44 +02:00
Fedor Isakov
f623846f6c
Fix function types: observe function type variance, drop wildcards
2021-05-13 15:54:44 +02:00
Fedor Isakov
6d655c4707
Update resolve info in models after renaming
2021-05-13 15:54:44 +02:00
Fedor Isakov
bb4aa7e6e1
Fix sequence types: correctly process raw types
2021-05-13 15:54:44 +02:00
Fedor Isakov
65ec6d9d35
Fix BL types: reimplement raw type, many small fixes
...
Fix type inference from containment, change priority for var-ground containment.
Fix variable reference type, property, plus operation, binary ops.
Fix type variables and bounds.
Fix checking overridden methods.
Introduce stripBounds for cleaning up wildcards.
Introduce containment string ≤ String.
2021-05-13 15:54:44 +02:00
Fedor Isakov
d5a91b91e5
Fix closures types: convertsTo of function type
...
Instead of solving convertsTo for function type in functional domain,
try to find the expected classifier type and solve for it instead.
2021-05-13 15:54:43 +02:00
Fedor Isakov
33476c837c
Minor fix coderules types: ensure correct incremental processing
2021-05-13 15:54:43 +02:00
Fedor Isakov
582d62749e
Minor fix generatorContext types: avoid exception on rule application
2021-05-13 15:54:43 +02:00
Fedor Isakov
fc7d97f015
Fix closures types: observe function type's inherent variance
2021-05-13 15:54:43 +02:00
Fedor Isakov
7e4eff91de
Fix smodel types: more precise conversion to/from classifier
2021-05-13 15:54:43 +02:00
Fedor Isakov
cba508dc01
Fix collections types: indexOf accepts Object
2021-05-13 15:54:43 +02:00
Fedor Isakov
2ae85d4dae
Types for j.m.lang.pattern language
2021-05-13 15:54:43 +02:00
Fedor Isakov
5a6db97aed
Types for j.m.lang.scopes language
2021-05-13 15:54:43 +02:00
Fedor Isakov
827089d8ae
Fix smodel types: ofconcept, attribute access, children
2021-05-13 15:54:43 +02:00
Fedor Isakov
abbbfe5141
Fix behaviour types: fix wrong term
2021-05-13 15:54:43 +02:00
Fedor Isakov
ab28b66981
Fix coderules types: avoid exception
2021-05-13 15:54:43 +02:00
Fedor Isakov
71cb954cba
Temporary stub for NamedTuple type, to be completed later
2021-05-13 15:54:43 +02:00
Fedor Isakov
a08c730ece
Migrate to NodeRefItem
2021-05-13 15:54:43 +02:00
Fedor Isakov
637da7d966
Apply migration and rebuild project
2021-05-04 18:24:30 +02:00
Fedor Isakov
ea6e930954
Apply migration and rebuild project
2021-05-04 18:24:29 +02:00
Fedor Isakov
47e6e07039
Refactor processing of inference variables
...
Introduce hasTarget and resolveVar constraints for delayed resolving
of inference variables. In invocation context variables are not
inferred eagerly, but wait for the end of all conversions, and then
resolved via resolveVar.
2021-05-03 13:14:11 +02:00
Fedor Isakov
e488399229
Minor refactoring in collections types
2021-05-03 13:14:11 +02:00
Fedor Isakov
998fa3b925
Fix BL types: make capture processing generic, couple of minor fixes
2021-05-03 13:14:11 +02:00
Fedor Isakov
ae63863299
Minor code fix to ensure typechecking
2021-04-29 14:53:19 +02:00
Fedor Isakov
6a3834d91d
Drop instances of a deprecated concept
2021-04-29 14:53:19 +02:00
Fedor Isakov
7cef550a08
Fix logic and coderules types: logical and termlist conversions to classfier
2021-04-29 14:53:19 +02:00
Fedor Isakov
d407eb2676
Fix sequence types: support covariance with upper bound type
2021-04-29 14:53:19 +02:00
Fedor Isakov
8df5c22c8b
Fix pattern terms used in typeOf: always specify concept
...
For SModel types that reference AbstractConceptDeclaration
a type term created without specifying the reference
automatically becomes a pattern.
A pattern can't be used in typeOf, so the default
concept (BaseConcept) is provided explicitly.
This may be later refactored into a default value in the term
table.
2021-04-29 14:53:19 +02:00
Fedor Isakov
d45ef7815a
Fix BL types: avoid failing on incomplete source data
2021-04-29 14:53:19 +02:00
Fedor Isakov
1c82991112
Ensure classifier type is created as pattern where applicable
...
List features in a term are by defualt created as empty list.
When a pattern is required, one must provide explicitly a
wildcard variable to capture either NIL or CONS list term.
2021-04-28 08:55:00 +02:00
Fedor Isakov
2f25f5566b
Fix coderules types: avoid failing on incomplete source
2021-04-28 08:55:00 +02:00
Fedor Isakov
c893d3280e
Fix collection types: support DowncastExpression
2021-04-28 08:55:00 +02:00
Fedor Isakov
cf386d848c
Fix smodel types: make gendecl processed correctly, generify dpromote
2021-04-28 08:55:00 +02:00
Fedor Isakov
0eb826d00e
Minor fix: typesystem types
2021-04-28 08:55:00 +02:00
Fedor Isakov
da11b2cc76
Fix smodel types: enable capturing patterns for coerce, minor fix
2021-04-28 08:55:00 +02:00
Fedor Isakov
2d98b4cf67
Fix types for j.m.l.behavior -- rename sidekick language
2021-04-28 08:55:00 +02:00
Fedor Isakov
fa795caedc
Fix smodel types: correctly process lub type, other minor stuff
2021-04-28 08:54:25 +02:00
Fedor Isakov
c6c9a6e281
BL types: drop boxing/unboxing for strong converts/coerce queries
2021-04-28 08:54:25 +02:00
Fedor Isakov
870966bd70
Types for j.m.lang.script language
2021-04-28 08:54:25 +02:00
Fedor Isakov
a9db172297
Smodel types: conversion for concept and conceptNode types
2021-04-28 08:54:25 +02:00
Fedor Isakov
fceef17a64
Fix typechecking errors
2021-04-28 08:54:25 +02:00
Fedor Isakov
7d0e765381
Fix coderules types
...
Require statement accepts node-ptr
Fix coderules types: fix logical type in LateParameter
2021-04-28 08:54:25 +02:00
Fedor Isakov
118602b2fd
Fix BL types: classifier type with other types as parameters
...
Also fix code constructs that caused typechecking errors.
2021-04-28 08:54:25 +02:00
Fedor Isakov
c0154026ef
WIP Fix smodel types: reflective conversion
2021-04-28 08:54:25 +02:00
Fedor Isakov
a204df222a
Optimize BL types and queries
...
Make expectType optional (auxiliary).
Drop checkDecls from typeof query (unnecessary).
2021-04-28 08:54:25 +02:00
Fedor Isakov
d918fa5c12
Optimize BL types
...
Switch to pull style boundOf instead of typeVarBound.
Drop importDecls.
2021-04-21 10:45:09 +02:00
Fedor Isakov
bf7939b350
Fix logic types: check for null reference
2021-04-19 22:55:09 +02:00
Fedor Isakov
09149fd688
Types for j.m.l.smodel.query lang
2021-04-15 18:06:07 +02:00
Fedor Isakov
2f4f3dae6f
Minor optimization in smodel types: pull-style constraint
...
Instead of reactively create push-style constraint conceptHierarchy,
make it available on request, pull-style.
2021-04-15 16:56:11 +02:00
Fedor Isakov
ff6b5ec6ae
Apply migrations and rebuild project
2021-04-14 13:19:50 +02:00
Fedor Isakov
6ed5c3329d
Fix typing errors: specify correct type annotations
2021-04-14 11:59:09 +02:00
Fedor Isakov
700a7f56b4
Fix generator types
2021-04-14 10:55:29 +02:00
Fedor Isakov
8dbe0c212d
Fix smodel types
2021-04-14 10:54:10 +02:00
Fedor Isakov
3a70382202
Fix typesystem types: support for meet/join
2021-04-14 10:53:41 +02:00
Fedor Isakov
e76dab0d84
Fix logic and coderules types
2021-04-14 10:53:17 +02:00
Fedor Isakov
c0601cb099
Optimizing types for more efficient evaluation
...
Replace "push" style genDecl constraint with "pull" schemeOf.
Mark rules as "auxiliary" to avoid these being included in
processing as dependencies.
2021-04-12 12:47:44 +02:00
Fedor Isakov
3793b78efb
Types for j.m.baseLanguage.classifiers
2021-04-08 08:55:33 +02:00
Fedor Isakov
27420433dc
Types for j.m.lang.behavior
2021-04-08 08:55:33 +02:00
Fedor Isakov
5c13129daa
Fix type of logical variables in coderules types
2021-04-08 08:55:32 +02:00
Fedor Isakov
65b32a4f48
Fix lub processing in BL types
2021-04-08 08:54:46 +02:00
Fedor Isakov
1eadb46611
Fix smodel types: assign void type to operations w/o returned value
2021-04-08 08:54:22 +02:00
Fedor Isakov
d7ff661670
Types for j.m.l.test lang
2021-04-08 08:53:29 +02:00
Fedor Isakov
105fe1dd7e
Fix dataform type conversion to term/termlist
2021-04-08 08:51:39 +02:00
Fedor Isakov
6b3e74dda2
Fix conversions in tuple types
2021-04-08 08:50:50 +02:00
Fedor Isakov
f5b4b0edb0
Fix binary op in collections lang
2021-04-08 08:50:28 +02:00
Fedor Isakov
693c760618
Add types for j.m.l.test language.
2021-03-23 12:48:07 +01:00