diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala | 4 |
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 { |