It'd be useful to export @Deprecated attributes on concepts and interfaces and their features as annotations on their exports (as nodes of a LionWeb M2). With that information, the generators could generate the corresponding annotations in C#/TS. (C#: [Obsolete], TS: /** @deprecated */)
In MPS, @Deprecated attributes are instances of DeprecatedNodeAnnotation, that can be put on any IStructureDeprecatable instance, including
AbstractConceptDeclaration → concepts and interfaces
PropertyDeclaration → properties
LinkDeclaration → children/references
DataTypeDeclaration → constrained data type, enumeration, primitive data type.
It's probably best and easiest to add a concept Deprecated to the io.lionweb.mps.specific language, in the same way as for concept alias, concept description, virtual package, etc. The primary entrypoint (/example) for that is:
It'd be useful to export
@Deprecated
attributes on concepts and interfaces and their features as annotations on their exports (as nodes of a LionWeb M2). With that information, the generators could generate the corresponding annotations in C#/TS. (C#:[Obsolete]
, TS:/** @deprecated */
)In MPS,
@Deprecated
attributes are instances ofDeprecatedNodeAnnotation
, that can be put on anyIStructureDeprecatable
instance, includingAbstractConceptDeclaration
→ concepts and interfacesPropertyDeclaration
→ propertiesLinkDeclaration
→ children/referencesDataTypeDeclaration
→ constrained data type, enumeration, primitive data type.It's probably best and easiest to add a concept
Deprecated
to theio.lionweb.mps.specific
language, in the same way as for concept alias, concept description, virtual package, etc. The primary entrypoint (/example) for that is: