diff options
author | Martin Odersky <odersky@gmail.com> | 2017-04-09 19:06:28 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2017-04-09 19:06:48 +0200 |
commit | 6e8ca801e53abdac645a19a3643c42558bce262a (patch) | |
tree | 0597debaf3322e8d4077006900ceae9a7e1ab950 /compiler/src/dotty/tools/dotc/transform | |
parent | b8bb34dd0ea68cfed09ed54604f659a787037d2d (diff) | |
download | dotty-6e8ca801e53abdac645a19a3643c42558bce262a.tar.gz dotty-6e8ca801e53abdac645a19a3643c42558bce262a.tar.bz2 dotty-6e8ca801e53abdac645a19a3643c42558bce262a.zip |
Fix #2188: Do cbn transform also on Selects
These can arise as a result of an explicit outer transform.
Diffstat (limited to 'compiler/src/dotty/tools/dotc/transform')
-rw-r--r-- | compiler/src/dotty/tools/dotc/transform/ElimByName.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/transform/ElimByName.scala b/compiler/src/dotty/tools/dotc/transform/ElimByName.scala index 839552799..06c489029 100644 --- a/compiler/src/dotty/tools/dotc/transform/ElimByName.scala +++ b/compiler/src/dotty/tools/dotc/transform/ElimByName.scala @@ -112,6 +112,9 @@ class ElimByName extends MiniPhaseTransform with InfoTransformer { thisTransform override def transformIdent(tree: Ident)(implicit ctx: Context, info: TransformerInfo): Tree = applyIfFunction(tree, tree) + override def transformSelect(tree: Select)(implicit ctx: Context, info: TransformerInfo): Tree = + applyIfFunction(tree, tree) + override def transformTypeApply(tree: TypeApply)(implicit ctx: Context, info: TransformerInfo): Tree = tree match { case TypeApply(Select(_, nme.asInstanceOf_), arg :: Nil) => // tree might be of form e.asInstanceOf[x.type] where x becomes a function. |