summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2007-11-14 10:28:31 +0000
committerIulian Dragos <jaguarul@gmail.com>2007-11-14 10:28:31 +0000
commit4ca92ff83ca94a61b0bb512f515236bf363f93b5 (patch)
tree9bf73bf59a59671f37054a736a36082fb1b54118 /src/compiler
parentbd931b3fcf591c8b7e460f72ec058699b99ad4a1 (diff)
downloadscala-4ca92ff83ca94a61b0bb512f515236bf363f93b5.tar.gz
scala-4ca92ff83ca94a61b0bb512f515236bf363f93b5.tar.bz2
scala-4ca92ff83ca94a61b0bb512f515236bf363f93b5.zip
Fixed ticket #232
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index 0a56f4daa6..3bc8d6ad10 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -389,8 +389,12 @@ abstract class GenJVM extends SubComponent {
attributes = attributes | JAccessFlags.ACC_VOLATILE
case _ => ();
}}
+ var flags = javaFlags(f.symbol)
+ /* if (!f.symbol.hasFlag(Flags.MUTABLE))
+ flags = flags | JAccessFlags.ACC_FINAL
+ */
val jfield =
- jclass.addNewField(javaFlags(f.symbol) | attributes,
+ jclass.addNewField(flags | attributes,
javaName(f.symbol),
javaType(f.symbol.tpe));
@@ -421,9 +425,10 @@ abstract class GenJVM extends SubComponent {
javaTypes(m.params map (_.kind)),
javaNames(m.params map (_.sym)));
- if (m.symbol.hasFlag(Flags.BRIDGE))
+ if (m.symbol.hasFlag(Flags.BRIDGE) && settings.target.value == "jvm-1.4") {
jmethod.addAttribute(fjbgContext.JOtherAttribute(jclass, jmethod, "Bridge",
new Array[Byte](0)))
+ }
if (remoteClass ||
(m.symbol.hasAttribute(RemoteAttr) && jmethod.isPublic() && !forCLDC)) {
val ainfo = AnnotationInfo(ThrowsAttr.tpe, List(new AnnotationArgument(Constant(RemoteException))), List())
@@ -1363,6 +1368,8 @@ abstract class GenJVM extends SubComponent {
&& !sym.isClassConstructor) ACC_FINAL else 0)
jf = jf | (if (isStaticSymbol(sym)) ACC_STATIC else 0)
jf = jf | (if (sym hasFlag Flags.ACCESSOR) ACC_SYNTHETIC else 0)
+ if (settings.target.value == "jvm-1.5")
+ jf = jf | (if (sym hasFlag Flags.BRIDGE) ACC_BRIDGE else 0)
jf
}