diff options
author | Paul Phillips <paulp@improving.org> | 2012-08-17 17:50:05 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-08-17 17:50:05 -0700 |
commit | af19824ab993e5a4f9d09fe76793dbc7795432cf (patch) | |
tree | 7c999893b6dfbf3eaba95aa4545de9c7d507decb /src | |
parent | 72fc7567187410ee704473ab9aca00805c64b6f3 (diff) | |
parent | 05407cdf1929553af8fdab329eb206c753941a42 (diff) | |
download | scala-af19824ab993e5a4f9d09fe76793dbc7795432cf.tar.gz scala-af19824ab993e5a4f9d09fe76793dbc7795432cf.tar.bz2 scala-af19824ab993e5a4f9d09fe76793dbc7795432cf.zip |
Merge pull request #1154 from hubertp/2.10.x-issue/5676-fix
Use rawflags for checking FINAL flag.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala | 2 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala index 87a59128fe..6541a1325c 100644 --- a/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala +++ b/src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala @@ -277,7 +277,7 @@ abstract class GenASM extends SubComponent with BytecodeWriters { // Nested objects won't receive ACC_FINAL in order to allow for their overriding. val finalFlag = ( - (sym.hasFlag(Flags.FINAL) || isTopLevelModule(sym)) + (((sym.rawflags & Flags.FINAL) != 0) || isTopLevelModule(sym)) && !sym.enclClass.isInterface && !sym.isClassConstructor && !sym.isMutable // lazy vals and vars both diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala index 11b0c40be7..930791d88d 100644 --- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala +++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala @@ -1960,7 +1960,7 @@ abstract class GenJVM extends SubComponent with GenJVMUtil with GenAndroid with // Nested objects won't receive ACC_FINAL in order to allow for their overriding. val finalFlag = ( - (sym.hasFlag(Flags.FINAL) || isTopLevelModule(sym)) + (((sym.rawflags & Flags.FINAL) != 0) || isTopLevelModule(sym)) && !sym.enclClass.isInterface && !sym.isClassConstructor && !sym.isMutable // lazy vals and vars both |