@@ -64,7 +64,8 @@ object DesugarEnums {
64
64
}
65
65
66
66
/** A type tree referring to `enumClass` */
67
- def enumClassRef (implicit ctx : Context ) = TypeTree (enumClass.typeRef)
67
+ def enumClassRef (implicit ctx : Context ) =
68
+ if (enumClass.exists) TypeTree (enumClass.typeRef) else TypeTree ()
68
69
69
70
/** Add implied flags to an enum class or an enum case */
70
71
def addEnumFlags (cdef : TypeDef )(implicit ctx : Context ) =
@@ -87,7 +88,6 @@ object DesugarEnums {
87
88
private def enumScaffolding (implicit ctx : Context ): List [Tree ] = {
88
89
def enumDefDef (name : String , select : String ) =
89
90
DefDef (name.toTermName, Nil , Nil , TypeTree (), valuesDot(select))
90
-
91
91
val privateValuesDef =
92
92
ValDef (nme.DOLLAR_VALUES , TypeTree (),
93
93
New (TypeTree (defn.EnumValuesType .appliedTo(enumClass.typeRef :: Nil )), ListOfNil ))
@@ -196,8 +196,7 @@ object DesugarEnums {
196
196
/** Expand a module definition representing a parameterless enum case */
197
197
def expandEnumModule (name : TermName , impl : Template , mods : Modifiers , pos : Position )(implicit ctx : Context ): Tree = {
198
198
assert(impl.body.isEmpty)
199
- if (! enumClass.exists) EmptyTree
200
- else if (impl.parents.isEmpty)
199
+ if (impl.parents.isEmpty)
201
200
expandSimpleEnumCase(name, mods, pos)
202
201
else {
203
202
def toStringMeth =
0 commit comments