summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/Global.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-04-17 17:31:28 +0000
committerMartin Odersky <odersky@gmail.com>2007-04-17 17:31:28 +0000
commitdd8c18716aa6923d3b27ed4301478ba851fdfcf7 (patch)
treeaa53f8f71110118eb9a22153c614a37e7777be0c /src/compiler/scala/tools/nsc/Global.scala
parent14c88ba747393bf5a23a4d41b37059d51e8ac718 (diff)
downloadscala-dd8c18716aa6923d3b27ed4301478ba851fdfcf7.tar.gz
scala-dd8c18716aa6923d3b27ed4301478ba851fdfcf7.tar.bz2
scala-dd8c18716aa6923d3b27ed4301478ba851fdfcf7.zip
switched to explicit self ref syntax for some f...
switched to explicit self ref syntax for some files.
Diffstat (limited to 'src/compiler/scala/tools/nsc/Global.scala')
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index b78bcb9edc..811f9ae6e0 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -359,26 +359,27 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
def phaseDescriptors: List[SubComponent] = List(
analyzer.namerFactory: SubComponent, // note: types are there because otherwise
analyzer.typerFactory: SubComponent, // consistency check after refchecks would fail.
- superAccessors,
- pickler,
- refchecks,
- liftcode,
- uncurry,
- tailCalls,
- explicitOuter,
+ superAccessors, // add super accessors
+ pickler, // serializes symbol tables
+ refchecks, // perform reference and override checking, translate nested objects
+ liftcode, // generate reified trees
+ uncurry, // uncurry, translate function values to anonymous classes
+ tailCalls, // replace tail calls by jumps
+ explicitOuter, // replace C.this by explicit outer pointers, eliminate pattern matching
// checkDefined,
- erasure,
- lambdaLift,
+ erasure, // erase generic types to Java 1.4 types, add interfaces for traits
+ lambdaLift, // move nested functions to top level
// detach,
- constructors,
- flatten,
- mixer,
- cleanup,
- genicode,
- inliner,
- closureElimination,
- deadCode,
- if (forMSIL) genMSIL else genJVM,
+ constructors, // move field definitions into constructors
+ flatten, // get rid of inner classes
+ mixer, // do mixin composition
+ cleanup, // some platform-specific cleanups
+
+ genicode, // generate portable intermediate code
+ inliner, // optimization: do inlining
+ closureElimination, // optimization: get rid of uncalled closures
+ deadCode, // optimization: get rid of dead cpde
+ if (forMSIL) genMSIL else genJVM, // generate .class files
sampleTransform)
protected def insertBefore(c: SubComponent, cs: List[SubComponent], before: SubComponent): List[SubComponent] = cs match {