diff options
author | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2011-08-26 14:37:21 +0000 |
---|---|---|
committer | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2011-08-26 14:37:21 +0000 |
commit | 0a9d3e00a493b86afb115bf82c904311e5b09465 (patch) | |
tree | 0541e7a80f61ba81bbb8ddd4295462216df97fc7 /src/compiler | |
parent | 2fdbabe0a26e652e05728c55f88d34beb0a9be98 (diff) | |
download | scala-0a9d3e00a493b86afb115bf82c904311e5b09465.tar.gz scala-0a9d3e00a493b86afb115bf82c904311e5b09465.tar.bz2 scala-0a9d3e00a493b86afb115bf82c904311e5b09465.zip |
Always include `liftcode` phase in a compiler run.
It turns out that `liftcode` phase must be always
executed or other phases will fail. Specifically,
at the moment `explicitouter` seems to depend on
`liftcode`. One can observe compiler crash by
compiling scala/Array.scala file without `liftcode`
included. At `explicitouter` phase compiler will
crash with assertion error saying it cannot
lift some code.
Review by odersky
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/Global.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/JavaPlatform.scala | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala index b502da91fc..275dd3a046 100644 --- a/src/compiler/scala/tools/nsc/Global.scala +++ b/src/compiler/scala/tools/nsc/Global.scala @@ -598,6 +598,7 @@ class Global(var currentSettings: Settings, var reporter: Reporter) extends Symb superAccessors -> "add super accessors in traits and nested classes", pickler -> "serialize symbol tables", refChecks -> "reference/override checking, translate nested objects", + liftcode -> "reify trees", uncurry -> "uncurry, translate function values to anonymous classes", tailCalls -> "replace tail calls by jumps", specializeTypes -> "@specialized-driven class and method specialization", @@ -622,7 +623,6 @@ class Global(var currentSettings: Settings, var reporter: Reporter) extends Symb // and attractive -Xshow-phases output is unlikely if the descs span 20 files anyway. private val otherPhaseDescriptions = Map( "flatten" -> "eliminate inner classes", - "liftcode" -> "reify trees", "jvm" -> "generate JVM bytecode" ) withDefaultValue "" diff --git a/src/compiler/scala/tools/nsc/backend/JavaPlatform.scala b/src/compiler/scala/tools/nsc/backend/JavaPlatform.scala index 522b1ddd39..9e83f2fbd7 100644 --- a/src/compiler/scala/tools/nsc/backend/JavaPlatform.scala +++ b/src/compiler/scala/tools/nsc/backend/JavaPlatform.scala @@ -24,7 +24,6 @@ trait JavaPlatform extends Platform[AbstractFile] { def platformPhases = List( flatten, // get rid of inner classes - liftcode, // generate reified trees genJVM // generate .class files ) ++ depAnalysisPhase |