diff options
author | mihaylov <mihaylov@epfl.ch> | 2006-08-16 08:35:13 +0000 |
---|---|---|
committer | mihaylov <mihaylov@epfl.ch> | 2006-08-16 08:35:13 +0000 |
commit | ec74d7c7ece65e1025ccdc33d1ef9ca7f749904e (patch) | |
tree | 3e69d0fd3500c1394ca5b01d6ca43051ebf76146 /src | |
parent | 0cad3ffca732704883511261739f99256f0091bf (diff) | |
download | scala-ec74d7c7ece65e1025ccdc33d1ef9ca7f749904e.tar.gz scala-ec74d7c7ece65e1025ccdc33d1ef9ca7f749904e.tar.bz2 scala-ec74d7c7ece65e1025ccdc33d1ef9ca7f749904e.zip |
Improved the fix of bug #676 - only emit interf...
Improved the fix of bug #676 - only emit interface call if the target is Java annotation and not just arbitrary attribute
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala index 27e347c66e..614c5ad874 100644 --- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala +++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala @@ -702,7 +702,8 @@ abstract class GenJVM extends SubComponent { style match { case Dynamic => if (method.owner.hasFlag(Flags.INTERFACE) || - method.owner.isSubClass(definitions.AttributeClass)) + (method.owner.hasFlag(Flags.JAVA) && + method.owner.isSubClass(definitions.AttributeClass))) jcode.emitINVOKEINTERFACE(owner, javaName(method), javaType(method).asInstanceOf[JMethodType]) |