Skip to content

Commit 702b641

Browse files
committed
Move checks to mayChange
1 parent dd9210b commit 702b641

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

compiler/src/dotty/tools/dotc/transform/ElimByName.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ class ElimByName extends TransformByNameApply with InfoTransformer {
7373
}
7474

7575
def transformInfo(tp: Type, sym: Symbol)(implicit ctx: Context): Type = tp match {
76-
case ExprType(rt) if exprBecomesFunction(sym) => defn.FunctionOf(Nil, rt)
76+
case ExprType(rt) => defn.FunctionOf(Nil, rt)
7777
case _ => tp
7878
}
7979

80-
override def mayChange(sym: Symbol)(implicit ctx: Context): Boolean = sym.isTerm
80+
override def mayChange(sym: Symbol)(implicit ctx: Context): Boolean = sym.isTerm && exprBecomesFunction(sym)
8181
}

compiler/src/dotty/tools/dotc/transform/ExplicitOuter.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ class ExplicitOuter extends MiniPhase with InfoTransformer { thisPhase =>
4848

4949
/** Add outer accessors if a class always needs an outer pointer */
5050
override def transformInfo(tp: Type, sym: Symbol)(implicit ctx: Context) = tp match {
51-
case tp @ ClassInfo(_, cls, _, decls, _) if needsOuterAlways(cls) && !sym.is(JavaDefined) =>
51+
case tp @ ClassInfo(_, cls, _, decls, _) if needsOuterAlways(cls) =>
5252
val newDecls = decls.cloneScope
5353
newOuterAccessors(cls).foreach(newDecls.enter)
5454
tp.derivedClassInfo(decls = newDecls)
5555
case _ =>
5656
tp
5757
}
5858

59-
override def mayChange(sym: Symbol)(implicit ctx: Context): Boolean = sym.isClass
59+
override def mayChange(sym: Symbol)(implicit ctx: Context): Boolean = sym.isClass && !sym.is(JavaDefined)
6060

6161
/** First, add outer accessors if a class does not have them yet and it references an outer this.
6262
* If the class has outer accessors, implement them.

0 commit comments

Comments
 (0)