diff options
author | Martin Odersky <odersky@gmail.com> | 2013-04-09 11:39:41 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-04-09 11:39:41 +0200 |
commit | 8d445b89b1bae849540cb4da200f64c92e746bbf (patch) | |
tree | dcaecc813d047aaf1fdd3bfb84d07e97a7fdb467 /src/dotty/tools/dotc/core/pickling/UnPickler.scala | |
parent | 0820a6e44987d69c2ad297330653e49e04e84554 (diff) | |
download | dotty-8d445b89b1bae849540cb4da200f64c92e746bbf.tar.gz dotty-8d445b89b1bae849540cb4da200f64c92e746bbf.tar.bz2 dotty-8d445b89b1bae849540cb4da200f64c92e746bbf.zip |
Unpickling now removes ExprTypes nested in PolyTypes.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/UnPickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/UnPickler.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala index 02fc079ef..ae1e9de36 100644 --- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala +++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala @@ -675,7 +675,11 @@ class UnPickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClassRoot: case POLYtpe => val restpe = readTypeRef() val typeParams = until(end, readSymbolRef) - if (typeParams.nonEmpty) TempPolyType(typeParams, restpe) + def deExpr(tp: Type) = tp match { + case ExprType(restpe) => restpe + case tp => tp + } + if (typeParams.nonEmpty) TempPolyType(typeParams, deExpr(restpe)) else ExprType(restpe) case EXISTENTIALtpe => val restpe = readTypeRef() |