Fedor Isakov
4755c0dfa0
Extract test helper classes into separate redistributable module
2021-02-14 15:12:58 +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
7fe5a5ad7a
Auto-updated files after migrating to MPS 2021.1 EAP
2021-02-04 12:26:59 +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
148223a842
Add incremental tests for lambda calc. Enable ignored tests for closures.
2021-01-29 13:39:35 +03:00
Fedor Isakov
62e8e7d013
Switch to MPS 2020.3 release.
2021-01-08 11:00:02 +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
862d7f62c2
Replace direct usages of test data with proper references, fix generation
2020-12-27 21:04:51 +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
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
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
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
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
c7eaa1dbf3
Clean up ProgramEvaluator API. Straighten up passing of session token. Drop RulesDiff usages.
2020-12-08 22:57:36 +01:00
Fedor Isakov
8691da9ad7
Update build script.
2020-11-24 13:41:24 +01:00
Fedor Isakov
f313c1af9a
Smodel types: support (unchecked) conversion classifier to node/nodeptr.
2020-11-24 13:41:24 +01:00
Fedor Isakov
17ad3b0ff7
Tuples types: conversions to unknown tuple and to classifier.
2020-11-24 13:41:24 +01:00
Grigorii Kirgizov
c44e3a7fd8
Upd buildscripts
2020-11-18 11:36:28 +03:00
Grigorii Kirgizov
42bc7a88fd
Modify incremental tests to allow testing other queries, add test
2020-11-18 11:36:28 +03:00
Grigorii Kirgizov
9476f4bba5
Revert introduction of 'runtimeType" superterm (fixes MPSCR-74)
2020-10-23 12:26:30 +02:00
Grigorii Kirgizov
d9a35005e2
Fix cycle in coersion of functional type to unknown classifier (fixes MPSCR-72)
...
Use statically built FunctionTypes table in closures for
finding canonical functional type for a given closure.
2020-09-24 11:43:17 +03:00
Fedor Isakov
89843bfac4
Fix build script for mpscore sample.
2020-08-17 20:30:01 +02:00
Fedor Isakov
c9e4ddccbf
Initial support for baseLanguageInternal types.
2020-08-17 17:19:34 +02:00
Fedor Isakov
54439e255e
Refactor typechecking state/cache subsystem.
...
Refactor whe way TypecheckingResultsCache is updated:
all mutatiting methods extracted to Update subclass, which is
only available to the updater.
Make TypecheckingState a regular container for (unit) caches.
Make TypecheckingService responsible for managing caches.
Extract TypeModuleOwner and TypeModelHandler classes.
Get rid of QueryResultsCache, merge into TypecheckingResultsCache.
TypeModuleOwner to manage "repository" cache.
2020-08-14 16:57:36 +02:00
Fedor Isakov
905e11ac33
Refactor TypecheckingService API: simplify usage, extract Request.
...
Request is to keep all the parameters of a given API call,
whereas TypecheckingService is to handle the state between
calls.
2020-08-14 16:17:23 +02:00
Grigorii Kirgizov
ef2b299124
Refactor unchecked conversion for raw types (MPSCR-63)
...
Now whether unchecked conversion is allowed is controlled
by ConvertsContext.Options of convertsTo relation.
Introduce 'erased()' term to be used in raw type params.
Drop 'uncheckedConversion' parameter in all macros.
Classifier kind:"raw" is now used only for Recover.
Allow unchecked conversions by default. Forbid for sequences.
2020-08-04 12:06:07 +03:00
Grigorii Kirgizov
59da240fd6
Enable back some of the relaxed typechecking tests after fix for MPSCR-63
2020-07-31 11:36:02 +03:00
Grigorii Kirgizov
14130be21f
Relax another test in bl typechecking (Ignore error types)
...
It's unclear for now how exactly this case should be handled
2020-07-31 11:36:02 +03:00
Grigorii Kirgizov
42240e4ba7
Relax one test for bl typechecking (ignore error types)
...
Can't properly handle this case now.
To handle this case of no type of initializer in assignment context
need to discern cause of this "no type". If it's because of error --
then can't assign to it any type. If there were no error
(e.g. case of test) -- then type can be inferred from assignment ctx.
Anyway it's not very important corner case, can leave this test relaxed.
2020-07-31 11:36:02 +03:00
Fedor Isakov
4f74f192b4
Refactor typechecking state/results API for readability.
...
A bunch of renames:
TypesIndex -> TypecheckingResultsCache,
TypecheckingCache -> TypecheckingState.
Simplify methods that update caches.
2020-07-30 17:14:36 +02:00
Fedor Isakov
301c0993d7
Execute outstanding migrations.
2020-07-30 17:14:32 +02:00
Grigorii Kirgizov
0fd3311c04
minor: upd test model dependencies (import j.m.lang.text)
2020-07-22 15:51:56 +03:00
Fedor Isakov
3c2b3a2ee2
Fix incremental tests by checking for error type.
2020-07-22 15:27:46 +03:00
Fedor Isakov
4fc8e0cc34
Fix tests by disabling checks that fail because of missing features.
...
Error type is produced where there was no type before.
2020-07-22 15:27:45 +03:00
Fedor Isakov
24a471a2c9
Re-save models.
2020-07-21 17:03:41 +02:00
Fedor Isakov
90e90540dc
Initial support for j.m.lang.typesystem lang's types.
2020-07-21 17:02:17 +02:00
Fedor Isakov
028ddfe93c
Fix typechecking tests.
2020-07-16 10:33:44 +02:00