Skip to content

Commit 489a1af

Browse files
committed
gen ordinal and enumLabel more lazily
1 parent 2351587 commit 489a1af

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

compiler/src/dotty/tools/dotc/ast/DesugarEnums.scala

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -323,11 +323,10 @@ object DesugarEnums {
323323
}
324324

325325
def enumBaseMeths(using Context): List[Tree] =
326-
val ordinalDef = DefDef(nme.ordinal, Nil, Nil, ref(defn.IntType), EmptyTree)
327-
val enumLabelDef = DefDef(nme.enumLabel, Nil, Nil, ref(defn.StringClass.typeRef), EmptyTree)
328-
val base = enumLabelDef :: Nil
329-
if isJavaEnum then base
330-
else ordinalDef :: base
326+
if isJavaEnum then
327+
enumLabelMeth(EmptyTree) :: Nil
328+
else
329+
ordinalMeth(EmptyTree) :: enumLabelMeth(EmptyTree) :: Nil
331330

332331
def param(name: TermName, typ: Type)(using Context): ValDef = param(name, TypeTree(typ))
333332
def param(name: TermName, tpt: Tree)(using Context): ValDef = ValDef(name, tpt, EmptyTree).withFlags(Param)

0 commit comments

Comments
 (0)