Commit Graph

76 Commits

Author SHA1 Message Date
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