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:
parent
3af67bab1c
commit
e2d92fb8b9
|
@ -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 ""
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue