summaryrefslogtreecommitdiff
path: root/sources/scala/tools/nsc/transform/Transform.scala
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scala/tools/nsc/transform/Transform.scala')
-rw-r--r--sources/scala/tools/nsc/transform/Transform.scala24
1 files changed, 24 insertions, 0 deletions
diff --git a/sources/scala/tools/nsc/transform/Transform.scala b/sources/scala/tools/nsc/transform/Transform.scala
new file mode 100644
index 0000000000..49b46d92f5
--- /dev/null
+++ b/sources/scala/tools/nsc/transform/Transform.scala
@@ -0,0 +1,24 @@
+/* NSC -- new scala compiler
+ * Copyright 2005 LAMP/EPFL
+ * @author
+ */
+// $Id$
+package scala.tools.nsc.transform;
+
+/** A sample transform.
+ */
+abstract class Transform {
+
+ val global: Global;
+
+ protected val phaseName: String;
+ protected def newTransformer: global.Transformer;
+
+ class Phase(prev: scala.tools.nsc.Phase) extends StdPhase(prev) {
+ val global: Transform.this.global.type = Transform.this.global;
+ def name: String = phaseName;
+ def apply(unit: global.CompilationUnit): unit =
+ unit.body = newTransformer.transform(unit.body);
+ }
+}
+