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
Fedor Isakov
5f802cf6cf
Typechecking templates: simplify the code.
2016-11-16 15:44:35 +01:00
Fedor Isakov
57bfd6433e
Refactoring out the typechecking code from the sample plugin.
2016-11-07 15:07:16 +01:00
Fedor Isakov
9b7323b40c
Typechecking templates: basic support for primitive types.
2016-10-20 12:55:48 +02:00
Fedor Isakov
47f3d61b28
Typechecking templates: adding new types, a workaround for raw classifier types.
2016-10-19 16:09:41 +02:00
Fedor Isakov
6abca3f4e9
Attempting to make tests run from the generated build script.
2016-10-19 11:22:59 +02:00
Fedor Isakov
99a564dac4
Typechecking templates: fix the subtyping/substitution logic, bounds check, LUB
2016-10-13 13:37:58 +02:00
Fedor Isakov
16a8541b3e
Refactor error reporting while applygin typechecking templates. Trigger headless rules with the "main" constraint instead of merging everything into one huge conjunction.
2016-10-06 11:48:06 +02:00
Fedor Isakov
b3dd169531
Typechecking templates: keep the node reference in the type term instead of the id
2016-09-30 18:10:18 +02:00
Fedor Isakov
36b721fbe0
Type templates: implementing recovery feature.
2016-09-19 13:01:23 +02:00
Fedor Isakov
b03e8578e5
Resave all models containing obsolete resolve info. Fix all mentions of the old api class.
2016-09-17 14:57:55 +02:00
Fedor Isakov
9312b7d30e
MPS suddenly decided to remove references to the deleted solution.
2016-09-01 11:03:36 +02:00
Fedor Isakov
414a60fffc
Moving the reactor API to the separate project.
...
Switch to java_stub models for the reactor api.
2016-09-01 11:03:35 +02:00
Fedor Isakov
4b6ac48a41
Merging TreeForm model into the reactor solution.
...
Move unification lib tnd treeform api model to reactor solution.
Remove obsolete solution.
2016-09-01 11:03:35 +02:00
Fedor Isakov
a27cdecc67
Renamings and refactorings in the logic api.
...
Use TreeForm name for the tree abstraction.
Rename Atom, Func etc. and the usages.
2016-09-01 11:03:21 +02:00