Fedor Isakov
d3a4e21ca9
Migrated to MPS2017.3.
2017-12-06 16:36:28 +01:00
Fedor Isakov
fe27d40d4b
Typechecking templates: drop "final" features, use the prototype term feature.
2017-11-12 16:45:32 +01:00
Fedor Isakov
724addd354
Typechecking templates: apply the migrations; cleanup code; remove ad-hoc default feature values dependent on internal API.
2017-11-10 12:13:39 +01:00
Fedor Isakov
c24b4d1044
Typechecking templates: move constraint declarations to handlers, remove the only solver root.
2017-11-09 14:07:27 +01:00
Fedor Isakov
1541244395
Typechecking templates: add a rule to discharge hasBound of a captureOf type.
2017-11-03 12:08:17 +01:00
Fedor Isakov
aa8258c365
Typechecking templates: Applied migrations. Replace ad-hoc logical value access with valueOf expressions.
2017-11-01 10:52:15 +01:00
Fedor Isakov
c9c8ed39b4
Typechecking templates: Manual migrations and cleanup. Applied the migrations.
2017-10-27 16:30:28 +02:00
Fedor Isakov
090bb22d9e
Typechecking templates: replace ad-hoc list expressions with ListExpression. Use latter instead of TermListExpr.
2017-10-23 13:58:02 +02:00
Fedor Isakov
5a5c7e6b77
Typechecking templates: replace ad-hoc list expressions with ListExpression.
2017-10-23 13:51:22 +02:00
Fedor Isakov
bc3ff79a9c
Migration applied: extract ListRole.
2017-10-23 12:08:50 +02:00
Fedor Isakov
643b5b67b3
Typechecking templates: ensure the term has default values.
2017-10-23 10:22:48 +02:00
Fedor Isakov
f72dc69216
Typechecking templates: Drop string hacks in terms. Getting rid of hardcoded term features.
2017-10-19 17:55:08 +02:00
Fedor Isakov
272c83ad3c
Typechecking templates: model updated in respect to the language changes, migration applied.
2017-10-16 13:55:32 +02:00
Fedor Isakov
8602a3ba32
Typechecking templates: Structural changes in j.m.l.typeystem2 lang. Getting rid of AnchorUtil usages.
2017-10-16 13:55:27 +02:00
Fedor Isakov
1a284c9c58
Typechecking templates: Ensure required nodes are specified by the rules. Raw classifier types support.
2017-10-13 11:49:45 +02:00
Fedor Isakov
6d42745a52
Typechecking templates:
...
Reimplement capture constraint, use capture for type inference, introduce captureOf type.
Remove lbound, replace ubound with hasBound.
Fix the classifier type well-formedness check.
Minor fixes.
2017-10-04 15:47:02 +02:00
Fedor Isakov
4c8952a09a
Typechecking templates: protect from NPE; guard aganst infinite recursion while constructing terms for recursive type; more primitive subtyping cases.
2017-09-13 16:41:47 +02:00
Fedor Isakov
1c2bfc7346
Typechecking templates: add missing support for primitive types; protect rule applications from running into a cycle on recursive types; git rid of cycles in the typechecking.
2017-08-23 14:33:30 +02:00
Fedor Isakov
59798eba71
Typechecking templates: switch to map instead of "logical substitution" type.
2017-08-22 11:47:35 +02:00
Fedor Isakov
cf3832ef5a
Typechecking templates: extract substitution context parameter. Provisional collecting of dependencies for "local typechecking".
2017-08-22 11:47:35 +02:00
Fedor Isakov
78c7f71e9a
Refactoring the code that launches typechecking to better separate concerns.
...
Extract TypeAspectRuntime.
Support building typechecking program for sequence of nodes.
Moving classes/models around to get rid of cyclic deps.
2017-08-16 15:29:23 +02:00
Fedor Isakov
b9e44ef2eb
Typechecking templates: add a recover rule for variable declaration
2017-07-26 16:15:27 +02:00
Fedor Isakov
e970b2443a
Extract typechecking-related stuff to a separate solution 'j.m.typechecking'
2017-07-25 10:30:29 +02:00
Fedor Isakov
20622554f2
Switch to MPS 172 latest RC build. Fix a couple of parent-invariant violations in the type system, remove obsolete intention.
2017-07-19 16:22:59 +02:00
Fedor Isakov
51263e9b8b
Reorganizing the code, optimize the number of solutions. Delete empty solutions.
2017-06-12 18:55:55 +02:00
Fedor Isakov
663c58d880
Delete empty generators. Fix the import errors.
2017-06-12 16:45:00 +02:00
Fedor Isakov
ee0b98f9db
Rename "sampleLang" to "baseLanguageExt"
2017-06-12 16:32:49 +02:00
Fedor Isakov
9884923141
Typechecking templates: ensure every type is restored, substitute bottom for unknown type.
2017-06-12 12:22:42 +02:00
Fedor Isakov
effa917f63
Optimize module/model imports. Get rid of "exported" dependencies (too much trouble with the ant files).
2017-06-09 09:51:35 +02:00
Fedor Isakov
c5a3fc6adc
Re-save types model to update resolve info.
2017-05-22 10:34:22 +02:00
Fedor Isakov
9f828fec11
Typechecking templates: ensure no type errors in model check.
2017-05-12 11:54:22 +02:00
Fedor Isakov
7912b66516
Typechecking templates: re-save the model to update the resolve info.
2017-05-11 13:31:38 +02:00
Fedor Isakov
7c8cc408fc
Typechecking templates: replace all instances of "index" with "position"
2017-05-11 13:11:08 +02:00
Fedor Isakov
0d6452c826
Typechecking templates: auto-changes after the concepts renaming.
2017-05-09 15:42:07 +02:00
Fedor Isakov
21dbecd386
Re-saved all models.
2017-05-04 13:10:14 +02:00
Fedor Isakov
4b18d94664
Typechecking templates: move the term declarations to separate root.
2017-05-04 12:47:22 +02:00
Fedor Isakov
2f3c1a6492
Typechecking templates: drop links to type term from type declarations
2017-05-03 16:14:44 +02:00
Fedor Isakov
bbb5451408
Typechecking templates: adopting to the changes in the language.
2017-05-03 16:14:26 +02:00
Fedor Isakov
3136d7bedb
Switched to the latest EAP build, applied the migrations.
2017-03-09 14:36:20 +01:00
Fedor Isakov
55eae7dda5
Typechecking templates: replace all obsolete code blocks with logical clauses. Extract logicals into the rule part declaration where possible.
2017-03-01 12:51:21 +01:00
Fedor Isakov
c254e94a2e
Typechecking templates: Switch to using new way of recovering type nodes. Drop the recovery blocks.
2017-02-17 11:58:12 +01:00
Fedor Isakov
f4b965efce
Repackage utility classes inside the types aspect model. Delete obsolete module.
2017-02-09 14:24:00 +01:00
Fedor Isakov
61fd80014d
Typechecking templates: adapting to the latest refactoring.
2017-02-03 11:28:10 +01:00
Fedor Isakov
44019dca79
Typechecking templates: remove usages of the "typeConcept"
2017-02-03 11:15:23 +01:00
Fedor Isakov
4430488f26
New recover types handler (unfinished)
2017-02-03 11:15:01 +01:00
Fedor Isakov
31e15fcaa9
Typechecking templates: annotate the handlers with the primary constraints. Moderate pocessing speedup.
2016-12-28 12:48:47 +01:00
Fedor Isakov
5bb2d9c7fa
Drop the deprecated postProcess and other obsolete features.
2016-12-23 17:40:04 +01:00
Fedor Isakov
1c7e72db40
Typechecking templates: sort the rules so that abstract come after the concrete for post-processing, and before otherwise.
2016-12-23 17:40:02 +01:00
Fedor Isakov
c08cfbc173
Typechecking templates: optimizing processing of constraints by using more optimal rules order.
2016-12-14 17:08:32 +01:00
Fedor Isakov
a5a05531b4
Typechecking templates: Refactoring and straightening up the typesystem, cleaning up and dropping unused rules and constraints.
...
Refactoring bounds, containment.
Using new type construct for non-patterns.
Using new type construct for non-patterns.
New features: support for boxing, array conversion, capture classifier type parameters.
2016-12-12 16:02:12 +01:00