aboutsummaryrefslogtreecommitdiff
path: root/src/dotty
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty')
-rw-r--r--src/dotty/tools/dotc/FromTasty.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/FromTasty.scala b/src/dotty/tools/dotc/FromTasty.scala
index 3d3ae01c1..37f6933bf 100644
--- a/src/dotty/tools/dotc/FromTasty.scala
+++ b/src/dotty/tools/dotc/FromTasty.scala
@@ -15,6 +15,7 @@ import util._
import Decorators._
import dotty.tools.dotc.transform.Pickler
import pickling.DottyUnpickler
+import ast.tpd._
/** Compiler for TASTY files.
* Usage:
@@ -57,6 +58,10 @@ object FromTasty extends Driver {
override def toString = s"class file $className"
}
+ object force extends TreeTraverser {
+ def traverse(tree: Tree)(implicit ctx: Context): Unit = traverseChildren(tree)
+ }
+
class ReadTastyTreesFromClasses extends FrontEnd {
override def runOn(units: List[CompilationUnit])(implicit ctx: Context): List[CompilationUnit] =
units.map(readTASTY)
@@ -80,6 +85,7 @@ object FromTasty extends Driver {
val (List(unpickled), source) = unpickler.body(readPositions = true)
val unit1 = new CompilationUnit(source)
unit1.tpdTree = unpickled
+ force.traverse(unit1.tpdTree)
unit1
case _ =>
cannotUnpickle(s"its class file ${info.classfile} does not have a TASTY attribute")