summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/list/compiler.lst3
-rw-r--r--sources/scalac/transformer/TailCallPhase.java36
2 files changed, 37 insertions, 2 deletions
diff --git a/config/list/compiler.lst b/config/list/compiler.lst
index 1c972ff140..c5e3315f6f 100644
--- a/config/list/compiler.lst
+++ b/config/list/compiler.lst
@@ -100,12 +100,11 @@ transformer/ExpandMixinsPhase.java
transformer/LambdaLift.java
transformer/LambdaLiftPhase.java
transformer/OwnerTransformer.java
+transformer/TailCall.java
transformer/TransMatch.java
transformer/TransMatchPhase.java
transformer/UnCurry.java
transformer/UnCurryPhase.java
-transformer/TailCall.java
-transformer/TailCallPhase.java
transformer/matching/AlgebraicMatcher.java
transformer/matching/Autom2Scala.java
diff --git a/sources/scalac/transformer/TailCallPhase.java b/sources/scalac/transformer/TailCallPhase.java
new file mode 100644
index 0000000000..487f40743b
--- /dev/null
+++ b/sources/scalac/transformer/TailCallPhase.java
@@ -0,0 +1,36 @@
+/* ____ ____ ____ ____ ______ *\
+** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
+** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
+** /_____/\____/\___/\____/____/ **
+\* */
+
+// $Id$
+
+package scalac.transformer;
+
+import scalac.Global;
+import scalac.Phase;
+import scalac.PhaseDescriptor;
+import scalac.Unit;
+
+public class TailCallPhase extends Phase {
+
+ //########################################################################
+ // Public Constructors
+
+ /** Initializes this instance. */
+ public TailCallPhase(Global global, PhaseDescriptor descriptor) {
+ super(global, descriptor);
+ }
+
+ //########################################################################
+ // Public Methods
+
+ /** Applies this phase to the given compilation units. */
+ public void apply(Unit[] units) {
+ for (int i = 0; i < units.length; i++)
+ new TailCall(global, descriptor).apply(units[i]);
+ }
+
+
+}