aboutsummaryrefslogtreecommitdiff
path: root/tests/run/generic/Enum.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/generic/Enum.scala')
-rw-r--r--tests/run/generic/Enum.scala18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/run/generic/Enum.scala b/tests/run/generic/Enum.scala
new file mode 100644
index 000000000..dbdbfe8eb
--- /dev/null
+++ b/tests/run/generic/Enum.scala
@@ -0,0 +1,18 @@
+package generic
+
+import Shapes.Singleton
+
+trait Enum {
+ def enumTag: Int
+}
+
+trait FiniteEnum extends Enum
+
+abstract class EnumValues[E <: Enum](numVals: Int) {
+ private var myValues = new Array[AnyRef](numVals)
+
+ def registerEnumValue(v: E) =
+ myValues(v.enumTag) = v
+
+ def value: IndexedSeq[E] = (myValues: IndexedSeq[AnyRef]).asInstanceOf[IndexedSeq[E]]
+}