diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2010-08-23 08:52:22 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2010-08-23 08:52:22 +0000 |
commit | 95e096797a4112e720d31cfbb7d59684c4f04c14 (patch) | |
tree | c8091c8387fefddd94723b109631fbf962076cf4 /src | |
parent | 32de7fe412dddd7be5f0580af0f23e8996b56db7 (diff) | |
download | scala-95e096797a4112e720d31cfbb7d59684c4f04c14.tar.gz scala-95e096797a4112e720d31cfbb7d59684c4f04c14.tar.bz2 scala-95e096797a4112e720d31cfbb7d59684c4f04c14.zip |
Finally look at the right place for inherited m...
Finally look at the right place for inherited methods that are
effectively final.
Diffstat (limited to 'src')
-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 } |