summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2007-02-09 22:46:09 +0000
committerIulian Dragos <jaguarul@gmail.com>2007-02-09 22:46:09 +0000
commit110a1d0cde97e928bbe8478414fb6e41e818ce81 (patch)
tree65bd9aff970f75ca5bb9d6c8516f8026d9ce0211 /src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
parentc470f8cca0fc646ba2f950302b9a2dfc515bff74 (diff)
downloadscala-110a1d0cde97e928bbe8478414fb6e41e818ce81.tar.gz
scala-110a1d0cde97e928bbe8478414fb6e41e818ce81.tar.bz2
scala-110a1d0cde97e928bbe8478414fb6e41e818ce81.zip
Fixed local variable table scoping
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala b/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
index f6bed76977..e50bc65cc4 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
@@ -510,6 +510,26 @@ trait Opcodes requires ICodes {
override def produced = 0;
}
+ /** A local variable becomes visible at this point in code.
+ * Used only for generating precise local variable tables as
+ * debugging information.
+ */
+ case class SCOPE_ENTER(lv: Local) extends Instruction {
+ override def toString(): String = "SCOPE_ENTER " + lv
+ override def consumed = 0
+ override def produced = 0
+ }
+
+ /** A local variable leaves its scope at this point in code.
+ * Used only for generating precise local variable tables as
+ * debugging information.
+ */
+ case class SCOPE_EXIT(lv: Local) extends Instruction {
+ override def toString(): String = "SCOPE_EXIT " + lv
+ override def consumed = 0
+ override def produced = 0
+ }
+
/** This class represents a method invocation style. */
sealed abstract class InvokeStyle {