diff options
author | Martin Odersky <odersky@gmail.com> | 2013-07-27 19:48:30 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-07-27 19:48:30 +0200 |
commit | 60b3469ac70052b762cc7bf0d36bf2ec37e8e6dc (patch) | |
tree | 2aaf9fff135e0ac94a3a44457d3523eee02c01f7 /src/dotty/tools/dotc/core/pickling | |
parent | cf65e84a6da2a151286a36297c057b72545960c8 (diff) | |
download | dotty-60b3469ac70052b762cc7bf0d36bf2ec37e8e6dc.tar.gz dotty-60b3469ac70052b762cc7bf0d36bf2ec37e8e6dc.tar.bz2 dotty-60b3469ac70052b762cc7bf0d36bf2ec37e8e6dc.zip |
Redesign of trees.
1) Trees are now contravariant.
2) All creation ops, transformers, copiers are pushed into Instance.
3) Still to do: integrate TreeMappers and tpd.TreeTransformers.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/UnPickler.scala | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala index 133db4268..a488e0e18 100644 --- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala +++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala @@ -10,7 +10,7 @@ import java.lang.Double.longBitsToDouble import Contexts._, Symbols._, Types._, Scopes._, SymDenotations._, Names._, NameOps._ import StdNames._, Denotations._, NameOps._, Flags._, Constants._, Annotations._ import util.Positions._ -import ast.Trees, ast.tpd._ +import ast.Trees, ast.tpd._, ast.untpd import printing.Texts._ import printing.Printer import io.AbstractFile @@ -938,9 +938,9 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: val selectors = until(end, () => { val fromName = readNameRef() val toName = readNameRef() - val from = Trees.Ident(fromName) - val to = Trees.Ident(toName) - if (toName.isEmpty) from else Trees.Pair(from, Trees.Ident(toName)) + val from = untpd.Ident(fromName) + val to = untpd.Ident(toName) + if (toName.isEmpty) from else untpd.Pair(from, untpd.Ident(toName)) }) Import(expr, selectors) @@ -950,7 +950,7 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: val parents = times(readNat(), readTreeRef) val self = readValDefRef() val body = until(end, readTreeRef) - Trees.Template[Type](???, parents, self, body) // !!! TODO: pull out primary constructor + untpd.Template(???, parents, self, body) // !!! TODO: pull out primary constructor .withType(refType(symbol)) case BLOCKtree => @@ -992,7 +992,7 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: val vparams = until(end, readValDefRef) val applyType = MethodType(vparams map (_.name), vparams map (_.tpt.tpe), body.tpe) val applyMeth = cctx.newSymbol(symbol.owner, nme.apply, Method, applyType) - Closure(applyMeth, Function.const(body.changeOwner(symbol, applyMeth)), tpe) + Closure(applyMeth, Function.const(body.changeOwner(symbol, applyMeth)) _) case ASSIGNtree => val lhs = readTreeRef() |