|
E096 Enumeration Naming Conflict
[Previous]  [Next] 
|
![]() |
User Manual [Previous]  [Next] E096 Enumeration Naming ConflictUmple semantic error reported when an enumeration defined in a class has the same name as the class, or when a model level enumeration has the same name as a class, interface, or trait.In Umple, class enumerations must not have the same name as the class they are defined in. Model level enumerations must have unique names. Example
// This example generates the error
// since the enumeration "X" will be added
// to the class "X" because of attribute "t".
enum X{ Red, Blue, Green }
class X{
X t;
}
Load the above code into UmpleOnline Another Example
// This generates the error
// because the enumeration "X"
// has the same name
// as the class it's defined in
class X{
enum X { Red, Blue, Green }
}
Load the above code into UmpleOnline Another Example
// This example generates the error
// since enumeration "Y"
// conflicts with interface "Y"
interface Y {
name;
}
class X {
isA Y;
}
enum Y { Red, Blue, Green }
Load the above code into UmpleOnline Another Example
// This example generates the error
// since enumeration "Y" conflicts with trait "Y"
class X {
isA Y;
}
trait Y {
name;
}
enum Y { Red, Blue, Green }
Load the above code into UmpleOnline Solution to The Above So the Message No Longer Appears
// This example does not generate the error
enum Z { Orange, Yellow }
class X {
enum Y { Red, Blue, Green }
Z attr;
}
Load the above code into UmpleOnline |