aboutsummaryrefslogtreecommitdiff
path: root/tests/run/generic/Color.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/generic/Color.scala')
-rw-r--r--tests/run/generic/Color.scala12
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/run/generic/Color.scala b/tests/run/generic/Color.scala
index ed248295d..0a0f3f1e5 100644
--- a/tests/run/generic/Color.scala
+++ b/tests/run/generic/Color.scala
@@ -10,12 +10,16 @@ import Shapes._
*/
sealed trait Color extends Enum
-object Color extends EnumValues[Color](3) {
+object Color {
+
+ private val $values = new EnumValues[Color]
+ def valueOf: Int => Color = $values
+ def values = $values.values
private def $new(tag: Int, name: String) = new Color {
def enumTag = tag
override def toString = name
- registerEnumValue(this)
+ $values.register(this)
}
val Red: Color = $new(0, "Red")
@@ -25,6 +29,6 @@ object Color extends EnumValues[Color](3) {
implicit val ColorShape: Color `shaped` EnumValue[Color] =
new (Color `shaped` EnumValue[Color]) {
def toShape(x: Color) = EnumValue(x.enumTag)
- def fromShape(x: EnumValue[Color]) = Color.value(x.tag)
+ def fromShape(x: EnumValue[Color]) = Color.valueOf(x.tag)
}
-} \ No newline at end of file
+}