summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2007-03-28 12:49:27 +0000
committerIulian Dragos <jaguarul@gmail.com>2007-03-28 12:49:27 +0000
commitbccb84e1e45009b8e38dc3d1d8ec87ef030a907d (patch)
tree98ef5b6a8114c6b9d430335845b941e1eb5deb71 /src
parent43185f20f4c71d9dce678f5d2c8253884fd61727 (diff)
downloadscala-bccb84e1e45009b8e38dc3d1d8ec87ef030a907d.tar.gz
scala-bccb84e1e45009b8e38dc3d1d8ec87ef030a907d.tar.bz2
scala-bccb84e1e45009b8e38dc3d1d8ec87ef030a907d.zip
Fixed tail call elimination for calls in the rh...
Fixed tail call elimination for calls in the rhs of boolean &&.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/TailCalls.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/TailCalls.scala b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
index a6add103cf..2302a41514 100644
--- a/src/compiler/scala/tools/nsc/transform/TailCalls.scala
+++ b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
@@ -248,7 +248,8 @@ abstract class TailCalls extends Transform
case TypeApply(fun, args) =>
super.transform(tree)
- case Apply(fun, args) if fun.symbol == definitions.Boolean_or =>
+ case Apply(fun, args) if (fun.symbol == definitions.Boolean_or ||
+ fun.symbol == definitions.Boolean_and) =>
copy.Apply(tree, fun, transformTrees(args))
case Apply(fun, args) =>