|
Revision 1818, 489 bytes
(checked in by Chuck.Esterbrook, 21 months ago)
|
|
Support bitwise-and for testing enums.
reported-by:gauthier
|
-
Property svn:eol-style set to
native
|
| Line | |
|---|
| 1 | enum Color |
|---|
| 2 | Red = 1 |
|---|
| 3 | Green = 2 |
|---|
| 4 | Blue = 4 |
|---|
| 5 | |
|---|
| 6 | class Test |
|---|
| 7 | |
|---|
| 8 | def main is shared |
|---|
| 9 | c = Color(Red, Green) |
|---|
| 10 | print c |
|---|
| 11 | print c to int |
|---|
| 12 | .takeColor(Color(Red, Green)) |
|---|
| 13 | # TODO: Should have a qualified example. System.SomeEnum(MemberA, MemberB) and System.Something.SomeEnum(MemberA, MemberB) |
|---|
| 14 | |
|---|
| 15 | # testing enum membership with bitwise-and |
|---|
| 16 | assert c & Color.Red == Color.Red |
|---|
| 17 | assert c & Color.Green == Color.Green |
|---|
| 18 | assert c & Color.Blue <> Color.Blue |
|---|
| 19 | |
|---|
| 20 | def takeColor(c as Color) is shared |
|---|
| 21 | pass |
|---|