aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-07-15 10:04:11 +0200
committerMartin Odersky <odersky@gmail.com>2015-09-18 18:07:26 +0200
commit525e0ac7bcb35eb78fedd4a943ef07106752f9fb (patch)
treee690834e22eec75d43b3a1a58604cce139002e95 /src
parent60b231ce30a6eb0e99d031bdbcee3032d3ae5f3b (diff)
downloaddotty-525e0ac7bcb35eb78fedd4a943ef07106752f9fb.tar.gz
dotty-525e0ac7bcb35eb78fedd4a943ef07106752f9fb.tar.bz2
dotty-525e0ac7bcb35eb78fedd4a943ef07106752f9fb.zip
Lambda abstract all TypeRefs when unpickling.
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
index ce03d7c6d..1420237de 100644
--- a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
+++ b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
@@ -674,6 +674,11 @@ class Scala2Unpickler(bytes: Array[Byte], classRoot: ClassDenotation, moduleClas
else TypeRef(pre, sym.name.asTypeName)
val args = until(end, readTypeRef)
if (sym == defn.ByNameParamClass2x) ExprType(args.head)
+ else if (args.isEmpty && sym.typeParams.nonEmpty) {
+ val res = tycon.LambdaAbstract(sym.typeParams)
+ println(s"lambda abstract $tycon")
+ res
+ }
else tycon.appliedTo(args)
case TYPEBOUNDStpe =>
TypeBounds(readTypeRef(), readTypeRef())