@@ -273,9 +273,17 @@ object DesugarEnums {
273273 expandEnumModule(name, impl, mods, span)
274274 }
275275 else {
276- val (tag, scaffolding) = nextEnumTag(CaseKind .Simple )
277- val creator = Apply (Ident (nme.DOLLAR_NEW ), List (Literal (Constant (tag)), Literal (Constant (name.toString))))
278- val vdef = ValDef (name, enumClassRef, creator).withMods(mods | Final )
276+ // val (tag, scaffolding) = nextEnumTag(CaseKind.Simple)
277+ // val creator = Apply(Ident(nme.DOLLAR_NEW), List(Literal(Constant(tag)), Literal(Constant(name.toString))))
278+
279+ def toStringMeth =
280+ DefDef (nme.toString_, Nil , Nil , TypeTree (defn.StringType ), Literal (Constant (name.toString)))
281+ .withFlags(Override )
282+ val (tagMeth, scaffolding) = enumTagMeth(CaseKind .Object )
283+ val impl = Template (emptyConstructor, enumClassRef :: Nil , Nil , EmptyValDef ,
284+ body = List (tagMeth, toStringMeth) ++ registerCall)
285+ val vdef = ValDef (name, TypeTree (), New (impl)).withMods(mods | Final )
286+ // val vdef = ValDef(name, enumClassRef, creator).withMods(mods | Final)
279287 flatTree(scaffolding ::: vdef :: Nil ).withSpan(span)
280288 }
281289}
0 commit comments