summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2009-07-30 14:53:36 +0000
committerIulian Dragos <jaguarul@gmail.com>2009-07-30 14:53:36 +0000
commit8f1cf06e016b278900d20880ed3aed93cc7342b8 (patch)
treeabfc3e1c8ae39a919f15d3af66e40e059716610e
parentb9bec1c70879297e41e9c0d2aafdf36c7e571c96 (diff)
downloadscala-8f1cf06e016b278900d20880ed3aed93cc7342b8.tar.gz
scala-8f1cf06e016b278900d20880ed3aed93cc7342b8.tar.bz2
scala-8f1cf06e016b278900d20880ed3aed93cc7342b8.zip
Fixed problem when compileLate was calling genjvm.
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index cf9be28042..9097b8b6b1 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -38,8 +38,9 @@ abstract class GenJVM extends SubComponent {
/** JVM code generation phase
*/
- class JvmPhase(prev: Phase) extends StdPhase(prev) {
+ class JvmPhase(prev: Phase) extends ICodePhase(prev) {
+ def name = phaseName
override def erasedTypes = true
object codeGenerator extends BytecodeGenerator
@@ -48,11 +49,11 @@ abstract class GenJVM extends SubComponent {
if (settings.Xdce.value)
icodes.classes.retain { (sym: Symbol, cls: IClass) => !inliner.isClosureClass(sym) || deadCode.liveClosures(sym) }
- classes.values foreach codeGenerator.genClass
+ classes.values foreach apply
}
- override def apply(unit: CompilationUnit) {
- abort("JVM works on icode classes, not on compilation units!")
+ override def apply(cls: IClass) {
+ codeGenerator.genClass(cls)
}
}