aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/SymbolLoaders.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-04-27 21:03:09 +0200
committerMartin Odersky <odersky@gmail.com>2015-04-28 12:07:28 +0200
commitdad799912e80377310d6f2408a78344dc2112d8b (patch)
tree7b505142f361711b516817714786cd5364d8d8fb /src/dotty/tools/dotc/core/SymbolLoaders.scala
parent36dbbfaa3a01ab9bc8f1f52132aa6524410013c8 (diff)
downloaddotty-dad799912e80377310d6f2408a78344dc2112d8b.tar.gz
dotty-dad799912e80377310d6f2408a78344dc2112d8b.tar.bz2
dotty-dad799912e80377310d6f2408a78344dc2112d8b.zip
ClassfileParser and SymbolLoader should return embedded unpicklers
To be able able to post process pickled TASTY tree we let ClassfileParser#run return any embedded unpickler. The unpickler is further propagated by a new method ClassFileLoader#load in SymbolLoaders.
Diffstat (limited to 'src/dotty/tools/dotc/core/SymbolLoaders.scala')
-rw-r--r--src/dotty/tools/dotc/core/SymbolLoaders.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/SymbolLoaders.scala b/src/dotty/tools/dotc/core/SymbolLoaders.scala
index 0e8c9a41d..296c4ad1e 100644
--- a/src/dotty/tools/dotc/core/SymbolLoaders.scala
+++ b/src/dotty/tools/dotc/core/SymbolLoaders.scala
@@ -251,7 +251,10 @@ class ClassfileLoader(val classfile: AbstractFile) extends SymbolLoader {
else (rootDenot, linkedDenot)
}
- def doComplete(root: SymDenotation)(implicit ctx: Context): Unit = {
+ override def doComplete(root: SymDenotation)(implicit ctx: Context): Unit =
+ load(root)
+
+ def load(root: SymDenotation)(implicit ctx: Context): Option[ClassfileParser.Embedded] = {
val (classRoot, moduleRoot) = rootDenots(root.asClass)
new ClassfileParser(classfile, classRoot, moduleRoot)(ctx).run()
}