summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2009-03-03 13:17:47 +0000
committermichelou <michelou@epfl.ch>2009-03-03 13:17:47 +0000
commit51c487b1269daa98bcf114dbab8fd5f5f03d4d3f (patch)
tree1c122e861406bdc0a45bca42eab5ab90881c624f /src/compiler
parent77be5533c697b8c617a2dba3f5a27312f0350c75 (diff)
downloadscala-51c487b1269daa98bcf114dbab8fd5f5f03d4d3f.tar.gz
scala-51c487b1269daa98bcf114dbab8fd5f5f03d4d3f.tar.bz2
scala-51c487b1269daa98bcf114dbab8fd5f5f03d4d3f.zip
updated detach phase
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index 31f3c03963..218f991d56 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -365,6 +365,13 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
val runsRightAfter = None
} with LambdaLift
+ // phaseName = "detach"
+// object detach extends {
+// val global: Global.this.type = Global.this
+// val runsAfter = List("lambdalift")
+// val runsRightAfter = Some("lambdalift")
+// } with Detach
+
// phaseName = "constructors"
object constructors extends {
val global: Global.this.type = Global.this
@@ -379,10 +386,6 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
val runsRightAfter = None
} with Flatten
-// object detach extends {
-// val global: Global.this.type = Global.this
-// } with Detach
-
// phaseName = "mixin"
object mixer extends {
val global: Global.this.type = Global.this
@@ -511,6 +514,8 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
phasesSet += erasure // erase generic types to Java 1.4 types, add interfaces for traits
phasesSet += lazyVals //
phasesSet += lambdaLift // move nested functions to top level
+// if (forJVM && settings.Xdetach.value)
+// phasesSet += detach // convert detached closures
phasesSet += constructors // move field definitions into constructors
phasesSet += mixer // do mixin composition
phasesSet += cleanup // some platform-specific cleanups