aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-07-19 12:36:26 +0200
committerMartin Odersky <odersky@gmail.com>2015-09-18 18:07:27 +0200
commit3be3aa3bc8c8e37bdb1f1495e40cfe357f678f28 (patch)
tree5b85e36ff5b0bedbd20cb76c59b343ce47b22e02 /src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
parentb12edd1959450f5473cef095821b86400b959e8d (diff)
downloaddotty-3be3aa3bc8c8e37bdb1f1495e40cfe357f678f28.tar.gz
dotty-3be3aa3bc8c8e37bdb1f1495e40cfe357f678f28.tar.bz2
dotty-3be3aa3bc8c8e37bdb1f1495e40cfe357f678f28.zip
Use EtaExpand instead of LambdaAbstract when unpickling typerefs
When unpickling from Scala2 TypeRefs with arguments which do not refer to classes, use EtaExpand instead of LambdaAbstract. Lambda Abstrct is wrong since it drops type arguments.
Diffstat (limited to 'src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
index b0f31d763..c0b5ab64b 100644
--- a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
+++ b/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala
@@ -674,11 +674,7 @@ 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 if (args.isEmpty && sym.typeParams.nonEmpty) tycon.EtaExpand
else tycon.appliedTo(args)
case TYPEBOUNDStpe =>
TypeBounds(readTypeRef(), readTypeRef())