Skip to content

Commit dca2f45

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

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+
def ordinalDef = DefDef(nme.ordinal, Nil, Nil, ref(defn.IntType), EmptyTree)
327+
def enumLabelDef = DefDef(nme.enumLabel, Nil, Nil, ref(defn.StringClass.typeRef), EmptyTree)
328+
if isJavaEnum then enumLabelDef :: Nil
329+
else ordinalDef :: enumLabelDef :: 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)