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
Fedor Isakov
2119fbc591
Introduce explicit dependency on SRepository, stop trying to recover it from node.
...
TypecheckingService and provider component are explicitly dependent
on SRepository.
The repository instance comes from the first opened project, which
is a dirty hack and is temporary until Typechecking Facade API
is fixed to provide appropriate instance.
2020-07-16 10:33:44 +02:00
Fedor Isakov
d5a259bbde
Re-apply all re-runnable migrations (one fix).
2020-07-11 15:59:51 +02:00
Fedor Isakov
936190bca9
Apply migrations.
2020-07-11 15:13:08 +02:00
Fedor Isakov
2bfcdba6d9
Fix tests for "raw" sequence type and raw Iterator.
...
TBD. This is a temporary fix, still unclear what "raw" sequence is.
2020-07-09 13:41:26 +02:00
Fedor Isakov
a8907bedf2
Add types for blTypes lang. For the sake of PrimitiveType. Fix mpscore project.
2020-07-09 11:50:16 +02:00
Fedor Isakov
ca973ddc51
Fix test compilation.
2020-07-07 13:50:43 +02:00
Grigorii Kirgizov
7e996c8772
Disable checking local types in 2 tests (in anticipation of MPSCR-63 fix)
2020-07-01 14:36:48 +03:00
Grigorii Kirgizov
2df90d00c5
minor: fix buildscript depndencies
2020-07-01 14:36:48 +03:00
Grigorii Kirgizov
a37bd44de0
disable tests on inremental typechecking of recursive closure 'invoke'
...
To fix them need either extending incr algo to handle rules which
postpone binding logicals in principal constraints (i.e. typeOf)
(see rules in Closures for 'invoke' expression)
or rewriting these rules to not produce typeOf with free logicals.
2020-07-01 14:36:48 +03:00
Grigorii Kirgizov
672b46dc65
minor: fix mistake in IncrClosureInference.changeFunctionalInterfaceParams test
2020-07-01 14:36:48 +03:00
Grigorii Kirgizov
1943157cd0
update samples test models dependencies & regen build.xml
2020-07-01 14:36:48 +03:00
Grigorii Kirgizov
a16756bfdb
Fix error reporting in bl.closures for conversion to functional interface
...
Add 'genDecl' constraint in heads of toFunctionalCls* rules
to handle incremental changes to respective classifier.
Also fail instead of just reporting error to break execution and
report on correct node according to calling rule.
2020-07-01 14:36:48 +03:00
Grigorii Kirgizov
8ccfa63111
Add test methods for ensuring incremental logic for rules diff
2020-07-01 14:36:48 +03:00
Grigorii Kirgizov
51b0438888
Add tests for incremental processing of closure type inference
2020-07-01 14:36:45 +03:00
Grigorii Kirgizov
827d2e5c42
Add tests for generic method calls
2020-07-01 14:36:45 +03:00
Grigorii Kirgizov
36e4e01f2e
Аdd tests for changes to class hierarchy with generics
2020-07-01 14:36:45 +03:00
Fedor Isakov
9c1d3aad92
Move Result class to commonly-used runtime solution.
2020-06-25 14:30:30 +02:00
Fedor Isakov
82b37d8103
Add module dependencies to test modules.
...
This ensures the tests can be launched on a test module in isolation.
2020-06-24 13:59:58 +02:00
Fedor Isakov
ecb2569bad
Types for smodel lang.
2020-06-22 13:38:09 +02:00
Fedor Isakov
ab99a0245c
Introduce runtime support module j.m.coderules.runtime.
2020-06-21 23:17:33 +02:00
Grigorii Kirgizov
4876c22282
Refactor single root of incremental tests into several, move IncrTestBuilder
2020-06-16 14:14:46 +03:00
Grigorii Kirgizov
a03651dd31
Refactor IncrementalLauncher in tests to use TypeIndex (as on runtime)
2020-06-15 13:03:09 +03:00
Grigorii Kirgizov
62d31743ed
Refactor incremental tests
2020-06-15 11:14:47 +03:00
Grigorii Kirgizov
f81d8ac44e
Fix missing lang import on tests model
2020-06-09 12:00:37 +03:00
Grigorii Kirgizov
1631f77e74
Implement typechecking for j.m.bl.collections & tests for it
2020-06-08 12:29:37 +03:00