Fedor Isakov
b7f4d227a4
Rebuild project
2021-02-04 09:16:10 +01:00
Fedor Isakov
ecf7eec55a
SModel types: fix type of isSubtypeExpression
2021-02-04 08:51:00 +01:00
Fedor Isakov
2f0f2e5b13
BL types: support coerce to target type query kind
2021-02-04 08:51:00 +01:00
Fedor Isakov
4d1cdacfe2
BL types: avoid failure on typechecking BaseMethodCall
...
BaseMethodCall doesn't always have an enclosing classifier.
2021-02-04 08:51:00 +01:00
Fedor Isakov
ad269bb6b5
Ensure typechecking state is properly disposed of on reload
2021-02-04 08:51:00 +01:00
Grigorii Kirgizov
40a93d5ba9
Temporarily disable one failing test in IncrClassHierarchy; Preamble tests
...
Preamble tests should be reviewed. It's also unclear
whether preamble feature is effective and needed at all.
2021-01-29 16:21:57 +03:00
Grigorii Kirgizov
64762bf100
Fix bl tests (several test were failing after some of changes)
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
4dac9e794a
Fix assignment of 'null' ret type in closures with insufficient infer info. Add require.
2021-01-29 13:39:35 +03:00
Grigorii Kirgizov
148223a842
Add incremental tests for lambda calc. Enable ignored tests for closures.
2021-01-29 13:39:35 +03:00
Fedor Isakov
2b46ab0413
BL types: ensure any type converts to Type
2021-01-23 16:59:46 +01:00
Fedor Isakov
2b6de60ebc
BL types: Drop runtimeType term and its usages
2021-01-23 16:59:42 +01:00
Fedor Isakov
1389f9429f
Rebuild project
2021-01-08 11:00:02 +01:00
Fedor Isakov
62e8e7d013
Switch to MPS 2020.3 release.
2021-01-08 11:00:02 +01:00
Fedor Isakov
0a77dcb33b
Coderules types: fix unifiable relation, add missing typing rules
2021-01-06 12:43:55 +01:00
Fedor Isakov
a9643c03b8
Logic types: fix indexed variable, make logical a supertype of its parameter
2021-01-06 12:43:55 +01:00
Fedor Isakov
aec8c3f9d9
SModel types: type for concept method call
2021-01-06 12:43:55 +01:00
Fedor Isakov
143fb9cf57
Generator lang types: fix a typo
2020-12-30 18:28:46 +01:00
Fedor Isakov
6f92d666f7
BL types: a few fixes, stabilize typechecking
...
Support Type type.
Simplify depdendency of var decl to its type.
Covariant subtyping for UpperBoundType.
Straightforward dependencies on type's parameters.
Specify BaseConcept as general type's concept.
Fix method reference.
2020-12-30 18:28:46 +01:00
Fedor Isakov
4acae7a1b7
SModel types: minor fixes
...
Support SConceptLiteralType.
Drop rogue .pointer operation.
Build proper term for enumMember type.
2020-12-30 18:28:46 +01:00
Fedor Isakov
51d5687e1a
Add missing language modules to mpscore project
2020-12-30 18:28:45 +01:00
Fedor Isakov
862d7f62c2
Replace direct usages of test data with proper references, fix generation
2020-12-27 21:04:51 +01:00
Fedor Isakov
67c208a360
Drop support for a few concepts that have been dropped
2020-12-27 21:04:51 +01:00
Fedor Isakov
0584d05c4f
Drop support for a concept that has been apparently dropped upstream
2020-12-27 20:42:07 +01:00
Fedor Isakov
66f04fe92a
Replace direct usages of test data with proper references, fix generation
2020-12-27 20:42:07 +01:00
Fedor Isakov
435a8d4ec8
Replace direct usages of test data with proper references, fix generation
2020-12-27 20:20:21 +01:00
Fedor Isakov
f5c9ed7c4b
Temporarily change the extends clause of Array rule table
...
This particular extends clause breaks an internal invariant
of rules plan, namely the topological sorting of rule tables.
This results in broken rule index, which needs to be fixed.
Also, disable a suspect rule that relies no typeof()
*not* being present, which is a transient condition.
2020-12-27 16:39:22 +01:00
Fedor Isakov
d87afd868e
Closure types: use lub to compute the type of closure literal
...
Multiple "exit points" in closure literal may have different types.
Calculate lub of these types and use it as returned type.
2020-12-27 16:04:06 +01:00
Fedor Isakov
182ea97cc1
BL internal types: support internal class
2020-12-27 16:04:06 +01:00
Fedor Isakov
2ef3176bc2
BL types: extend lub to primitive types via boxing
2020-12-27 16:04:06 +01:00
Fedor Isakov
621cdaa912
Implement lub for sequence type
...
Using the fact that sequence type is covariant, just forward
to lub for parameters.
2020-12-27 16:04:06 +01:00
Fedor Isakov
70d6dfefa1
Fix failing generation by disabling typechecking of cast expression
...
Cast expression must check the type of the argument expression
and ensure comparabitiy of types.
2020-12-27 16:04:06 +01:00
Fedor Isakov
1228ff036b
BL types: substring expression, string conversion to classifier
2020-12-27 16:04:06 +01:00
Fedor Isakov
2a5163c0f4
BL types: support concept function and Void classifier
2020-12-27 10:36:00 +01:00
Fedor Isakov
7ecad792e0
Types for generator.generationContext lang
2020-12-27 10:36:00 +01:00
Fedor Isakov
4c0a06f904
Types for generator lang
2020-12-27 10:36:00 +01:00
Fedor Isakov
b2c026d74a
Fix closures types to populate functional classifier's parameters
...
On looking up the default functional classifier corresponding to a
function type, the classifier's type parameters are to be appropriately
populated from the function type.
2020-12-27 10:36:00 +01:00
Fedor Isakov
cf85151dad
Types for constraints lang
2020-12-27 10:36:00 +01:00
Fedor Isakov
b2abb1fda2
Types for quotation lang
2020-12-27 10:36:00 +01:00
Fedor Isakov
8ab783657c
Types for typesystem lang
2020-12-27 10:35:59 +01:00
Grigorii Kirgizov
ba8ccfce03
minor: Disable incremental option (that controls Preamble also) for lambdacalc tests
...
Preamble optimization requires same contracts from programs as full incrementality.
2020-12-15 17:59:10 +03:00
Grigorii Kirgizov
8022fa4203
Add tests for local typeOf query with occurrence cache
2020-12-15 17:59:10 +03:00
Grigorii Kirgizov
27ed01c447
refactoring: Adjust uniqueTag usages for Rule.Tag refactoring
...
Fix rule basetag generation to coincide with templateName
Needed for PrincipalStore (occurrence cache) which uses
info about occurrence source rule template name.
2020-12-15 17:59:09 +03:00
Grigorii Kirgizov
3eccaf81a1
Introduce occurrence store as cache for their reuse in Queries strategy
...
It's important that program that uses occurrences from cache
shouldn't include rules that could produce their duplicates.
So implementation of occurence cache includes 2 parts:
on reactor level & in ProrgramFactory.
When RuleBuilders are produced, cache is queried whether
there're already occurrences associated with the rule template
in question. If so -- then those RuleBuilders are not included
into the program (as well as all RuleBuilders required by it).
2020-12-15 17:59:05 +03:00
Grigorii Kirgizov
0dc072413e
minor fix in BL typesystem: always check returns, it can influence resultiing type
2020-12-15 17:51:27 +03:00
Grigorii Kirgizov
61dccfd2d9
BL types: simplify array typing & fix minor errors
2020-12-15 17:51:27 +03:00
Grigorii Kirgizov
b4c441a41e
Add few incremental tests, tried reproduce MPSCR-82
...
Unsuccessfully. Algorithm is ok, problem is in UpdatesRecorder.
2020-12-15 17:51:23 +03:00
Fedor Isakov
1acd35baca
SModel types: support conversion of SConcept to concept<> type
2020-12-15 13:30:13 +01:00
Fedor Isakov
c7dd00bb7e
Sequence types: support covariant subtyping of sequence<> type
2020-12-15 13:29:24 +01:00
Fedor Isakov
034f7afa98
BL types: add rules for NPE-safe comparison operators
2020-12-15 13:28:44 +01:00
Fedor Isakov
c5fed5f2e0
BL and closure types: add necessary explicit dependencies. Fix tests.
...
In order to ensure properly functioning incremental typechecking
some explicit dependencies are to be declared.
2020-12-11 12:03:17 +01:00