diff options
Diffstat (limited to 'tests/run/generic/Color.scala')
-rw-r--r-- | tests/run/generic/Color.scala | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/run/generic/Color.scala b/tests/run/generic/Color.scala index ed248295d..7f2a8818c 100644 --- a/tests/run/generic/Color.scala +++ b/tests/run/generic/Color.scala @@ -10,12 +10,17 @@ import Shapes._ */ sealed trait Color extends Enum -object Color extends EnumValues[Color](3) { +object Color { + + private val $values = new runtime.EnumValues[Color] + def valueOf = $values.fromInt + def withName = $values.fromName + 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 +30,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 +} |