diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2006-05-19 14:55:15 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2006-05-19 14:55:15 +0000 |
commit | ef2de304b1cafdf7bc4f0230f73ed084455fa450 (patch) | |
tree | c8d6717966d3c4c955201cc9c591648776bfc7c4 /src/compiler/scala/tools/nsc/backend/icode/Members.scala | |
parent | f746ce36d86a08c8456f5fae04459addcdd2c62d (diff) | |
download | scala-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.scala | 12 |
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)) { |