From 95e096797a4112e720d31cfbb7d59684c4f04c14 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Mon, 23 Aug 2010 08:52:22 +0000 Subject: Finally look at the right place for inherited m... Finally look at the right place for inherited methods that are effectively final. --- src/compiler/scala/tools/nsc/backend/opt/Inliners.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') 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 } -- cgit v1.2.3