Returns all keys, which are direct or indirect sub-keys of the given language key.
the given language key
the list does not contain the given language key itself
Returns all keys, which are direct or indirect super-keys of the given language key.
the given language key
the list does not contain the given language key itself
Returns the language key for a given language node
the given language node
the language key or 'undefined', if there is no language key for the given language node
This services provides some static information about the language/DSL, for which the type system is created.
The main idea for this services is to improve the performance of some other services (mainly validation and type inference) by introducing the concept of "language keys" for language nodes. If rules for validation and type inference are associated to a language key, these rules are applied only to those language nodes which have this language key, not to all language nodes. It is possible to associate rules to multiple language keys. Rules which are associated to no language key, are applied to all language nodes.
Language keys are represented by string values and might by, depending on the DSL implementation/language workbench, class names or $type-property-information of the language node implementations.
Language keys might have sub/super language keys ("sub-type relationship of language keys").