diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2005-11-07 14:07:13 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2005-11-07 14:07:13 +0000 |
commit | fabdc86271f694a75e685387fac87f47b6467e33 (patch) | |
tree | f11fe64347a703c5e8231172882f1fe7e6b749be | |
parent | 11bd0d61869a5cdec959c88b82d29aebadc9b567 (diff) | |
download | scala-fabdc86271f694a75e685387fac87f47b6467e33.tar.gz scala-fabdc86271f694a75e685387fac87f47b6467e33.tar.bz2 scala-fabdc86271f694a75e685387fac87f47b6467e33.zip |
Fixed synchronized blocks.
-rw-r--r-- | sources/scala/tools/nsc/backend/icode/GenICode.scala | 1 | ||||
-rw-r--r-- | sources/scala/tools/nsc/backend/jvm/GenJVM.scala | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/sources/scala/tools/nsc/backend/icode/GenICode.scala b/sources/scala/tools/nsc/backend/icode/GenICode.scala index 009b6fb8b2..a21fa72aa1 100644 --- a/sources/scala/tools/nsc/backend/icode/GenICode.scala +++ b/sources/scala/tools/nsc/backend/icode/GenICode.scala @@ -634,6 +634,7 @@ abstract class GenICode extends SubComponent { ctx.method.addLocal(monitor); ctx1 = genLoadQualifier(fun, ctx1); + ctx1.bb.emit(DUP(ANY_REF_CLASS)); ctx1.bb.emit(STORE_LOCAL(monitor, false)); ctx1.bb.emit(MONITOR_ENTER(), tree.pos); diff --git a/sources/scala/tools/nsc/backend/jvm/GenJVM.scala b/sources/scala/tools/nsc/backend/jvm/GenJVM.scala index 13a39289a2..655193dc15 100644 --- a/sources/scala/tools/nsc/backend/jvm/GenJVM.scala +++ b/sources/scala/tools/nsc/backend/jvm/GenJVM.scala @@ -877,7 +877,7 @@ abstract class GenJVM extends SubComponent { jf = jf | (if ((sym hasFlag Flags.ABSTRACT) || (sym hasFlag Flags.DEFERRED)) ACC_ABSTRACT else 0); jf = jf | (if (sym hasFlag Flags.INTERFACE) ACC_INTERFACE else 0); - jf = jf | (if (sym hasFlag Flags.FINAL) ACC_FINAL else 0); + jf = jf | (if ((sym hasFlag Flags.FINAL) && !sym.enclClass.hasFlag(Flags.INTERFACE)) ACC_FINAL else 0); jf = jf | (if (isStaticSymbol(sym)) ACC_STATIC else 0); jf } |