summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan@lightbend.com>2016-10-10 12:05:17 -0500
committerGitHub <noreply@github.com>2016-10-10 12:05:17 -0500
commitd7fe04993e10750c308e44b0fe563bcd3b0714ad (patch)
tree82151ad481ca720b17b29fbe15adf0b790c0d8f4 /src
parent876401bbe7071083325e33c902e94abd93b0b60b (diff)
parente794e513264373bc73b0b338cb1fef647984e26a (diff)
downloadscala-d7fe04993e10750c308e44b0fe563bcd3b0714ad.tar.gz
scala-d7fe04993e10750c308e44b0fe563bcd3b0714ad.tar.bz2
scala-d7fe04993e10750c308e44b0fe563bcd3b0714ad.zip
Merge pull request #5452 from lrytz/sd242
Fix the interface flag when re-writing a closure call to the body method
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/opt/ClosureOptimizer.scala3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/opt/ClosureOptimizer.scala b/src/compiler/scala/tools/nsc/backend/jvm/opt/ClosureOptimizer.scala
index 081830d61d..35ee5ba13d 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/opt/ClosureOptimizer.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/opt/ClosureOptimizer.scala
@@ -325,8 +325,7 @@ class ClosureOptimizer[BT <: BTypes](val btypes: BT) {
insns.insertBefore(invocation, new InsnNode(DUP))
INVOKESPECIAL
}
- val isInterface = bodyOpcode == INVOKEINTERFACE
- val bodyInvocation = new MethodInsnNode(bodyOpcode, lambdaBodyHandle.getOwner, lambdaBodyHandle.getName, lambdaBodyHandle.getDesc, isInterface)
+ val bodyInvocation = new MethodInsnNode(bodyOpcode, lambdaBodyHandle.getOwner, lambdaBodyHandle.getName, lambdaBodyHandle.getDesc, lambdaBodyHandle.isInterface)
ownerMethod.instructions.insertBefore(invocation, bodyInvocation)
val bodyReturnType = Type.getReturnType(lambdaBodyHandle.getDesc)