Commit Graph

1987 Commits

Author SHA1 Message Date
Grigorii Kirgizov 223b243e7f MPSCR-2: Fix capture of lowerBoundType on type variables with bounds 2019-10-26 21:44:09 +03:00
Grigorii Kirgizov 820066cf4d Set "do not generate" flags again on some examples in bl tests 2019-10-26 17:11:47 +03:00
Grigorii Kirgizov bc46a8e5ce Upd broken refs to logical vars 2019-10-26 17:01:07 +03:00
Grigorii Kirgizov c16801a928 Remove unnecessary accidental test root for BL 2019-10-26 16:17:41 +03:00
Grigorii Kirgizov 10a4b9ac70 Extend Lub test a bit with intersection type consumer 2019-10-26 16:17:41 +03:00
Grigorii Kirgizov 1b4a5ce55d Add check that all aux boudns in type var decl are interfaces. Add test for such error. 2019-10-26 16:17:37 +03:00
Grigorii Kirgizov 0e33bffa96 Handle additional case of constructing ListNodeCons 2019-10-26 16:17:37 +03:00
Grigorii Kirgizov 122917cc42 Fix: clean up lub() constraint in one case. Caused typechecker errors. 2019-10-26 16:17:37 +03:00
Grigorii Kirgizov 03702da2f0 Add handling of aux bounds in type variable macros 2019-10-26 16:17:37 +03:00
Grigorii Kirgizov b4d61ecb91 Add two more lub examples in LUB test 2019-10-26 16:17:37 +03:00
Grigorii Kirgizov dfa53a265f Add static field access to Sample typechecking test in BL 2019-10-26 16:16:59 +03:00
Grigorii Kirgizov 8e1633b0fb Fix typing rule for FieldReferenceOperation 2019-10-26 16:16:59 +03:00
Grigorii Kirgizov 9ec95421bf MPSCR-1: Remove unsound rule from containedIn relation. Add test for that case. Restructure Lub tests.
Now another test for suspicious rule for fieldReferenceOperation fails.
2019-10-26 16:16:59 +03:00
Grigorii Kirgizov 223cbeaabe Add incremental test for BL plus operator overload for String type 2019-10-26 16:14:43 +03:00
Fedor Isakov 742adef5f9 Completing BL typesystem: [ClassifierClass,Mul,Div,LT,GT,NEQ]Expression, UnaryMinus. 2019-10-25 22:45:55 +02:00
Fedor Isakov 3092fa3635 Fix all templates with broken scopes for logical variables. 2019-10-25 22:45:55 +02:00
Fedor Isakov c797b5d2ad Breaking change: logical vars must be declared by constraint rule that uses them.
Stronger rules for logical variables scope: constraint rule can't reference logical variable defined in another constraint rule. Logical variable definitions are localized to ConstraintRule template.
Simplify/cleanup the logic of searching for available logical variables.
2019-10-25 22:45:55 +02:00
Fedor Isakov a117f52ad5 Various improvements in j.m.baseLanguageExt typesystem.
Introduce generic way of handing recover/2 for ClassifierType.
Extract handling of expectType/2 constraint into a separate ruleslist.
Add lub/3 handler for char type.
2019-10-24 16:29:22 +02:00
Fedor Isakov 2e2cfd5194 Enable generation of samples known to be valid. 2019-10-24 13:29:55 +02:00
Fedor Isakov 4160c186e1 Introduce dependency to Config in typechecking options and service. Avoid relying on static getInstance() method to access Config.
Config is an application-level "component" initialized from an application plugin.
All usages on application/project-level should declare explicit dependency on it.
Tests can either create a new instance or access the shared one.
2019-10-23 15:39:17 +02:00
Fedor Isakov c81b88f636 Fix Lub test: proove that the result of ternary operation is correct. Enable compilation of "bounds" model. 2019-10-22 21:20:20 +02:00
Fedor Isakov fdd7c7fb19 New language j.m.bl.javadocExt to contain types aspect for javadoc. 2019-10-22 21:20:20 +02:00
Fedor Isakov 1534864ffb Separately register USER-level typechecking options, drop synch barrier. Keep it simple and stupid.
Options providers are registed in application plugin and project plugin.
Application plugin registers the USER level options, project plugin
is responsible for UI level.
Option providers are cleard on closing project/closing app.
2019-10-22 21:20:15 +02:00
Fedor Isakov b2139c4648 Fix typechecking in incremental mode. Cache type collector and smartly cache session token.
Keep cached session token with regard to aspect clique.
Keep type collector object in the typechecking cache.
The rationale: in incremental mode the parameters passed to query template are ignored, and essentially the parameters passed to the original query are re-used.
2019-10-19 22:19:53 +02:00
Fedor Isakov 6af78d1b94 Make CoderulesHelper reference the relevant aspect clique.
It's important to keep reference to the aspect clique that used to instantiate
a particular helper. Later it can be used to identify the correct session token.
2019-10-19 22:15:52 +02:00
Fedor Isakov 6eb1e06013 Add a unique key to identify an aspect clique. 2019-10-19 22:12:34 +02:00
Fedor Isakov 4e892ea5aa Drop additional "enabled" flag, superceded by Config. 2019-10-19 11:04:14 +02:00
Fedor Isakov 3fb8df4af4 Fix CheckProjectModules test. Drop usages of deprecated API. 2019-10-19 11:03:30 +02:00
Fedor Isakov fc4ff2875c Implement more fine-grained Config reset: drop all levels >= given. 2019-10-19 10:22:17 +02:00
Fedor Isakov 44d9d9e6b2 Avoid processing empty aspect clique. 2019-10-19 09:54:15 +02:00
Fedor Isakov 7705e911c5 Avoid failure on missing effect value. 2019-10-18 21:18:00 +02:00
Fedor Isakov d8243a5bf4 Fix the typechecking cache: avoid clearing all type assignments, ensure incremental update. 2019-10-18 18:22:07 +02:00
Fedor Isakov 51cc3a7afc Simplify working with SessionToken, drop a supefluous step. 2019-10-18 18:22:07 +02:00
Fedor Isakov 1e5c83dd93 Avoid failing with NPE if a project pref component is not available. 2019-10-18 17:03:56 +02:00
Fedor Isakov 2c514f08fd Fix Config initialization from tests. Replace init/deinit with single reset method. 2019-10-18 17:03:18 +02:00
Fedor Isakov 94dae1c5a8 Fix buildscript for samples/mpscore (extract dependency). 2019-10-18 17:02:14 +02:00
Fedor Isakov 6c63cb409f Introduce Config component. Make typechecker pref page nicer. Consolidate all typechecking options.
A reusable Config app component to be responsible for all level of configurations: default/system/user/ui.
Swith to Config interface instead of map<string,Object> for options.
Add an UI option to control whether trace is enabled.
2019-10-18 11:58:51 +02:00
Grigorii Kirgizov 7fb8ebd7c2 Fix one assert in incremental tests to correctly check nodes with type errors. Fixes last failing test. 2019-10-17 13:17:16 +03:00
Grigorii Kirgizov ef93acd34a Revert "Temporarily silence the last failing BL incrementality test"
This reverts commit 5aa7585b
2019-10-17 12:58:37 +03:00
Grigorii Kirgizov d861fd5eb4 Add convertsTo_ground reflexive case.
At least convertsTo(stringType(), stringType()) was failing without it.
2019-10-17 12:33:17 +03:00
Fedor Isakov 3357525958 Document Operations of Reactor. 2019-10-16 13:31:22 +02:00
Grigorii Kirgizov 5aa7585bea Temporarily silence the last failing BL incrementality test 2019-10-15 21:31:29 +03:00
Grigorii Kirgizov 439599d726 Fix Analyses test (fix recover constraint signature) 2019-10-15 21:30:00 +03:00
Grigorii Kirgizov 0fdc2ada2a Rewrite BL Recover base rules to make dependencies between rules visible (i.e. to actually reeval 'eval' predicates in rules incrementally) 2019-10-15 21:29:07 +03:00
Grigorii Kirgizov a095b2e222 Provide better (hopefully) name & explanation, undeprecate and provide missing impl for 'forgetSeen' method 2019-10-15 21:17:24 +03:00
Grigorii Kirgizov bc06bf39cc Handle one more case of finding principal constraints in Query rules with an additional heuristic. 2019-10-15 21:15:38 +03:00
Grigorii Kirgizov 28a82fd443 Revert "Temporarily disable failing tests in BLIncrTypecheck test case."
This reverts commit 1c1ddd6e
2019-10-15 18:01:21 +03:00
Fedor Isakov 6372f5a4a4 Experimental: cache the results of convertsTo/coerceTo queries.
The cache is repository-local and is invalidated on every command in that repository.
2019-10-12 09:35:09 +02:00
Fedor Isakov 0b037d9702 Code cleanup: remove unused effect values, ensure Reporting.assignType() throws an UOE.
Reporting interface is to be phased out.
2019-10-12 09:35:09 +02:00
Fedor Isakov c7ad048a9e Completing the BL typesystem: rules for Minus- and ParethesizedExpression. 2019-10-12 09:35:09 +02:00