@@ -175,20 +175,11 @@ object DesugarEnums {
175175 /** A creation method for a value of enum type `E`, which is defined as follows:
176176 *
177177 * private def $new(_$ordinal: Int, $name: String) = new E with scala.runtime.EnumValue {
178- * def ordinal = _$ordinal // if `E` does not derive from `java.lang.Enum`
179- * def enumLabel = $name // if `E` does not derive from `java.lang.Enum`
180- * def enumLabel = this.name // if `E` derives from `java.lang.Enum`
178+ * def ordinal = _$ordinal // if `E` does not derive from `java.lang.Enum`
181179 * }
182180 */
183181 private def enumValueCreator (using Context ) = {
184- val fieldMethods =
185- if isJavaEnum then
186- val enumLabelDef = enumLabelMeth(Select (This (Ident (tpnme.EMPTY )), nme.name))
187- enumLabelDef :: Nil
188- else
189- val ordinalDef = ordinalMeth(Ident (nme.ordinalDollar_))
190- val enumLabelDef = enumLabelMeth(Ident (nme.nameDollar))
191- ordinalDef :: enumLabelDef :: Nil
182+ val fieldMethods = if isJavaEnum then Nil else ordinalMeth(Ident (nme.ordinalDollar_)) :: Nil
192183 val creator = New (Template (
193184 constr = emptyConstructor,
194185 parents = enumClassRef :: scalaRuntimeDot(tpnme.EnumValue ) :: Nil ,
@@ -284,15 +275,9 @@ object DesugarEnums {
284275 def ordinalMeth (body : Tree )(using Context ): DefDef =
285276 DefDef (nme.ordinal, Nil , Nil , TypeTree (defn.IntType ), body).withAddedFlags(Synthetic )
286277
287- def enumLabelMeth (body : Tree )(using Context ): DefDef =
288- DefDef (nme.enumLabel, Nil , Nil , TypeTree (defn.StringType ), body).withAddedFlags(Synthetic )
289-
290278 def ordinalMethLit (ord : Int )(using Context ): DefDef =
291279 ordinalMeth(Literal (Constant (ord)))
292280
293- def enumLabelLit (name : String )(using Context ): DefDef =
294- enumLabelMeth(Literal (Constant (name)))
295-
296281 /** Expand a module definition representing a parameterless enum case */
297282 def expandEnumModule (name : TermName , impl : Template , mods : Modifiers , definesLookups : Boolean , span : Span )(using Context ): Tree = {
298283 assert(impl.body.isEmpty)
@@ -301,11 +286,9 @@ object DesugarEnums {
301286 expandSimpleEnumCase(name, mods, definesLookups, span)
302287 else {
303288 val (tag, scaffolding) = nextOrdinal(name, CaseKind .Object , definesLookups)
304- val ordinalDef = if isJavaEnum then Nil else ordinalMethLit(tag) :: Nil
305- val enumLabelDef = enumLabelLit(name.toString)
306289 val impl1 = cpy.Template (impl)(
307290 parents = impl.parents :+ scalaRuntimeDot(tpnme.EnumValue ),
308- body = ordinalDef ::: enumLabelDef :: Nil
291+ body = if isJavaEnum then Nil else ordinalMethLit(tag) :: Nil
309292 ).withAttachment(ExtendsSingletonMirror , ())
310293 val vdef = ValDef (name, TypeTree (), New (impl1)).withMods(mods.withAddedFlags(EnumValue , span))
311294 flatTree(vdef :: scaffolding).withSpan(span)
0 commit comments