diff options
author | Martin Odersky <odersky@gmail.com> | 2014-09-06 08:47:08 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-09-06 08:47:08 +0200 |
commit | e1040935cbcc1d767933c38a141372538ef63ac2 (patch) | |
tree | d2f05fa2319fe80a76f660e043d42a06d5e9ba8a /src/dotty/tools/dotc/transform/Erasure.scala | |
parent | 44bdec1a44db7ac880183e0c70b5f5668048961e (diff) | |
download | dotty-e1040935cbcc1d767933c38a141372538ef63ac2.tar.gz dotty-e1040935cbcc1d767933c38a141372538ef63ac2.tar.bz2 dotty-e1040935cbcc1d767933c38a141372538ef63ac2.zip |
Better tests and more fixes for ExplicitOuter
Now also testing that after erasure no outer this exists. Tests suit now includes
calls to local classes and methods which need an outer pointer, as well as passing
an outer pointer along a secondary constructor.
Diffstat (limited to 'src/dotty/tools/dotc/transform/Erasure.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/Erasure.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/Erasure.scala b/src/dotty/tools/dotc/transform/Erasure.scala index 82acb482d..fe5e516bf 100644 --- a/src/dotty/tools/dotc/transform/Erasure.scala +++ b/src/dotty/tools/dotc/transform/Erasure.scala @@ -309,7 +309,7 @@ object Erasure { case fun1 => fun1.tpe.widen match { case mt: MethodType => - val outers = outer.args(fun1) map untpd.TypedSplice + val outers = outer.args(fun.asInstanceOf[tpd.Tree]) // can't use fun1 here because its type is already erased val args1 = (outers ::: args ++ protoArgs(pt)).zipWithConserve(mt.paramTypes)(typedExpr) untpd.cpy.Apply(tree)(fun1, args1) withType mt.resultType case _ => |