Maybe so:
object E1 extends Enumeration { type E1 = Value val A, B, C = Value } class ExtEnum(srcEnum: Enumeration) extends Enumeration { srcEnum.values.foreach(v => Value(v.id, v.toString)) } object E2 extends ExtEnum(E1) { type E2 = Value val D, E = Value } println(E2.values) // prints > E2.ValueSet(A, B, C, D, E)
One note: it is not possible to use E1 values ββfrom E2 by name:
E2.A
But you can name them like this:
E2(0)
or
E2.withName(E1.A.toString)
source share