File tree Expand file tree Collapse file tree 2 files changed +4
-3
lines changed
compiler/src/dotty/tools/dotc Expand file tree Collapse file tree 2 files changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -94,7 +94,7 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
94
94
lazy val accessors =
95
95
if (isDerivedValueClass(clazz)) clazz.paramAccessors.take(1 ) // Tail parameters can only be `erased`
96
96
else clazz.caseAccessors
97
- val isEnumCase = clazz.classParents.exists(_.typeSymbol .isScalaEnum)
97
+ val isEnumCase = clazz.classParents.exists(_.classSymbol .isScalaEnum)
98
98
val isEnumValue = isEnumCase && clazz.isAnonymousClass && clazz.classParents.head.classSymbol.is(Enum )
99
99
val isNonJavaEnumValue = isEnumValue && ! clazz.derivesFrom(defn.JavaEnumClass )
100
100
Original file line number Diff line number Diff line change @@ -2105,7 +2105,8 @@ class Typer extends Namer
2105
2105
val constr1 = typed(constr).asInstanceOf [DefDef ]
2106
2106
val parentsWithClass = ensureFirstTreeIsClass(parents.mapconserve(typedParent).filterConserve(! _.isEmpty), cdef.nameSpan)
2107
2107
val parents1 = ensureConstrCall(cls, parentsWithClass)(using superCtx)
2108
- val firstParent = parents1.head.tpe.dealias.typeSymbol
2108
+ val firstParentTpe = parents1.head.tpe.dealias
2109
+ val firstParent = firstParentTpe.typeSymbol
2109
2110
2110
2111
checkEnumParent(cls, firstParent)
2111
2112
@@ -2122,7 +2123,7 @@ class Typer extends Namer
2122
2123
.withType(dummy.termRef)
2123
2124
if (! cls.isOneOf(AbstractOrTrait ) && ! ctx.isAfterTyper)
2124
2125
checkRealizableBounds(cls, cdef.sourcePos.withSpan(cdef.nameSpan))
2125
- if cls.isScalaEnum || firstParent .isScalaEnum then
2126
+ if cls.isScalaEnum || firstParentTpe.classSymbol .isScalaEnum then
2126
2127
checkEnum(cdef, cls, firstParent)
2127
2128
val cdef1 = assignType(cpy.TypeDef (cdef)(name, impl1), cls)
2128
2129
You can’t perform that action at this time.
0 commit comments