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


git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25570 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
This commit is contained in:
grek 2011-08-26 14:37:21 +00:00
parent 3af67bab1c
commit e2d92fb8b9
2 changed files with 1 additions and 2 deletions

View File

@ -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 ""

View File

@ -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