diff options
author | Martin Odersky <odersky@gmail.com> | 2013-03-06 22:42:15 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-03-06 22:42:15 +0100 |
commit | 22fc38c4e062d299dc28fc429efdba4521db3651 (patch) | |
tree | e97873cacc8abbead4028ea7d2bfefb1063ec6bf /src/dotty/tools/dotc/core/pickling/UnPickler.scala | |
parent | 757bf2ecc0a5dc083f21f1dc6c9d22c3795f3790 (diff) | |
download | dotty-22fc38c4e062d299dc28fc429efdba4521db3651.tar.gz dotty-22fc38c4e062d299dc28fc429efdba4521db3651.tar.bz2 dotty-22fc38c4e062d299dc28fc429efdba4521db3651.zip |
Finished polishing of Types and TypeOps.
Manjor change is that splitArgs got eliminated and replaced by an optimized version of typeArgs.
Diffstat (limited to 'src/dotty/tools/dotc/core/pickling/UnPickler.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/UnPickler.scala | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/UnPickler.scala b/src/dotty/tools/dotc/core/pickling/UnPickler.scala index dfb6be7d6..b036a8170 100644 --- a/src/dotty/tools/dotc/core/pickling/UnPickler.scala +++ b/src/dotty/tools/dotc/core/pickling/UnPickler.scala @@ -36,8 +36,9 @@ object UnPickler { */ def arrayToRepeated(tp: Type)(implicit ctx: Context): Type = tp match { case tp @ MethodType(paramNames, paramTypes) => - val (tycon, elemtp0 :: Nil) = paramTypes.last.splitArgs - assert(tycon.typeSymbol == defn.ArrayClass, tp) + val lastArg = paramTypes.last + assert(lastArg.typeSymbol == defn.ArrayClass) + val elemtp0 :: Nil = lastArg.typeArgs val elemtp = elemtp0 match { case AndType(t1, t2) if t1.typeSymbol.isAbstractType && t2.typeSymbol == defn.ObjectClass => t1 // drop intersection with Object for abstract types in varargs. UnCurry can handle them. |