diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/opt/Inliners.scala | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala index 4fb8067840..9650dff7c3 100644 --- a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala +++ b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala @@ -139,9 +139,9 @@ abstract class Inliners extends SubComponent { } if (shouldLoadImplFor(concreteMethod, receiver)) - icodes.icode(receiver, true) + icodes.icode(concreteMethod.enclClass, true) - def isAvailable = icodes available receiver + def isAvailable = icodes available concreteMethod.enclClass def isCandidate = isClosureClass(receiver) || concreteMethod.isEffectivelyFinal || receiver.isFinal def isApply = concreteMethod.name == nme.apply def isCountable = !(isClosureClass(receiver) @@ -595,7 +595,8 @@ abstract class Inliners extends SubComponent { false } - + if (!canAccess(accessNeeded)) + println("access needed and failed: " + accessNeeded) canAccess(accessNeeded) && !isIllegalStack } |