summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala4
1 files changed, 3 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 06106c6d03..5252699198 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -1484,10 +1484,12 @@ abstract class GenJVM extends SubComponent {
}
/** Calls to methods in 'sym' need invokeinterface? */
- def needsInterfaceCall(sym: Symbol): Boolean =
+ def needsInterfaceCall(sym: Symbol): Boolean = {
+ sym.info // needed so that the type is up to date (erasure may add lateINTERFACE to traits)
sym.hasFlag(Flags.INTERFACE) ||
(sym.hasFlag(Flags.JAVA) &&
sym.isNonBottomSubClass(definitions.ClassfileAnnotationClass))
+ }
def javaType(t: TypeKind): JType = (t: @unchecked) match {