Skip to content

Commit 49be95a

Browse files
committed
Avoid crashing in ExplicitOuter on missing references
1 parent d876acf commit 49be95a

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import core.Phases._
1010
import core.Types._
1111
import core.Flags._
1212
import core.Decorators._
13+
import core.Scopes.*
1314
import core.StdNames.nme
1415
import core.Names._
1516
import core.NameOps._
@@ -49,7 +50,7 @@ class ExplicitOuter extends MiniPhase with InfoTransformer { thisPhase =>
4950
/** Add outer accessors if a class always needs an outer pointer */
5051
override def transformInfo(tp: Type, sym: Symbol)(using Context): Type = tp match {
5152
case tp @ ClassInfo(_, cls, _, decls, _) if needsOuterAlways(cls) =>
52-
val newDecls = decls.cloneScope
53+
val newDecls = if decls == EmptyScope then newScope else decls.cloneScope
5354
newOuterAccessors(cls).foreach(newDecls.enter)
5455
tp.derivedClassInfo(decls = newDecls)
5556
case _ =>

0 commit comments

Comments
 (0)