From 2af532926bd4735c7f68b8e3305b39511e8ba7d3 Mon Sep 17 00:00:00 2001 From: Dmitry Petrashko Date: Thu, 30 Apr 2015 16:26:15 +0200 Subject: [PATCH 1/2] Fix #511. The fix will not be effective until we update scalac fork dependency. https://github.com/DarkDimius/scala/commit/9c054bd687bbbcaa75f3f10a1d343998c6c1a2ba As bug is minor I do not want to update scalac fork dependency just yet. --- src/dotty/tools/backend/jvm/DottyBackendInterface.scala | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala index 009b7fb2b9f7..385ce37d094b 100644 --- a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala +++ b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala @@ -733,6 +733,10 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{ def addRemoteRemoteExceptionAnnotation: Unit = () + + def samMethod(): Symbol = + toDenot(sym).info.membersBasedOnFlags(Flags.Deferred, Flags.EmptyFlags).flatMap(_.altsWith(_ is Flags.Method)). + headOption.getOrElse(toDenot(sym).info.member(nme.apply)).symbol } From cb999323b9e1cb2097a6257e01e32539678533b9 Mon Sep 17 00:00:00 2001 From: Dmitry Petrashko Date: Thu, 30 Apr 2015 16:52:49 +0200 Subject: [PATCH 2/2] Reuse Type.abstractTermMembers in DottyBackendInterface. --- src/dotty/tools/backend/jvm/DottyBackendInterface.scala | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala index 385ce37d094b..393b8014a43f 100644 --- a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala +++ b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala @@ -735,8 +735,7 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{ def addRemoteRemoteExceptionAnnotation: Unit = () def samMethod(): Symbol = - toDenot(sym).info.membersBasedOnFlags(Flags.Deferred, Flags.EmptyFlags).flatMap(_.altsWith(_ is Flags.Method)). - headOption.getOrElse(toDenot(sym).info.member(nme.apply)).symbol + toDenot(sym).info.abstractTermMembers.headOption.getOrElse(toDenot(sym).info.member(nme.apply)).symbol }