Meta model processing algorithm - fieldenms/tg GitHub Wiki
Meta-model processing algorithm
On each processing round:
- filter inputs for meta-model candidates and generate a meta-model for each one
On the 1st processing round:
- after processing round inputs process
MetaModels
:- if it doesn't exist, then generate it
- otherwise, analyse it and potentially regenerate if any of the following holds:
- there are new meta-models to include
- there are inactive meta-models to exclude
Behaviour w.r.t to file events:
- Rename/Move: if source is meta-modeled, then a new meta-model is generated, and
MetaModels
is regenerated to include it. The old meta-model is ignored, butMetaModels
no longer includes it, which is caused by a lucky bug. - Delete: if source was meta-modeled, then the affected sources set will at least contain its meta-model, which will be deactivated, and
MetaModels
will be regenerated to exclude it. - Content change: if source is meta-modeled, then its meta-model is regenerated.
- New: if created source is meta-modeled, then meta-model is generated and
MetaModels
regenerated to include it.