summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/UnCurry.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-06-14 16:35:21 +0000
committerMartin Odersky <odersky@gmail.com>2006-06-14 16:35:21 +0000
commit7b6693a2a29afdcd612742d36f359893a2944c82 (patch)
tree7c20f8657cb08a56ac5f7c130505ae629bbb8ec2 /src/compiler/scala/tools/nsc/transform/UnCurry.scala
parentbae76d1be3393da5819d0adfe51afcaf95510998 (diff)
downloadscala-7b6693a2a29afdcd612742d36f359893a2944c82.tar.gz
scala-7b6693a2a29afdcd612742d36f359893a2944c82.tar.bz2
scala-7b6693a2a29afdcd612742d36f359893a2944c82.zip
Fixed problems when compiling man1: too many cl...
Fixed problems when compiling man1: too many classes + crash when compiled separately.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/UnCurry.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/UnCurry.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/UnCurry.scala b/src/compiler/scala/tools/nsc/transform/UnCurry.scala
index 3a87b7c25c..6e04ccfd11 100644
--- a/src/compiler/scala/tools/nsc/transform/UnCurry.scala
+++ b/src/compiler/scala/tools/nsc/transform/UnCurry.scala
@@ -345,6 +345,12 @@ abstract class UnCurry extends InfoTransform {
mainTransform(new TreeSubstituter(vparams map (.symbol), args).transform(body))
}
+ case Apply(Select(Function(vparams, body), nme.apply), args) =>
+ // perform beta-reduction; this helps keep view applications small
+ withNeedLift(true) {
+ mainTransform(new TreeSubstituter(vparams map (.symbol), args).transform(body))
+ }
+
case Apply(fn, args) =>
if (settings.noassertions.value &&
fn.symbol != null &&