@@ -64,7 +64,8 @@ object DesugarEnums {
6464 }
6565
6666 /** 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 ()
6869
6970 /** Add implied flags to an enum class or an enum case */
7071 def addEnumFlags (cdef : TypeDef )(implicit ctx : Context ) =
@@ -87,7 +88,6 @@ object DesugarEnums {
8788 private def enumScaffolding (implicit ctx : Context ): List [Tree ] = {
8889 def enumDefDef (name : String , select : String ) =
8990 DefDef (name.toTermName, Nil , Nil , TypeTree (), valuesDot(select))
90-
9191 val privateValuesDef =
9292 ValDef (nme.DOLLAR_VALUES , TypeTree (),
9393 New (TypeTree (defn.EnumValuesType .appliedTo(enumClass.typeRef :: Nil )), ListOfNil ))
@@ -196,8 +196,7 @@ object DesugarEnums {
196196 /** Expand a module definition representing a parameterless enum case */
197197 def expandEnumModule (name : TermName , impl : Template , mods : Modifiers , pos : Position )(implicit ctx : Context ): Tree = {
198198 assert(impl.body.isEmpty)
199- if (! enumClass.exists) EmptyTree
200- else if (impl.parents.isEmpty)
199+ if (impl.parents.isEmpty)
201200 expandSimpleEnumCase(name, mods, pos)
202201 else {
203202 def toStringMeth =
0 commit comments