summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/icode/Members.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2006-05-19 14:55:15 +0000
committerIulian Dragos <jaguarul@gmail.com>2006-05-19 14:55:15 +0000
commitef2de304b1cafdf7bc4f0230f73ed084455fa450 (patch)
treec8d6717966d3c4c955201cc9c591648776bfc7c4 /src/compiler/scala/tools/nsc/backend/icode/Members.scala
parentf746ce36d86a08c8456f5fae04459addcdd2c62d (diff)
downloadscala-ef2de304b1cafdf7bc4f0230f73ed084455fa450.tar.gz
scala-ef2de304b1cafdf7bc4f0230f73ed084455fa450.tar.bz2
scala-ef2de304b1cafdf7bc4f0230f73ed084455fa450.zip
Fixed two try-finally bugs.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/icode/Members.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Members.scala12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Members.scala b/src/compiler/scala/tools/nsc/backend/icode/Members.scala
index 62ce35732e..20d948b6ab 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Members.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Members.scala
@@ -173,12 +173,16 @@ trait Members requires ICodes {
this
}
- def addLocal(l: Local): Unit =
- if (!(locals contains l))
- locals = l :: locals;
+ def addLocal(l: Local): Local =
+ locals find (l.==) match {
+ case Some(loc) => loc
+ case None =>
+ locals = l :: locals;
+ l
+ }
def addLocals(ls: List[Local]): Unit =
- ls foreach addLocal;
+ ls foreach { l => addLocal(l); };
def addParam(p: Local): Unit =
if (!(params contains p)) {