summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/Checkers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Checkers.scala11
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)
}