File tree 1 file changed +3
-2
lines changed
src/dotty/tools/dotc/transform 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -152,9 +152,10 @@ class Mixin extends MiniPhaseTransform with SymTransformer { thisTransform =>
152
152
def traitInits (mixin : ClassSymbol ): List [Tree ] =
153
153
for (getter <- mixin.info.decls.filter(getr => getr.isGetter && ! wasDeferred(getr)).toList)
154
154
yield {
155
- // transformFollowing call is needed to make memoize & lazy vals run
155
+ // transformFollowing call is needed to make memoize & lazy vals run
156
156
val rhs = transformFollowing(superRef(initializer(getter)).appliedToNone)
157
- val isCurrent = ctx.atPhase(thisTransform) { implicit ctx =>
157
+ // isCurrent: getter is a member of implementing class
158
+ val isCurrent = getter.is(ExpandedName ) || ctx.atPhase(thisTransform) { implicit ctx =>
158
159
cls.info.member(getter.name).suchThat(_.isGetter).symbol == getter
159
160
}
160
161
if (isCurrent) transformFollowing(DefDef (implementation(getter.asTerm), rhs))
You can’t perform that action at this time.
0 commit comments