Skip to content

Commit b518bbb

Browse files
committed
Do not force trees when linking
1 parent 677a221 commit b518bbb

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

compiler/src/dotty/tools/dotc/CompilationUnit.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ class CompilationUnit(val source: SourceFile) {
2727
object CompilationUnit {
2828

2929
/** Make a compilation unit for top class `clsd` with the contends of the `unpickled` */
30-
def mkCompilationUnit(clsd: ClassDenotation, unpickled: Tree)(implicit ctx: Context): CompilationUnit = {
30+
def mkCompilationUnit(clsd: ClassDenotation, unpickled: Tree, forceTrees: Boolean)(implicit ctx: Context): CompilationUnit = {
3131
val unit1 = new CompilationUnit(new SourceFile(clsd.symbol.sourceFile, Seq()))
3232
unit1.tpdTree = unpickled
33-
force.traverse(unit1.tpdTree)
33+
if (forceTrees)
34+
force.traverse(unit1.tpdTree)
3435
unit1
3536
}
3637

compiler/src/dotty/tools/dotc/FromTasty.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ object FromTasty extends Driver {
8181
case info: ClassfileLoader =>
8282
info.load(clsd)
8383
val unpickled = clsd.symbol.asClass.tree
84-
if (unpickled != null) CompilationUnit.mkCompilationUnit(clsd, unpickled)
84+
if (unpickled != null) CompilationUnit.mkCompilationUnit(clsd, unpickled, forceTrees = true)
8585
else cannotUnpickle(s"its class file ${info.classfile} does not have a TASTY attribute")
8686
case info =>
8787
cannotUnpickle(s"its info of type ${info.getClass} is not a ClassfileLoader")

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ object LinkAll {
7171
if (tree.isEmpty) None
7272
else {
7373
ctx.log("Loading compilation unit for: " + clsd)
74-
Some(CompilationUnit.mkCompilationUnit(clsd, tree))
74+
Some(CompilationUnit.mkCompilationUnit(clsd, tree, forceTrees = false))
7575
}
7676
}
7777

0 commit comments

Comments
 (0)