diff options
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/Checkers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/Checkers.scala | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala index 46b5066e63..dc435bd2e9 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala @@ -67,10 +67,11 @@ abstract class Checkers { val STRING = REFERENCE(definitions.StringClass) val SCALA_ALL = REFERENCE(definitions.NothingClass) val SCALA_ALL_REF = REFERENCE(definitions.NullClass) -// val CASE_CLASS = REFERENCE(definitions.getClass("scala.CaseClass")) + val THROWABLE = REFERENCE(definitions.ThrowableClass) def checkICodes: Unit = { - Console.println("[[consistency check at beginning of phase " + globalPhase.name + "]]") + if (settings.verbose.value) + println("[[consistency check at the beginning of phase " + globalPhase.name + "]]") classes.values foreach check } @@ -554,6 +555,12 @@ abstract class Checkers { stack.pop stack.push(kind) + case LOAD_EXCEPTION() => + stack.push(THROWABLE) + + case SCOPE_ENTER(_) | SCOPE_EXIT(_) => + () + case _ => abort("Unknown instruction: " + instr) } |