summaryrefslogtreecommitdiff
path: root/sources/meta/scalac/Phase.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-04-14 14:26:02 +0000
committerpaltherr <paltherr@epfl.ch>2003-04-14 14:26:02 +0000
commite38818336a932006340aca4bb3579e875b291689 (patch)
treea50d7eaba16a412a0cbe294a6d1a501cbc58a9a4 /sources/meta/scalac/Phase.java
parent0aa5643808efec65ae5fccbd40fc97bebf0de526 (diff)
downloadscala-e38818336a932006340aca4bb3579e875b291689.tar.gz
scala-e38818336a932006340aca4bb3579e875b291689.tar.bz2
scala-e38818336a932006340aca4bb3579e875b291689.zip
- Added Phase.java
- Added Tree.java - Added TreeField.java - Added TreeKind.java - Added TreeNode.java - Added TreeSymbol.java - Added TreeType.java
Diffstat (limited to 'sources/meta/scalac/Phase.java')
-rw-r--r--sources/meta/scalac/Phase.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/sources/meta/scalac/Phase.java b/sources/meta/scalac/Phase.java
new file mode 100644
index 0000000000..eeeb32aa58
--- /dev/null
+++ b/sources/meta/scalac/Phase.java
@@ -0,0 +1,45 @@
+/* ____ ____ ____ ____ ______ *\
+** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
+** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
+** /_____/\____/\___/\____/____/ **
+\* */
+
+// $Id$
+
+package meta.scalac;
+
+/** A representation for Scala compiler phases. */
+public class Phase {
+
+ //########################################################################
+ // Public Constants
+
+ public static final Phase
+ START = new Phase("start", null),
+ PARSER = new Phase("parser", "PARSER"),
+ ANALYZER = new Phase("analyzer", "ANALYZER"),
+ DESUGARIZER = new Phase("desugarizer", "ANALYZER"),
+ UNCURRY = new Phase("uncurry", "UNCURRY"),
+ LAMBDALIFT = new Phase("lambdalift", "LAMBDALIFT"),
+ TRANSMATCH = new Phase("transmatch", "TRANSMATCH"),
+ OPTIMIZER = new Phase("optimizer", null), // !!! "OPTIMIZE"
+ ERASURE = new Phase("erasure", "ERASURE"),
+ UNKNOWN = new Phase("? !!!", null),
+ END = new Phase("-", null);
+
+ //########################################################################
+ // Public Fields
+
+ public final String name;
+ public final String constant;
+
+ //########################################################################
+ // Public Constructors
+
+ public Phase(String name, String constant) {
+ this.name = name;
+ this.constant = constant;
+ }
+
+ //########################################################################
+}