enumeration-usage-types

Available in: SysML

This checks that enumeration usages outside of enumeration definitions are only typed by exactly one enumeration definition.

Subsumes attribute-usage-types and is only enabled when the enumeration usage is outside of an enumeration definition.

Specification

While not formally described in chapter 8, it is given in chapter 7.8.2:

There are no special restrictions on the declaration of an enumeration usage outside the body of an enumeration definition, other than as for an attribute usage in general (see 9.2.2), except that such an enumeration usage must be explicitly defined by a single enumeration definition.

Example

enum e; // error: Enumeration usage must be defined by a single enumeration definition

Fix this by add an explicit definition to an enumeration definition:

enum def E;
enum e : E; // ok

All validation rules