diff options
author | Martin Odersky <odersky@gmail.com> | 2015-07-19 12:36:26 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-09-18 18:07:27 +0200 |
commit | 3be3aa3bc8c8e37bdb1f1495e40cfe357f678f28 (patch) | |
tree | 5b85e36ff5b0bedbd20cb76c59b343ce47b22e02 /src/dotty/tools/dotc | |
parent | b12edd1959450f5473cef095821b86400b959e8d (diff) | |
download | dotty-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')
-rw-r--r-- | src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala | 6 |
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()) |