summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-03-07 13:04:45 -0800
committerPaul Phillips <paulp@improving.org>2012-03-07 13:09:15 -0800
commit02fb34822b599043b5707c78addc63dcd1c947cf (patch)
tree2be9b622285a0e179b1a5138076f43e347dae2b2 /src
parentf2ffc5be3487ca5dc331f754897f0e9b84eeb72c (diff)
downloadscala-02fb34822b599043b5707c78addc63dcd1c947cf.tar.gz
scala-02fb34822b599043b5707c78addc63dcd1c947cf.tar.bz2
scala-02fb34822b599043b5707c78addc63dcd1c947cf.zip
Fix for public final fields.
References SI-3569. Probably needs refinement.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index 387b7fb3d7..b3f085a934 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -824,6 +824,7 @@ abstract class GenJVM extends SubComponent with GenJVMUtil with GenAndroid with
def genField(f: IField) {
debuglog("Adding field: " + f.symbol.fullName)
+
val jfield = jclass.addNewField(
javaFlags(f.symbol) | javaFieldFlags(f.symbol),
javaName(f.symbol),
@@ -1904,6 +1905,7 @@ abstract class GenJVM extends SubComponent with GenJVMUtil with GenAndroid with
((sym.rawflags & (Flags.FINAL | Flags.MODULE)) != 0)
&& !sym.enclClass.isInterface
&& !sym.isClassConstructor
+ && (sym.isLazy || sym.getter.isPrivate || !sym.isMutable) // fix for SI-3569, is it sufficient?
)
mkFlags(