Skip to content

Commit 3dcebc3

Browse files
committed
Fix crash: set correct context owner
1 parent a186b3c commit 3dcebc3

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

compiler/src/dotty/tools/dotc/transform/init/Summarization.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,14 +316,14 @@ object Summarization {
316316
}
317317
}
318318

319-
def classSummary(cls: ClassSymbol)(implicit env: Env): ClassSummary =
319+
def classSummary(cls: ClassSymbol)(implicit env: Env): ClassSummary = trace("summarizing " + cls.show, init) {
320320
def extractParentOuters(parent: Type, source: Tree): (ClassSymbol, Potentials) = {
321321
val tref = parent.typeConstructor.stripAnnots.asInstanceOf[TypeRef]
322322
val parentCls = tref.classSymbol.asClass
323323
if (tref.prefix != NoPrefix)
324-
parentCls ->analyze(tref.prefix, source)._1
324+
parentCls -> analyze(tref.prefix, source)(env.withOwner(cls))._1
325325
else
326-
parentCls -> analyze(cls.enclosingClass.thisType, source)._1
326+
parentCls -> analyze(cls.enclosingClass.thisType, source)(env.withOwner(cls))._1
327327
}
328328

329329
if (cls.defTree.isEmpty)
@@ -344,5 +344,6 @@ object Summarization {
344344
val parentOuter = parents.map { parent => extractParentOuters(parent.tpe, parent) }
345345
ClassSummary(cls, parentOuter.toMap)
346346
}
347+
}
347348

348349
}

0 commit comments

Comments
 (0)