@@ -273,9 +273,17 @@ object DesugarEnums {
273
273
expandEnumModule(name, impl, mods, span)
274
274
}
275
275
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)
279
287
flatTree(scaffolding ::: vdef :: Nil ).withSpan(span)
280
288
}
281
289
}
0 commit comments