textgen error: 'No textgen for jetbrains.mps.lang.smodel.structure.*'
Hi,
I have migrated my languages to MPS 2017.2.1. However, I have a problem to build one them because of following class/function:
I am getting following error:
textgen error: 'No textgen for jetbrains.mps.lang.smodel.structure.SConceptType' in [type] SConceptType
textgen error: 'No textgen for jetbrains.mps.lang.smodel.structure.Concept_IsSubConceptOfOperation' in [operation] Concept_IsSubConceptOfOperation
textgen error: 'No textgen for jetbrains.mps.lang.smodel.structure.Concept_IsExactlyOperation' in [operation] Concept_IsExactlyOperation
Failed to generate text for ExpressionRestrictions.java
And this is how the generated text looks like:
Any suggestions?
Please sign in to leave a comment.
I copied the class to constraints aspect and it works now. I am not sure why, in MPS 2017.1 it was working also outside constraints.
In 2017.2, we employ Generation Plans for some of our aspects. These plans list exact set of languages and generators to apply to a given model. For structure aspect (my guess is ExpressionRestrictions class resides in structure aspect), there's no lang.smodel in the plan, therefore, constructs of the language are not reduced and get right to the very end, and TextGen has no idea what to do with them. We didn't expect smodel code inside a structure model (generally, it's a bad idea), therefore, we didn't include lang.smodel into structure's aspect plan. For constrains aspect, however, we do expect use of lang.smodel and the language is in the plan for constraints aspect, that's why the class works if moved to another aspect.