summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2007-03-19 17:46:30 +0000
committerIulian Dragos <jaguarul@gmail.com>2007-03-19 17:46:30 +0000
commita694dd57cc8e0dadd3a1b7ec30a18dc4739c16f0 (patch)
treed150c43d9b6be5c85f71f2969a3c2dcb15d7c4e9 /src
parenta600ff64fbb6a5397859496779177d6afdcc6e8b (diff)
downloadscala-a694dd57cc8e0dadd3a1b7ec30a18dc4739c16f0.tar.gz
scala-a694dd57cc8e0dadd3a1b7ec30a18dc4739c16f0.tar.bz2
scala-a694dd57cc8e0dadd3a1b7ec30a18dc4739c16f0.zip
Catch tail calls made from tail boolean or.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/TailCalls.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/TailCalls.scala b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
index 1fc2f43e3e..02735d0609 100644
--- a/src/compiler/scala/tools/nsc/transform/TailCalls.scala
+++ b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
@@ -236,7 +236,9 @@ abstract class TailCalls extends Transform
case TypeApply(fun, args) =>
super.transform(tree)
-// throw new RuntimeException("Lonely TypeApply found -- we can only handle them inside Apply(TypeApply()): " + tree + " at: " + unit);
+
+ case Apply(fun, args) if fun.symbol == definitions.Boolean_or =>
+ copy.Apply(tree, fun, transformTrees(args));
case Apply(fun, args) =>
if (ctx.currentMethod.isFinal &&