Fedor Isakov
fc1c5b8021
Drop project libraries, switch to using the plugin for loading CR modules.
2021-02-13 10:25:24 +01:00
Fedor Isakov
81831db86a
Move experimental controlflow aspect to a separate language
2021-02-06 15:28:03 +01:00
Fedor Isakov
caca5e606f
Fix failing CI build because of empty test case
2021-02-05 12:12:48 +01:00
Fedor Isakov
dee5db0e96
Drop instances of TermFeature.final property
2021-02-04 18:01:10 +01:00
Fedor Isakov
d362da6a60
Rebuild project
2021-02-04 18:01:10 +01:00
Fedor Isakov
ed55370a01
Fix model imports (hamcrest lib has been moved to another solution)
2021-02-04 12:27:55 +01:00
Fedor Isakov
7fe5a5ad7a
Auto-updated files after migrating to MPS 2021.1 EAP
2021-02-04 12:26:59 +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
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